Ставим Proxmox на программный RAID Печать
18.01.13 18:05

Proxmox Виртуальная среда является простым в использовании Открытая платформа виртуализации источника для запуска виртуальных устройств и виртуальных машин. Proxmox официально не поддерживает программный RAID, но я нашел программное обеспечение рейда, чтобы быть очень стабильным, а в некоторых случаях повезло больше, чем с аппаратным RAID.
Я не даю никаких гарантий, что это будет работать для Вас!

Обзор
Первая установка Proxmox V2 обычным способом с CD скачать с Proxmox. Далее мы создаем массив RAID 1 на второй жесткий диск и перенести Proxmox установить его.
Затем мы корректируем настройки Grub так он будет загружаться с новой установки.

Кредиты
Эти следующие учебники, что я использовал:

специальные большое спасибо к Фалько из HowtoForge как много этого материала использованы повторно его, как. http://www.howtoforge.com/linux_lvm

Установка Proxmox
установки Proxmox из последних загруженных CD с Proxmox http://www.proxmox.com/downloads/proxmox-ve/17-iso-images
Если вы хотите ext4 тип тип установки этого в приглашении загрузчика:
linux ext4
Инструкция по установке здесь: http://pve.proxmox.com/wiki/Quick_installation
следующем входе с SSH и выполните команду:

apt-get update

apt-get upgrade

Установка Raid
Примечание:Это руководство предполагает, что Proxmox установлен /dev/sda и запасной диск /dev/sdb. Используйте следующую команду для просмотра текущей разделов:

fdisk -l

Вывод должен выглядеть следующим образом:

root@proxmox:/# fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0009f7a7

Device Boot Start End Blocks Id System

/dev/sda1 * 1 66 523264 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 66 121602 976237568 8e Linux LVM

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00078af8

Device Boot Start End Blocks Id System
Существует еще здесь, но мы только с первых двух дисков, на данный момент. Мы видим, что /dev/sda имеет Proxmox установки и /dev/sdb не имеет разделов.
Сначала установите программное обеспечение рейда ака mdraid:

apt-get install mdadm

В окне настроек выбрать пакет хорошо то все .
Далее мы начинаем модули ядра с Modprobe:

modprobe linear

modprobe raid0

modprobe raid1

modprobe raid5

modprobe raid6

modprobe raid10

Теперь запустите:

cat /proc/mdstat

Вывод должен выглядеть следующим образом:

root@proxmox:~# cat /proc/mdstat

Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]

unused devices:

root@proxmox:~#
Теперь нам нужно скопировать таблицу разделов ПДД в СКБ:

sfdisk -d /dev/sda | sfdisk --force /dev/sdb

Вывод должен быть:

root@proxmox:/# sfdisk -d /dev/sda | sfdisk --force /dev/sdb

Checking that no-one is using this disk right now ...

OK

Disk /dev/sdb: 121601 cylinders, 255 heads, 63 sectors/track

Old situation:

Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start End #cyls #blocks Id System

/dev/sdb1 0 - 0 0 0 Empty

/dev/sdb2 0 - 0 0 0 Empty

/dev/sdb3 0 - 0 0 0 Empty

/dev/sdb4 0 - 0 0 0 Empty

New situation:

Units = sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System

/dev/sdb1 * 2048 1048575 1046528 83 Linux

/dev/sdb2 1048576 1953523711 1952475136 8e Linux LVM

/dev/sdb3 0 - 0 0 Empty

/dev/sdb4 0 - 0 0 Empty

Warning: partition 1 does not end at a cylinder boundary

Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)

to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1

(See fdisk(8).)

root@vmh:/# root@vmh:/# sfdisk -d /dev/sda | sfdisk --force /dev/sdb

-bash: root@vmh:/#: No such file or directory

Checking that no-one is using this disk right now ...

OK

Disk /dev/sdb: 121601 cylinders, 255 heads, 63 sectors/track

Old situation:

Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0


Device Boot Start End #cyls #blocks Id System

/dev/sdb1 * 0+ 65- 66- 523264 83 Linux

/dev/sdb2 65+ 121601- 121536- 976237568 8e Linux LVM

/dev/sdb3 0 - 0 0 0 Empty

/dev/sdb4 0 - 0 0 0 Empty

New situation:

No partitions found


sfdisk: no partition table present.
Теперь нам нужно изменить типы разделов в Linux RAID автоопределение:

fdisk /dev/sdb

root@proxmox:/# fdisk /dev/sdb


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command 'u').


Command (m for help): t

Partition number (1-4): 1

Hex code (type L to list codes): fd

Changed system type of partition 1 to fd (Linux raid autodetect)


Command (m for help): t

Partition number (1-4): 2

Hex code (type L to list codes): fd

Changed system type of partition 2 to fd (Linux raid autodetect)


Command (m for help): p

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00078af8


Device Boot Start End Blocks Id System

/dev/sdb1 * 1 66 523264 fd Linux raid autodetect

Partition 1 does not end on cylinder boundary.

/dev/sdb2 66 121602 976237568 fd Linux raid autodetect


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.

Как мы видим, мы имеем два Linux автоопределение рейд разделов /dev/sdb.
Чтобы убедиться, что нет никаких остатков предыдущих установок RAID на /dev/sdb, мы запустим следующую команду:

mdadm --zero-superblock /dev/sdb1

mdadm --zero-superblock /dev/sdb2
Если нет остатков от предыдущих установок RAID, каждая из этих команд выдаст ошибку вроде этого (что беспокоиться не о чем):
root@proxmox:~# mdadm --zero-superblock /dev/sdb1

mdadm: Unrecognised md component device - /dev/sdb1

root@server1:~#
В противном случае команды не появится вообще ничего.
Теперь нам нужно создать наш новый массив RAID:

mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1

mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2
Это покажет (ответ да):
root@proxmox:/# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1

mdadm: Note: this array has metadata at the start and

may not be suitable as a boot device. If you plan to

store '/boot' on this device please ensure that

your boot-loader understands md/v1.x metadata, or use

--metadata=0.90

Continue creating array? y

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

root@proxmox:/#
команда

cat /proc/mdstat

root@proxmox:~# cat /proc/mdstat

Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]

md0 : active (auto-read-only) raid1 sdb1[1]

523252 blocks super 1.2 [2/1] [_U]


md1 : active (auto-read-only) raid1 sdb2[1]

976236408 blocks super 1.2 [2/1] [_U]


unused devices:

теперь должна показывать, что у вас есть два деградировавших массивов RAID ([_U] или [U_] означает, что массив деградировали в то время как [UU] означает, что массив в порядке).
Теперь мы должны настроить /etc/mdadm/mdadm.conf (который не содержит никакой информации о наших новых массивов RAID еще нет) в новой ситуации:

cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Стандартный Proxmox установки использует /dev/sda1 для загрузочного раздела и использует LVM на /dev/sda2 для корневой, подкачки данных и разделов.
Если вы новичок в LVM разделы, я рекомендую вам проверить ссылку по кредитам в верхней части, как это.
Чтобы увидеть LVM разделы используйте команду:

lvscan

Это должно вывести:

root@proxmox:~# lvscan

ACTIVE '/dev/pve/swap' [15.00 GiB] inherit

ACTIVE '/dev/pve/root' [96.00 GiB] inherit

ACTIVE '/dev/pve/data' [804.02 GiB] inherit
Теперь мы создадим новую группу томов памед pve1 и соответствия логических томов для подкачки, корневые и данных.
Первый физического объема:

pvcreate /dev/md1

Это выводит
Writing physical volume data to disk "/dev/md1"

Physical volume "/dev/md1" successfully created

Эта команда:

pvscan

показывает наш новый физический объем:

PV /dev/sda2 VG pve lvm2 [931.01 GiB / 16.00 GiB free]

PV /dev/md1 lvm2 [931.01 GiB]

Total: 2 [1.82 TiB] / in use: 1 [931.01 GiB] / in no VG: 1 [931.01 GiB]

  • Tweet
  • Теперь давайте создадим группу томов pve1 и добавить к нему /dev/md1:

    vgcreate pve1 /dev/md1

    Это должно показать успех:
    Volume group "pve1" successfully created
    Теперь нам нужно создать наш логических томов. Я буду использовать те же самые размеры и имена томов из lvscan команды выше.

    lvcreate --name swap --size 15G pve1

    lvcreate --name root --size 96G pve1

    lvcreate --name data --size 804G pve1
    Если бы это было успешно, то команда:

    lvscan

    возвращается:

    root@proxmox:~# lvscan

    ACTIVE '/dev/pve/swap' [15.00 GiB] inherit

    ACTIVE '/dev/pve/root' [96.00 GiB] inherit

    ACTIVE '/dev/pve/data' [804.02 GiB] inherit

    ACTIVE '/dev/pve1/swap' [15.00 GiB] inherit

    ACTIVE '/dev/pve1/root' [96.00 GiB] inherit

    ACTIVE '/dev/pve1/data' [804.00 GiB] inherit
    Как вы можете видеть теперь у нас есть два набора тех же логических томов. Один на /dev/sda2 и один /dev/md1.
    Теперь нам нужно создать файловые системы:

    mkfs.ext4 /dev/md0

    mkswap /dev/pve1/swap -f

    mkfs.ext4 /dev/pve1/root

    mkfs.ext4 /dev/pve1/data
    Если бы это было успешно, то это время для копирования файлов в новый массив RAID.
    Сначала установите новые разделы:

    mkdir /mnt/boot

    mkdir /mnt/root

    mkdir /mnt/data

    mount /dev/md0 /mnt/boot

    mount /dev/pve1/root /mnt/root

    mount /dev/pve1/data /mnt/data

    Настройка системы для использования RAID 1
    Теперь мы должны изменить /etc/fstab:

    vi /etc/fstab
    Следует читать:
    #
    /dev/pve1/root / ext4 errors=remount-ro 0 1
    /dev/pve1/data /var/lib/vz ext4 defaults 0 1
    /dev/md0 /boot ext4 defaults 0 1
    /dev/pve1/swap none swap sw 0 0
    proc /proc proc defaults 0 0
    Обратите внимание, что все экземпляры пве заменяются pve1 и /dev/md0 устанавливается на /boot.
    Теперь до GRUB2 загрузчика. Создайте файл /etc/grub.d/09_swraid1_setup следующим образом:

    cp /etc/grub.d/40_custom /etc/grub.d/09_swraid1_setup

    vi /etc/grub.d/09_swraid1_setup
    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries. Simply type the
    # menu entries you want to add after this comment. Be careful not to change
    # the 'exec tail' line above.
    menuentry 'Proxmox, with RAID1' --class proxmox --class gnu-linux --class gnu --class os {
    insmod raid
    insmod mdraid
    insmod part_msdos
    insmod ext2
    set root='(md/0)'
    echo 'Loading Proxmox with RAID ...'
    linux /vmlinuz-2.6.32-11-pve root=/dev/mapper/pve1-root ro quiet
    echo 'Loading initial ramdisk ...'
    initrd /initrd.img-2.6.32-11-pve
    }

    Убедитесь, что вы используете правильную версию ядра в menuentry строфа (в linux и initrd линии). Вы можете найти его командой:

    uname -r

    или взглянуть на текущую строфы menuentry в ### BEGIN /etc/grub.d/10_linux ### раздел /boot/grub/grub.cfg. Также убедитесь, что вы используете root=/dev/mapper/pve1-root в linux линии.
    важную роль в нашей новой menuentry строфа является линия set root='(md/0)' - это гарантирует, что мы загружаем наших массив RAID1 /dev/md0 (который проведет /boot раздел), а /dev/sda или /dev/sdb что очень важно, если один из наших жестких дисках не удается - Система по-прежнему смогут загрузить.
    Поскольку мы не используем UUID, больше для наших блочных устройств, откройте /etc/default/grub ...

    vi /etc/default/grub

    ... и раскомментируйте строку GRUB_DISABLE_LINUX_UUID=true:
    # If you change this file, run 'update-grub' afterwards to update
    # /boot/grub/grub.cfg.

    GRUB_DEFAULT=0
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="quiet"
    GRUB_CMDLINE_LINUX=""

    # Uncomment to enable BadRAM filtering, modify to suit your needs
    # This works with Linux (no patch required) and with any kernel that obtains
    # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
    #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

    # Uncomment to disable graphical terminal (grub-pc only)
    #GRUB_TERMINAL=console

    # The resolution used on graphical terminal
    # note that you can use only modes which your graphic card supports via VBE
    # you can see them in real GRUB with the command `vbeinfo'
    #GRUB_GFXMODE=640x480

    # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
    GRUB_DISABLE_LINUX_UUID=true

    # Uncomment to disable generation of recovery mode menu entries
    #GRUB_DISABLE_LINUX_RECOVERY="true"

    # Uncomment to get a beep at grub start
    #GRUB_INIT_TUNE="480 440 1"

    Run

    update-grub

    писать нашего нового ядра строфа из /etc/grub.d/09_swraid1_setup к/boot/grub/grub.cfg.
    Далее настроить наш виртуальный диск к новой ситуации:

    update-initramfs -u

    Теперь скопируйте файлы:

    cp -dpRx / /mnt/root

    cp -dpRx /boot/* /mnt/boot

    cp -dbRx /var/lib/vz/* /mnt/data
    Теперь перезагрузите систему и надеемся, что она загружается нормально с нашей массивы RAID:

    reboot

    Если все пойдет хорошо, вы сможете увидеть наши новые логические тома root и data и /dev/md0 установлены:

    mount

    root@proxmox:~# mount

    /dev/mapper/pve1-root on / type ext4 (rw,errors=remount-ro)

    tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)

    proc on /proc type proc (rw,noexec,nosuid,nodev)

    sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

    udev on /dev type tmpfs (rw,mode=0755)

    tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)

    devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)

    /dev/mapper/pve1-data on /var/lib/vz type ext4 (rw)

    /dev/md0 on /boot type ext4 (rw)

    fusectl on /sys/fs/fuse/connections type fusectl (rw)

    beancounter on /proc/vz/beancounter type cgroup (rw,name=beancounter)

    container on /proc/vz/container type cgroup (rw,name=container)

    fairsched on /proc/vz/fairsched type cgroup (rw,name=fairsched)
    Теперь нам нужно удалить группу томов pve:

    lvremove /dev/pve/root

    lvremove /dev/pve/swap

    lvremove /dev/pve/data

    vgremove /dev/pve

    pvremove /dev/sda2
    root@proxmox:~# lvremove /dev/pve/root

    Do you really want to remove active logical volume root? [y/n]: y

    Logical volume "root" successfully removed

    root@proxmox:~# lvremove /dev/pve/swap

    Do you really want to remove active logical volume swap? [y/n]: y

    Logical volume "swap" successfully removed

    root@proxmox:~# lvremove /dev/pve/data

    Do you really want to remove active logical volume data? [y/n]: y

    Logical volume "data" successfully removed

    root@proxmox:~# vgremove /dev/pve

    Volume group "pve" successfully removed

    root@proxmox:~# pvremove /dev/sda2

    Labels on physical volume "/dev/sda2" successfully wiped
    Теперь мы должны изменить типы разделов из наших трех разделов для Linux /dev/sda рейд автоопределение, а также:

    fdisk /dev/sda

    root@proxmox:~# fdisk /dev/sda


    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

    switch off the mode (command 'c') and change display units to

    sectors (command 'u').


    Command (m for help): t

    Partition number (1-4): 1

    Hex code (type L to list codes): fd

    Changed system type of partition 1 to fd (Linux raid autodetect)


    Command (m for help): t

    Partition number (1-4): 2

    Hex code (type L to list codes): fd

    Changed system type of partition 2 to fd (Linux raid autodetect)


    Command (m for help): p


    Disk /dev/sda: 1000.2 GB, 1000204886016 bytes

    255 heads, 63 sectors/track, 121601 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk identifier: 0x0009f7a7


    Device Boot Start End Blocks Id System

    /dev/sda1 * 1 66 523264 fd Linux raid autodetect

    Partition 1 does not end on cylinder boundary.

    /dev/sda2 66 121602 976237568 fd Linux raid autodetect


    Command (m for help): w

    The partition table has been altered!


    Calling ioctl() to re-read partition table.

    Syncing disks.

    Теперь мы можем добавить /dev/sda1 и /dev/sda2 в /dev/md0 и /dev/md1:

    mdadm --add /dev/md0 /dev/sda1

    mdadm --add /dev/md1 /dev/sda2
    Теперь взглянем на:

    cat /proc/mdstat

    ... и вы увидите, что RAID-массивовповторно быть синхронизированы.
    Затем установите /etc/mdadm/mdadm.conf к новой ситуации:

    cp /etc/mdadm/mdadm.conf_orig /etc/mdadm/mdadm.conf

    mdadm --examine --scan >> /etc/mdadm/mdadm.conf

    Теперь удалите /etc/grub.d/09_swraid1_setup ...

    rm -f /etc/grub.d/09_swraid1_setup

    ... и обновить наш GRUB2 конфигурации загрузчика:

    update-grub

    update-initramfs -u
    Теперь, если вы посмотрите на /boot/grub/grub.cfg, вы обнаружите, что menuentry строфы в разделе ### BEGIN /etc/grub.d/10_linux ### выглядеть почти так же, как то, что мы имели в /etc/grub.d/09_swraid1_setup (теперь они должны быть также настроен на загрузку с /dev/md0 вместо (hd0) или (hd1)) Вот почему мы не должны /etc/grub.d/09_swraid1_setup больше.
    После этого мы должны убедиться, что GRUB2 загрузчик установлен на обоих жестких дисков, /dev/sda и /dev/sdb:

    grub-install /dev/sda

    grub-install /dev/sdb
    Перезагрузка системы:

    reboot

    Она должна загружаться без проблем.
    Вот и все - вы успешно создали программное обеспечение RAID1 на Proxmox системы!
    Наслаждайтесь!

     

    источник: http://open-vz.ru/ct-stavim-proxmox-programmnyi-raid

    ссылка на материал: http://www.thin.kiev.ua/categoryblog/758-proxmox-soft-raid.html

    допы: http://stormbp.blogspot.com/2012/11/proxmox-22.html

    ТЫЦ

    {jcomments on}

    Последнее обновление 18.01.13 18:23