PROXMOX VE 3.0のソフトウェアRAID1への移行



この記事では、新しくインストールしたProxmox 3.0ハイパーバイザーをソフトウェアRAID1に移行するプロセスについて説明します。 Wikiの Proxmox開発者は、このソリューションは公式にはサポートされておらず、使用することは推奨されていないと書いています。 代わりに、テスト済みのハードウェアRAIDコントローラーでソリューションを使用することをお勧めします。 それでも、ネットワーク上では、このトピックに関するいくつかのマニュアルと、Proxmoxを使用したsoftraid'aの正常な運用方法を見つけることができます。 残念ながら、これらのマニュアルのほとんどは、ステップバイステップガイドとは呼ばれません。すべてのマニュアルには、目的の結果が得られない特定のエラーが含まれています。 これらのマニュアルの 1つに基づいて、この状況を修正しようとしました。 以下のソリューションは、最初に仮想マシンで段階的に数回テストされ、次に実際のハードウェアでデータを移行するために使用されました。 結果は、あなたの注意を引く実用的なハウツーです。



移行を開始する前に、次のものがあります。

移行の最後に、両方のHDDがソフトRAID1にマージされますが、移行前にディスクにあったデータを保存します。



移行はいくつかの段階で行われます。

0.必要なソフトウェアをインストールします。

1. RAID1に転送するためのディスクの準備。

2. / dev / md0への移植/ブート。

3. / etc / fstabの変更。

4. Grub2の変更。

5. LVMを/ dev / md1に転送し、ソースディスクをRAID1に転送します。



0.必要なソフトウェアをインストールします。


mdadmとscreenを配置します。 インストール時に、mdadmはブート時に有効にする必要があるモジュールを尋ねます。 「すべて」と答えます。 画面はオプションですが、LVMを転送する5番目の段階で安全を確保するのに役立ちます。

root@kvm0:~# aptitude install mdadm screen
      
      





1. RAID1に転送するためのディスクの準備。


sdaディスクレイアウトをsdbにコピーします。 以下では、各ステップで結果を確認できるように、コマンドの完全な出力を示します。

 root@kvm0:~# sfdisk -d /dev/sda | sfdisk -f /dev/sdb Checking that no-one is using this disk right now ... OK Disk /dev/sdb: 4177 cylinders, 255 heads, 63 sectors/track sfdisk: ERROR: sector 0 does not have an msdos signature /dev/sdb: unrecognized partition table type Old situation: No partitions found 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 67108863 66060288 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 Warning: partition 2 does not start at a cylinder boundary Warning: partition 2 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).)
      
      





sdbディスクのセクションを「Linux raid auto」としてマークします。

 root@kvm0:~# sfdisk -c /dev/sdb 1 fd Done root@kvm0:~# sfdisk -c /dev/sdb 2 fd Done
      
      





以前に作成したRAIDアレイに関する情報がディスクにないことを確認するために、次のことを行います。

 root@kvm0:~# mdadm --zero-superblock /dev/sdb1 mdadm: Unrecognised md component device - /dev/sdb1 root@kvm0:~# mdadm --zero-superblock /dev/sdb2 mdadm: Unrecognised md component device - /dev/sdb2
      
      



ディスクが空の場合、上記のメッセージが表示されます。 そうでない場合、コマンドの出力は空になります。



RAIDアレイを作成します。

 root@kvm0:~# mdadm --create -l 1 -n 2 /dev/md0 missing /dev/sdb1 --metadata=1.1 mdadm: array /dev/md0 started. root@kvm0:~# mdadm --create -l 1 -n 2 /dev/md1 missing /dev/sdb2 --metadata=1.1 mdadm: array /dev/md1 started.
      
      





配列に関する情報をmdadm.confに追加します

 root@kvm0:~# cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig root@kvm0:~# mdadm --examine --scan >> /etc/mdadm/mdadm.conf
      
      





2. / dev / md0への移植/ブート。


/ dev / md0にファイルシステムを作成します。 / mnt / md0にマウントし、/ bootの内容をそこにコピーします。

 root@kvm0:~# mkfs.ext3 /dev/md0 mke2fs 1.42.5 (29-Jul-2012) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 131072 inodes, 522944 blocks 26147 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67633152 64 block groups 8192 blocks per group, 8192 fragments per group 2048 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done root@kvm0:~# mkdir /mnt/md0 root@kvm0:~# mount /dev/md0 /mnt/md0 root@kvm0:~# cp -ax /boot/* /mnt/md0
      
      





3. / etc / fstabの変更。


/ etc / fstabで、UUIDを介したブートパーティションのマウントをコメント化し、/ dev / md0を介したパーティションのマウントを規定します。

 root@kvm0:~# sed -i 's/^UUID/#UUID/' /etc/fstab root@kvm0:~# echo '/dev/md0 /boot ext3 defaults 0 1' >> /etc/fstab
      
      





その結果、/ etc / fstabは次のようになります。

 root@kvm0:~# cat /etc/fstab # <file system> <mount point> <type> <options> <dump> <pass> /dev/pve/root / ext3 errors=remount-ro 0 1 /dev/pve/data /var/lib/vz ext3 defaults 0 1 #UUID=eb531a48-dea8-4356-9b56-8aa800f14d68 /boot ext3 defaults 0 1 /dev/pve/swap none swap sw 0 0 proc /proc proc defaults 0 0 /dev/md0 /boot ext3 defaults 0 1
      
      







再起動します。



4. Grub2の変更。


RAID1サポートを追加します。

 root@kvm0:~# echo 'GRUB_DISABLE_LINUX_UUID=true' >> /etc/default/grub root@kvm0:~# echo 'GRUB_PRELOAD_MODULES="raid dmraid"' >> /etc/default/grub root@kvm0:~# echo 'GRUB_TERMINAL=console' >> /etc/default/grub root@kvm0:~# echo raid1 >> /etc/modules root@kvm0:~# echo raid1 >> /etc/initramfs-tools/modules
      
      





両方のディスクにブートローダーをインストールします。

 root@kvm0:~# grub-install /dev/sda --recheck Installation finished. No error reported. root@kvm0:~# grub-install /dev/sdb --recheck Installation finished. No error reported. root@kvm0:~# update-grub Generating grub.cfg ... Found linux image: /boot/vmlinuz-2.6.32-20-pve Found initrd image: /boot/initrd.img-2.6.32-20-pve Found memtest86+ image: /memtest86+.bin Found memtest86+ multiboot image: /memtest86+_multiboot.bin done root@kvm0:~# update-initramfs -u update-initramfs: Generating /boot/initrd.img-2.6.32-20-pve
      
      





5. LVMを/ dev / md1に転送し、ソースディスクをRAID1に転送します。


ソースディスク/ dev / sdaのブートパーティションをRAID1に追加します。

 root@kvm0:~# sfdisk -c /dev/sda 1 fd Done root@kvm0:~# mdadm --add /dev/md0 /dev/sda1 mdadm: added /dev/sda1
      
      





ここで、データをLVMパーティション/ dev / sda2から/ dev / md1に転送する必要があります。 pvmoveを使用したデータの転送にはかなり長い時間がかかるため、画面でさらにアクションを実行します。

 root@kvm0:~# screen bash root@kvm0:~# pvcreate /dev/md1 Writing physical volume data to disk "/dev/md1" Physical volume "/dev/md1" successfully created root@kvm0:~# vgextend pve /dev/md1 Volume group "pve" successfully extended root@kvm0:~# pvmove /dev/sda2 /dev/md1 /dev/sda2: Moved: 2.0% /dev/sda2: Moved: 14.5% /dev/sda2: Moved: 17.5% /dev/sda2: Moved: 19.2% /dev/sda2: Moved: 20.3% /dev/sda2: Moved: 24.7% /dev/sda2: Moved: 31.4% /dev/sda2: Moved: 32.5% /dev/sda2: Moved: 43.6% /dev/sda2: Moved: 63.3% /dev/sda2: Moved: 81.4% /dev/sda2: Moved: 100.0% root@kvm0:~# vgreduce pve /dev/sda2 Removed "/dev/sda2" from volume group "pve"
      
      





ソースディスクの2番目のパーティションをRAID1に追加します。

 root@kvm0:~# sfdisk --change-id /dev/sda 2 fd Done root@kvm0:~# mdadm --add /dev/md1 /dev/sda2 mdadm: added /dev/sda2
      
      





コーヒーを1杯注ぎ、cat / proc / mdstatを介して配列の同期を監視します。

これで、Proxmox 3.0 VMからソフトウェアRAID1への移行が完了しました。



URL:

pve.proxmox.com/wiki/Software_RAID

pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Wheezy

dominicpratt.de/proxmox-ve-3-0-software-raid

www.howtoforge.com/proxmox-2-with-software-raid

www.howtoforge.com/how-to-set-up-software-raid1-on-a-running-system-incl-grub2-configuration-debian-squeeze



All Articles