Управление кластерами · 4 min read · Dec 09, 2025
Управление кластером Xen с помощью Ganeti на Debian Etch
Управление кластером Xen с помощью Ganeti на Debian Etch
Версия 1.0
Автор: Фалко Тимме
Ganeti — это система управления виртуализацией кластера на основе Xen. В этом руководстве я объясню, как создать одну виртуальную Xen машину (называемую экземпляром) на кластере из двух физических узлов и как управлять и переключать этот экземпляр между двумя физическими узлами.
Этот документ предоставляется без каких-либо гарантий! Я не даю никаких гарантий, что это будет работать для вас!
[Обновление 21.01.2010] Я получил сообщение от команды разработчиков Ganeti:
“ […] В последние месяцы мы заметили печальный факт, что люди пытаются следовать вашим инструкциям дословно и в итоге устанавливают старые или очень старые версии Ganeti. Не могли бы вы обновить оба руководства с примечаниями, указывающими на то, что они не обновлены для более новых версий Ganeti, и попросить людей ознакомиться с актуальной документацией на http://docs.ganeti.org/ganeti/? “
Это руководство основано на старой версии Ganeti. Пожалуйста, обратитесь к актуальной документации на http://docs.ganeti.org/ganeti/.
1 Предварительная заметка
Ganeti все еще находится на ранней стадии. В данный момент его можно установить на узлы Debian Etch, и вы можете создавать виртуальные машины с его помощью, которые также используют Debian Etch. Другие дистрибутивы Linux теоретически тоже должны работать, но документации пока нет.
В этом руководстве я буду использовать физические узлы node1.example.com и node2.example.com:
- node1.example.com: IP-адрес 192.168.0.100; будет мастером кластера.
- node2.example.com: IP-адрес 192.168.0.101; будет основным узлом виртуальной машины (также известной как экземпляр).
Оба имеют жесткий диск на 50 ГБ, из которых я использую 10 ГБ для раздела /, 1 ГБ для swap и оставляю остальное неразмеченным, чтобы оно могло использоваться Ganeti (минимум 20 ГБ!). Конечно, вы можете изменить разметку по своему усмотрению, но помните о минимальном неиспользуемом пространстве.
Кластер, который я собираюсь создать, будет называться cluster1.example.com, и у него также будет IP-адрес 192.168.0.100.
Виртуальная машина Xen (называемая экземпляром в терминах Ganeti) будет называться inst1.example.com с IP-адресом 192.168.0.105. inst1.example.com будет зеркалироваться между двумя физическими узлами с использованием DRBD - вы можете рассматривать это как своего рода сетевой RAID1.
Как вы видите, node1.example.com будет мастером кластера, т.е. машиной, с которой вы можете контролировать и управлять кластером, а node2.example.com будет основным узлом inst1.example.com, т.е. inst1.example.com будет работать на node2.example.com (все изменения на inst1.example.com будут зеркалироваться обратно на node1.example.com с помощью DRBD) до тех пор, пока вы не переключите его на node1.example.com (например, если вы хотите отключить node2.example.com для обслуживания). Это активная-пассивная конфигурация.
Я считаю хорошей практикой разделить роли между двумя узлами, чтобы вы не потеряли мастера кластера и основной узел одновременно, если один из узлов выйдет из строя.
В моих тестах я использовал две системы с 204 МБ ОЗУ каждая для node1 и node2. Это довольно мало, и вам следует использовать значительно больше ОЗУ, особенно на производственных системах. Для моих тестов это было нормально. Из-за низкого объема ОЗУ я ограничил свои Xen dom0 (node1 и node2) до 64 МБ ОЗУ. Руководство по установке Ganeti говорит, что 512 МБ - это разумно - я думаю, что 256 МБ тоже должно работать. В любом случае, ваша система должна иметь больше ОЗУ, чем вы указываете для dom0, чтобы достаточно ОЗУ оставалось для виртуальной машины(ей).
Последнее, что стоит отметить, это то, что все упомянутые здесь имена хостов должны быть разрешимы для всех хостов, что означает, что они должны либо существовать в DNS, либо вы должны поместить все имена хостов во все файлы /etc/hosts на всех хостах (что я и сделаю здесь).
Хорошо, давайте начнем…
2 Установка базовой системы Debian на физических узлах
Настройте минимальные системы Debian Etch на обоих узлах node1 и node2:
node1/node2:
Вставьте ваш CD с установкой Debian Etch в систему и загрузитесь с него. Нажмите ENTER для загрузки:

Установка начинается, и сначала вам нужно выбрать язык:

Затем выберите ваше местоположение:


Выберите раскладку клавиатуры:

Установщик проверяет установочный CD, ваше оборудование и настраивает сеть с помощью DHCP, если в сети есть DHCP-сервер:

Введите имя хоста. Для node1.example.com введите node1, для node2.example.com введите node2:

Введите ваше доменное имя. В этом примере это example.com:

Теперь нам нужно разделить жесткий диск. Как указано в главе 1, я хочу 10 ГБ для раздела /, 1 ГБ для swap-раздела и оставить остальное неразмеченным. Выберите Ручной метод разметки:

Выберите жесткий диск:

Выберите Да, когда вас спросят, создать новую пустую таблицу разделов на этом устройстве?:

Выберите свободное пространство на жестком диске:

Выберите Создать новый раздел:

Введите 10 ГБ в качестве размера раздела (или любой другой размер, который вы хотите для раздела /):

Выберите Основной в качестве типа раздела:

Выберите Начало:

Убедитесь, что вы установили флаг Загрузочный в положение включено, затем выберите Завершить настройку раздела:

Раздел / теперь настроен. Теперь давайте создадим swap-раздел. Снова выберите свободное пространство:

Снова выберите Создать новый раздел:

Введите 1 ГБ в качестве размера раздела (или любой другой размер, который вы хотите для swap-раздела):

Выберите Основной:

Выберите Начало:

Затем перейдите к строке Использовать как: и нажмите ENTER:

Выберите область подкачки:

После этого выберите Завершить настройку раздела:

После этого выберите Завершить разметку и записать изменения на диск (убедитесь, что у вас есть как минимум 20 ГБ неразмеченного дискового пространства):

Выберите Да, когда вас спросят, записать изменения на диски?:

После этого ваши новые разделы создаются и форматируются:

Get new posts in your inbox
No spam. Unsubscribe anytime.