Кластер Ubuntu - так близко, но так далеко
Вот установка:
- Два сервера Ubuntu 9.10 - среда LAMP (на самом деле не вариант для переключения ОС)
- Один MD3000i с подключением iscsi
Вот что я хотел бы сделать:
- Пусть оба сервера увидят файлы, которые другой записывает на MD3000i, не отключая диск. Мои соединения в порядке с MD3000i (используя open-iscsi). MD3000i великолепен практически во всех нужных мне случаях, кроме одного, перечисленного ниже.
Вот что я не хочу делать (по причинам, в которые я не собираюсь идти - уже шел по этой дороге):
- Используйте NFS монтирует
Пример:
Server1.com и Server2.com записывают на один и тот же диск MD3000i. Папка, в которую они оба смонтированы, помечена как / mnt / files /. Они оба распознают размер раздела правильно.
Затем Server1.com записывает test1.1.txt в / mnt / files, а Server2.com записывает test1.2.txt в / mnt / files. В этой ситуации файлы записываются во время соединений ssh непосредственно на сервер. Server1.com не видит test1.2.txt без перемонтирования. Server2.com не видит test1.1.txt без перемонтирования.
Как ни странно, если я записываю файлы с сервера apache через PHP и файл имеет уникальное имя, оба сервера видят его! Но если имя не уникально, у меня возникает ошибка ввода-вывода (не удивительно).
Я знаком с gfs, gfs2 и ocfs2, но далеко не компетентен. Я пробовал различные способы форматирования диска и его монтажа. Кажется, что я просто не могу получить правильный рецепт.
Вопрос:
Каковы ваши предложения? Я пробовал много разных способов установить то, во что я был убежден - это Святой Грааль - кластеризация - без реального успеха. Я знаю, что не работает. Мог бы действительно использовать импульс от некоторых полезных советов.
2 ответа
Краткий ответ: GlusterFS
Длинный ответ: Я установил систему с DRDB, которая, на мой взгляд, была бы идеальным решением, поскольку она хорошо документирована, и можно найти множество примеров использования LAMP на ней.
Но это не идеальное решение, поскольку файловая система монтируется только на одном устройстве за раз, и вам приходится обрабатывать множество служб, запускающихся и т. Д., Когда одна машина переключается на другую. И это только для двух машин.
Сегодня я создал тестовый кластер glusterfs из двух виртуальных машин Ubuntu Lucid Lynx в virtualbox, и он не только смехотворно прост в настройке, все, что вам нужно, находится в репозиториях.
Из моих тестов пока, похоже, все, что я хочу.
Это немного похоже на двухстороннюю (или на самом деле многоканальную) НФС. Вы можете иметь столько узлов, сколько вам нужно, и файловая система обрабатывает блокировки и т.д., поэтому не обращайте внимания на комментарий "Это плохая идея, как если бы две параллельные установки Windows обращались к одному и тому же диску NTFS...", потому что это это далеко от курса.
Убедитесь, что вы понимаете сервер - клиентский аспект! Я пропустил точку монтирования FUSE, пока не подумал о блокировке файла.
Я еще не тестировал его под большой нагрузкой MySQL, но пока что впечатлен. Мой поиск в Интернете нашел очень мало, чтобы предположить, что GlusterFS подходит для этой работы, поэтому меня тоже успокаивает комментарий Тома О'Коннера.
Если я найду более актуальную информацию завтра, я отправлю обратно.
Хорошо... вы исключили NFS. что-то похожее может быть AFS.
Или вы также можете попробовать sshfs.
Я не знаю, решают ли они ваши проблемы, но им хорошо иметь в виду:>