Показаны сообщения с ярлыком drbd. Показать все сообщения
Показаны сообщения с ярлыком drbd. Показать все сообщения

четверг, 12 декабря 2013 г.

Расширение диска DRBD

DRBD-устройство может менять свои размеры. Это возможно в том случае, если меняют размер (как правило, расширяются) устройства на которых базируется DRBD. Когда DRBD работает поверх логических томов LVM, желание расширение DRBD-устройства выглядит весьма естественно, поскольку изменение размеров LVM-томов является вполне простой и часто использующейся операцией; хочется, чтобы то, что работает поверх логического тома LVM, могло отреагировать на изменение размеров.
Расширение DRBD-устройства и файловой системы, находящейся на нём, состоит из следующих шагов:
  1. Расширение логического тома, на котором базируется DRBD-устройство на обоих узлах;
  2. Отражение изменений в метадиске;
  3. Перезагрузка домена Xen, использующего это устройство;
  4. Расширение файловой системы на primary-устройстве;
  5. Проверка правильности выполнения.
Например, пусть:
  • хост называются primary и secondary;
  • с помощью DRBD синхронизируется логический том /dev/TURBO/lv0;
  • размер тома увеличивается на 2G;
  • на томе создана файловая система ext2/ext3;
Все указанные параметры являются необязательными и приведены для удобства повествования.
1) Измените размер тома на обоих машинах.
primary# lvresize -L +2048M /dev/TURBO/lv0
secondary# lvresize -L +2048M /dev/TURBO/lv0
2) Вызовите команду перестроения размера DRBD-устройства на обоих машинах:
primary# drbdadm resize all  #(вместо all может быть указан только интересующий диск)
secondary# drbdadm resize all




P.S. После этого необходимо расширить существующую файловую систему на новообразовавшееся место - например загрузиться  с live-cd ubuntu и запустить утилиту gparted

Xen over DRBD over LVM (+Heartbeat) Cluster - переход на Squeeze


  1. Base 'squeeze' system installation
  2. aptitude install mc openssh-server sudo
  3. aptitude install firmware-bnx2 firmware-qlogic
  4. aptitude install xen-linux-system-2.6.32-5-xen-amd64
  5. aptitude install xen-qemu-dm
  6. xend-config.sxp должен выглядеть как то так:
  • (loglevel DEBUG)
  • (xend-relocation-server yes)
  • (xend-relocation-port 8002)
  • (xend-relocation-address '')
  • (network-script 'network-bridge netdev=eth4')
  • (vif-script vif-bridge)

  1. Изменить загрузку по умолчанию
  • grep menuentry /boot/grub/grub.cfg
  • cat /etc/default/grub | grep 'GRUB_DEFAULT='
  • sudo sed 's/GRUB_DEFAULT="текущее значение"/GRUB_DEFAULT="новое значение"/g' -i /etc/default/grub
  • sudo update-grub
  1. Превратить узел в puppet
  • aptitude install puppet
  • sudo sed 's/START=no/START=yes/g' -i /etc/default/puppet

  1. Создать агрегированный интерфейс
  • aptitude install ifenslave
  • echo "bonding" >> /etc/modules
  • Опишем агрегированный интерфейс в файле /etc/network/interfaces
    • auto bond0
    • iface bond0 inet static
    • address 10.0.0.2
    • netmask 255.0.0.0
    • up /sbin/ifenslave bond0 eth0 eth1 eth2 eth3
  1. Настроим беспарольный доступ узлов кластера друг к другу по протоколу SSH на основе открытых ключей (узел кластера должен иметь возможность исполнять команды от лица root на другом узле — это нужно для успешной работы службы heartbeat)
    Генерируем ключ и передаем его на второй узел:
    clu-servd1:~# ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    58:ac:4f:e3:7b:39:07:81:38:ca:06:e5:e3:c8:a7:61 root@clu-servd1
    The key's randomart image is:
    +--[ RSA 2048]----+
    |            |
    | . .        |
    | o .o.        |
    | . o o+. .      |
    | . = oo.S . |
    | E * + ..        |
    |.= o o |
    | .     .+ . |
    |      .. o |
    +-----------------+
    clu-servd1:~#
    clu-servd1:~#
    clu-servd1:~# ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.2
    The authenticity of host '10.0.0.2 (10.0.0.2)' can't be established.
    RSA key fingerprint is f7:39:d9:d6:42:d8:23:85:aa:3f:5c:72:00:dd:4c:35.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '10.0.0.2' (RSA) to the list of known hosts.
    root@10.0.0.2's password:
    Now try logging into the machine, with "ssh 'root@10.0.0.2'", and check in:
      .ssh/authorized_keys
    to make sure we haven't added extra keys that you weren't expecting.
    Аналогично на втором узле.
    Проверить в обе стороны.

  1. Добавить в автозагрузку модули ядра для подсистемы DRBD
  • echo "drbd" >> /etc/modules
  • aptitude install drbd8-utils
  • с помощью механизма puppet установим /etc/drbd.conf
  1. Виртуальные домены
  • mkdir /etc/xen/config
  • Установим файлы виртуальных доменов с помощью puppet
  1. Heartbeat
  • aptitude install heartbeat
  • Установить конфиги heartbeat с помощью puppet
  • Не работает !!!

  1. dom0_mem=512M - скрипт !!!!!!!!
  2. echo "options drbd disable_sendpage=1" > /etc/modprobe.d/drbd.conf
  3. aptitude install ethtool
  4. Итак, внесем в автозагрузку
# vi /etc/rc.local
ethtool --offload ethN tso off gso off sg off tx off
ethtool --offload ethN rx off
ethtool --offload ethN gso off

ethN - повторить для всех интерфейсов
  1. aptitude install ifstat

P.S. up 117 days

Скрипты puppet для развертывания отказоустойчивого кластера XEN over DRBD over LVM (+Heartbeat) на базе ОС Linux Debian 5.04 (lenny).



Резервное копирование LVM XEN DomU

Итак, необходимо создать резервную копию гостевой ОС (в нашем случае win2003).

Рисунок 1. Исходная схема раскладки LVM XEN DomU


Мы хотим создавать резервные копии не останавливая гостевую систему. Для этого воспользуемся механизмом "снепшотов".