Wie viele „professionelle“ Virtualisierungslösungen unterstützt XenServer die native Installation auf einem Software-Raid nicht. Man kann bei der Installation jedoch mit einigen Klimmzügen das System auf ein Software Raid verschieben.
Ausgangslage: Das Zielsystem hat zwei identische Festplatten eingebaut, die als Raid-1 genutzt werden sollen.
Nach dem Reboot Hilfsskripte holen und auspacken:
wget https://github.com/ironiemix/xenserver-scripts/archive/master.zip -O xenserver-scripts.zip unzip xenserver-scripts.zip cd xenserver-scripts-master/software-raid/
Nun muss man kontrollieren, ob die Platten wirklich /dev/sda
und /dev/sdb heißen
. Wenn nicht muss man die Devices in der Datei makeraid.conf
entsprechend anpassen.
Nun kann die Partitionierung von Platte 1 auf Platte 2 kopiert werden:
./01-clonedisk-and-reboot
Nachdem diesem Vorgang startet der Server neu.
Jetzt kann man mit dem Skript 02-prepare-chroot
cd xenserver-scripts-master/software-raid ./02-prepare-chroot
aus den Partitionen auf der zweiten Platte ein unvollständiges Raid-Array erzeugen lassen. Anschließend wird das System von der ersten Platte auf das neue Array kopiert.
Das Ende der Ausgaben sollte in etwa so aussehen:
[...] „/boot/extlinux/menu.c32“ -> „/mnt/boot/extlinux/menu.c32“ „/boot/extlinux/gfxboot.c32“ -> „/mnt/boot/extlinux/gfxboot.c32“ „/boot/extlinux/vpdtest.c32“ -> „/mnt/boot/extlinux/vpdtest.c32“ „/boot/extlinux/memdisk“ -> „/mnt/boot/extlinux/memdisk“ „/boot/extlinux/hdt.c32“ -> „/mnt/boot/extlinux/hdt.c32“ done. Modifying /mnt/etc/fstab... done. Mounting /dev/ sysfs and proc to changeroot ... done. /boot is device /dev/md0 0+1 Datensätze ein 0+1 Datensätze aus 440 Bytes (440 B) kopiert, 0,031085 Sekunden, 14,2 kB/s Now type chroot /mnt on the command line and execute part3 of the scripts! [root@magellan xenserver-sw-raidscripts-master]#
Man folgt den Anweisungen des letzten Skripts:
chroot /mnt ./03-in-the-chroot
Das Ende der Ausgaben sollte etwa so aussehen:
[...] Adding module scsi_dh_emc Adding module scsi_dh_hp_sw Adding module scsi_dh_rdac /sbin/mdadm.static -> /tmp/initrd.oB7941/bin/mdadm /sbin/mdmon.static -> /tmp/initrd.oB7941/bin/mdmon /etc/mdadm.conf -> /tmp/initrd.oB7941/etc Fixing root filesystem info in /boot/extlinux.conf Installing extlinux... boot/ is device /dev/md0 Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully. Leaving chroot. Please execute 04-finish to finish the process [root@magellan /]#
Man wechselt übers home ins Skriptverzeichnis und führt 04-finish aus:
cd cd xenserver-scripts-master/software-raid ./04-finish
Das System startet nochmals neu.
Kontrolle: Das Root-Dateisystem muss nach dem Neustart /dev/md0
sein
[root@magellan ~]# mount /dev/md0 on / type ext3 (rw) [...]
Nun kann man die Partitionen der ersten Platte mit dem Skript 05-reclone
dem Raidverbund zuschlagen.
cd cd xenserver-scripts-master/software-raid ./05-reclone
Anschließend resynced das Raid:
cat /proc/mdstat Personalities : [raid1] md1 : active raid1 sda2[2] sdb2[0] 4193216 blocks [2/1] [U_] resync=DELAYED md0 : active raid1 sda1[2] sdb1[0] 4193216 blocks [2/1] [U_] [================>....] recovery = 83.6% (3509312/4193216) finish=0.2min speed=42560K/sec
Zunächst muss eine weitere Partition auf den Platten erzeugt und zu einem Raid zusammenefügt werden.
Hierzu erstellt man mit dem Befehl gdisk
auf /dev/sda
und /dev/sdb
eine dritte Partition mit dem Typ FD00
.
gdisk /dev/sda
Dann n
für New, Vorgaben übernehmen, um den restlichen Speicherplatz der Platte auszunutzen, Typ auf FD00 setzen und mit w
speichern, analog auf /dev/sdb
Jetzt muss der Rechner neu gestartet werden, um die Partitionierungen zu übernehmen, nach dem Neustart erzeugt man das Raid mit dem Befehl
mdadm --create /dev/md2 --level=1 --metadata=0.90 --raid-devices=2 /dev/sda3 /dev/sdb3
pvcreate /dev/md2 xe sr-create type=lvm content-type=user device-config:device=/dev/md2 name-label="Local Storage"