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}