Ganeti: различия между версиями
Vitty (обсуждение | вклад) |
Vitty (обсуждение | вклад) |
||
Строка 40: | Строка 40: | ||
*Виртуальные машины создаются с помощью [[Hasher]] | *Виртуальные машины создаются с помощью [[Hasher]] | ||
*Подключите '''локальный''' репозиторий в системных source-листах или пользователю gntinstancer (конфиг hasher). | *Подключите '''локальный''' репозиторий в системных source-листах или пользователю gntinstancer (конфиг hasher). | ||
* | *Создаём новую виртуальную машину ''gnt-instance add -n test1 -t plain --disk 0:size=4g -B memory=512 -o altbootstrap+kvm testvm01'' (testvm01 должен резолвится в DNS) | ||
*В случае проблем читаем логи в /var/log/ganeti/os/ на той машине, где создавалась виртуальная | |||
== Как управлять виртуальными машинами? == | == Как управлять виртуальными машинами? == |
Версия от 13:41, 4 августа 2010
Что это и для чего оно нужно?
Ganeti - система управления виртуальными машинами на кластере физических. Upstream - Google (http://code.google.com/p/ganeti/).
Какие возможности управления есть в настоящий момент?
- Гипервизоры - Xen и KVM
- Дисковые разделы - файлы, LVM или DRBD-устройства
- Централизованное (из единой точки для всего кластера) создание/удаление/миграция виртуальных машин.
- Создание "пустых" виртуальных машин из пакетов репозитория (ganeti-instance-altbootstrap)
Как установить новый кластер?
Основная документация ganeti 2.0 по установке - http://ganeti-doc.googlecode.com/svn/ganeti-2.0/install.html
- В кластере хорошо бы иметь 3 физические машины
- На всех машинах кластера должно быть
- Bridge на интерфейс с одинаковым для всех именем (пример - breth0)
- LVM с одинаковым для всех именем (пример - local)
- Настроенная система виртуализации. Для kvm это ядро+модули+qemu-kvm, для xen - гипервизор+ядро+юзерспейс(xen,xen-runtime,xen-hypervisor)
- На все машины кластера нужно установить пакеты ganeti и ganeti-initrd-generator (В настоящий момент есть только в Sisyphus)
- Обеспечьте разрешение имён (всех машин со всех). Если возводить DNS-сервер не хочется - создайте записи во всех /etc/hosts
- Для кластеры выделите отдельный IP-address (который должен резолвится в имя кластера, к примеру:
- Машины кластера test1 - 192.168.1.2, test2 - 192.168.1.3, test3 - 192.168.1.4
- Выделяем ip для кластера testcluster - 192.168.1.5 (и прописываем его в DNS или /etc/hosts всех машин кластера)
- Инициализируем кластер. На мастер-ноде говорим gnt-cluster init -g local --master-netdev breth0 testcluster
- Задаём способ подключения VM к сети gnt-cluster modify -N "link=breth0"
- Задаём используемую систему виртуализации.
- Для kvm предварительно выполняем ganeti-initrd-generator на всех узлах кластера
- Для kvm gnt-cluster modify --enabled-hypervisors=kvm --hypervisor-parameters "kvm:kernel_path=/boot/vmlinuz"
- Для xen gnt-cluster modify --enabled-hypervisors=xen-pvm
Как ввести физические машины в кластер?
- С мастер-ноды нужно выполнить (для узла test1) gnt-node add test1
- Т.к. в ALT ходить под рутом по паролю нельзя, нужно сгенерить ключ на мастер-ноде (ssh-keygen) и положить его публичную часть на всех нодах в /root/.ssh/authorized_keys. Можно так не делать, а воспользоваться ssh-агентом (разложив публичную часть своего собственного ключа и использую ssh -A).
Как создавать виртуальные машины?
- Для создания машин из пакотов ALT есть пакет ganeti-instance-altbootstrap. Установите его на всех машинах кластера.
- Виртуальные машины создаются с помощью Hasher
- Подключите локальный репозиторий в системных source-листах или пользователю gntinstancer (конфиг hasher).
- Создаём новую виртуальную машину gnt-instance add -n test1 -t plain --disk 0:size=4g -B memory=512 -o altbootstrap+kvm testvm01 (testvm01 должен резолвится в DNS)
- В случае проблем читаем логи в /var/log/ganeti/os/ на той машине, где создавалась виртуальная
Как управлять виртуальными машинами?
TODO пакетов в Sisyphus
Для работы drbd требуется указать параметры модуля drbd: usermode_helper=/bin/true а также загрузить модуль drbd. К примеру, достаточно следующей записи в /etc/modules:
drbd usermode_helper=/bin/true