Понадобилось мне внезапно настроить экпортирование данных с сервера в сеть. NFS себя не оправдал в этой ситуации. Следующим пришел в голову экспорт при помощи GEOM_GATE,
вот о нем-то и пойдет речь. Итак, настраиваем прямой доступ к устройствам удаленного сервера.
На сервере
1. Загрузка модуля ядра (если ядро не содержит вкомпилированного кода)
подгружаем единожды:
ax2m-work# kldload geom_gate.ko |
подгружаем всегда:
ax2m-work# echo ‘geom_gate_load=»YES»‘ >> /boot/loader.conf |
засовываем в ядро:
ax2m-work# echo ‘options GEOM_GATE’ >> /sys/YOUR_ARCHITECTURE/conf/YOUR_KERNEL_CONFIG ax2m-work# make kernel ax2m-work# reboot |
2. Конфигурация экспортируемых устройств хранится в файле /etc/gg.exports
пример содержимого конфигурации:
192.168.1.0/24 RW /dev/ad0s1d |
устройство /dev/ad0s1d (раздел /tmp на моей машине) мы экспортируем всем клиентам
в сети 192.168.1.0/24 с правами на чтение.
Экспортировать можно как разделы, так и устройства целиком.
3. Запуск демона (нужен в случае подгруженного модуля)
ax2m-work# ggated -v info: Reading exports file (/etc/gg.exports). debug: Added 192.168.1.0/24 /dev/ad0s1d RO to exports list. info: Exporting 1 object(s). info: Listen on port: 3080. |
-v verbose, необязательный ключ, но в первый раз лучше с ним запустить,
во избежание непоняток 🙂
На клиенте
1. Создание локального файла устройства и связывание его с устройством на сервере
(IP адрес машины с запущенным сервером 192.168.1.65):
fs# ggatec create -o ro 192.168.1.65 /dev/ad0s1d ggate0 |
ggate0 — ответ при успешном создании устройства
2. Монтируем устройство
fs# mkdir /mnt/tmp_export fs# mount /dev/ggate0 /mnt/tmp_export/ |
3. Проверяем «чёкак»
fs# mount … … /dev/ggate0 on /mnt/tmp_export (ufs, local, soft-updates) … |
4. Идентификация импортируемых устройств
fs# ggatec list -v NAME: ggate0 info: 192.168.1.65:3080 /dev/ad0s1d access: read-only timeout: 0 queue_count: 0 queue_size: 1024 references: 2 mediasize: 5368709120 (5.0G) sectorsize: 512 mode: r1w1e1 |
5. Восстановление geom_gate (при перезагрузке сервера, например)
% ggatec rescue -o ro -u 0 192.168.1.65 /dev/ad0s1d |
где 0 — номер устройства ggate, связь с которым временно прервалась.
На клиенте:
% umount /mnt/tmp_export % ggatec destroy -u 0 |
где 0 — номер устройства ggate.
На сервере:
% pkill ggated |
creatiff Firmware FreeBSD gadgets Linux mobile phone MySQL nginx OpenSources ports Rulez!!! security sysadmin tools system utilites sysutils tweaks Windows www Аренда ВЕО Видео Вынос мозга Жизнь Игры Кино Концерты Лицензии Лорд МТС Политика Путешествия Реестр Семья Токарево Юмор интернет мудаки музыка пиздец питомцы работа реклама скрипты стихи шок
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.