Том Ubuntu 12.04 glusterfs не удалось подключить во время загрузки
Я только что настроил 7 гостей KVM, все из которых работают на минимальном сервере Ubuntu 12.04 LTS 64bit для тестирования glusterfs 3.2.5 из официального репозитория Ubuntu. Два из них образуют зеркальную пару (т.е. replica 2
), и пятеро из них являются клиентами. Я все еще новичок в этой файловой системе и хотел бы получить некоторый "практический" опыт.
Настройка была в основном без происшествий, пока я не вставил следующее в каждый glusterfs
клиента /etc/fstab
:
192.168.122.120:/testvol /var/local/testvol glusterfs defaults,_netdev 0 0
, где 192.168.122.120
IP-адрес первого "сервера glusterfs"
Если я выпущу либо мануал mountall
или mount.glusterfs 192.168.122.120:/testvol /var/local/testvol
на CLI, а mount
показывает, что том успешно импортирован. Но как только клиент перезагружается, после его восстановления том не подключается!
Я искал в Интернете и нашел эту статью, но поскольку я не работаю и на клиенте, и на сервере на одном и том же узле, IMHO, это не совсем применимо.
Итак, в качестве хитрого "обхода", я положил в sleep 3 && mount.glusterfs 192.168.122.120:/testvol /var/local/testvol
в каждый клиентский узел /etc/rc.local
, Насколько я могу судить, похоже, что можно смонтировать том на каждом узле.
Но это довольно уродливо, и я был бы признателен за подсказку о том, как правильно решить эту проблему glusterfs-non-boot-time-mount.
Обратите внимание, что я использовал IP-адрес первого "сервера glusterfs", хотя /etc/hosts
из всех узлов были заполнены их имена хостов. Я понял, что использование IP-адреса более надежно.
--Zack
2 ответа
Потенциальным решением может быть добавление большего количества nobootwait и direct-io-mode в fstab, попробуйте что-то вроде этого:
serverip:/vol mountpoint glusterfs defaults,nobootwait,_netdev,direct-io-mode=disable 0 0
Также проверьте ваш /etc/init/mounting-glusterfs.conf и добавьте:
exec start wait-for-state WAIT_FOR=networking WAITER=mounting-glusterfs-$MOUNTPOINT
Надеюсь, это поможет, поскольку в прошлом я сталкивался с подобной проблемой и решил ее с помощью вышеуказанных комбинаций / конфигураций.
Интересно, может ли добавление некоторых записей в ваш fstab помочь вам получить немного больше информации? См. Параметры конфигурации fstab в руководстве администратора: http://www.gluster.org/wp-content/uploads/2012/05/Gluster_File_System-3.3.0-Administration_Guide-en-US.pdf
6.1.2.2. Автоматическое монтирование томов Для автоматического монтирования тома Gluster • Чтобы смонтировать том, отредактируйте файл /etc/fstab и добавьте
следующая строка:
HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR glusterfs defaults,_netdev 0 0
Например:
server1:/test-volume /mnt/glusterfs glusterfs defaults,_netdev 0 0
Варианты монтажа
При использовании команды mount -t glusterfs вы можете указать следующие параметры. Обратите внимание, что вам нужно разделить все параметры запятыми.
- backupvolfile-сервер = имя-сервера
- fetch-попытки =N (где N - количество попыток)
- log-level = loglevel log-file = logfile
- прямой IO режим =[включить | отключить]
- ro (для монтирования только для чтения) acl (для включения posix-ACL)
- червь (делает монтирование WORM - один раз напиши, читай много)
- selinux (включить selinux при монтировании GlusterFS
Например:
mount -t glusterfs -o backupvolfile-server=volfile_server2,fetchattempts=2,log-level=WARNING,log-file=/var/log/gluster.log server1:/testvolume /mnt/glusterfs
Я склонен думать, что использование IP-адресов вместо имен проще и надежнее.