1 (23.12.2012 23:32:18 отредактировано Cruiser78)

Привет всем!

Тренирую второй уже день такую конфигурацию кластера:
1. Две ноды под управлением RFR-17 (со всеми последними патчами).
2. На них разворачиваем последние версии pacemaker и corosync с репов их официального сайта (clusterlabs.org) и настаиваем кластер по типовой схеме, описаной в http://clusterlabs.org/doc/en-US/Pacema … index.html.
3. Поднимаем сетевой интерфейс, проверяем его миграцию - мигрирует.
4. Поднимаем drbd (из репов RFR-17 - version: 8.3.13) в режиме Primary/Secondary (так хочу). Проверяем миграцию - работает.
5. Начинается засада. Просто так drbd-том мне не нужен. На нём должна жить самба. Ставим её из репов RFR-17. Делаем простенький тестовый сервер средствами system-config-samba (чтобы голову не ломать) с единственной шарой, которая размещена на drbd-томе. Итак, если smb не стартовать, то pacemaker работает как доктор прописал, перекидывает ресурсы между нодами беспроблемно. Но если сделать systemctl start smb.service, стартовать самбу, а затем, даже ничего не делая, её остановить, то pacemaker тупо зависает при попытке перекинуть Primary-раздел drbd-тома на резервную ноду.  В message идут сообщения,
что  "kernel: [ 1005.991189] block drbd0: State change failed: Device is held open by someone" и так далее...
Кто его еще открывает и держит это открытие? Понять не могу где собака зарылась....

Наведите на мысль, как обеспечить полноценную работоспособность...

=========================================

Проблему решил. Точнее - нашел, как на граблю DRBD Device is held open by someone не наступать.
В гугле достаточно много народу на эту тему постанывает (на любых осях), мучается с HeartBeat'ом, но решения там не видно. 
Итак, как гарантированно воспроизвести граблю:
1. Берем любую ось.
2. Разворачиваем любой DRBD.
3 Делаем на томе DRBD файловую систему ext4
4. Монтируем drbd-том куда хотим.
5. Работаем на нём.
6. Размонтируем том и не имеем описанной проблемы...
Но, ты суслика не видишь, а он есть.
Усложняем опыт.
7. Монтируем drbd-том
8. Старуем самбу, которая его расшаривает. Ничего больше не делаем.
9. Останавливаем самбу.
10 НЕ МОЖЕМ ОСТАНОВИТЬ DRBD-ТОМ. ПРИПЛЫЛИ.

Важен выделенный жирным пункт 3. Засада во взаимодействии samba c ext4. Если DRBD-том отформатировать в ext3 (в иное не пробовал) то суслик прячется в своей глубокой норке и сидит там не высовываясь. И совершенно не мешает pacemaker'у управлять своими ресурсами.

Видимо, что то самба версии 3.6.9 (проверял на той, что в RFR 17) что то говорит в ext4 при своем старте, но ничего не говорит при своем стопе. Соответственно, ext4 возбуждается при старте самбы и продолжает держать что-то свое открытым на drbd-томе, даже когда она завершит свою работу... Ну, DRBD-том не может закрыться.

Кстати, говорят, что ext4 может потерять данные если несколько раз быстро её смонтировать/размонтировать... Есть там какой-то баг. У меня - возможно одно из его проявлений.

Такие вот выходныу у меня были...