XenServer 6.2 - szoftveres RAID1 létrehozása
A dyra.eu megőrzött oldalarchívumából
Az alábbi írásom a XenServer 6.2 szoftveres RAID1 beállításainak mikéntjét ismerteti. A célom az volt, hogy a XenServer rendszer meghajtói tükrözve legyenek. Sajnos az iromány nem saját kútfőből származik, mindazonáltal tartalmaz saját megjegyzéseket. Az eredeti leírás - ami alapján készült - a következő linken tekinthető meg: http://wysotsky.info/?p=106
Kiindulási információk:
Telepítettem egy XenServert a /dev/sda 80GB merevlemezre. Ezt szerettem volna a /dev/sdb 80GB merevlemezre tükrözni, ami egy teljesen tiszta, particióktól és adatoktól mentes HDD volt.
1.
Lépésben lekérdeztem a /dev/sda particióit:
sgdisk -p /dev/sda
1/a
Mint látható a telepítés után az SDA merevlemezen 2 partíció van, ami azért érdekes, mert nekem ugye egy 80GB-s HDD-m van a két partició összmérete viszont nem éri el a 80GB-t. A XEN-nek, ha telepítéskor nem állítjuk be “Local Storage-nak” az SDA-t, az hiába rendszer HDD, csak az alábbi két kicsi particiót fogja tartalmazni. Azért van szükség a harmadik partíció létrehozására, hogy a merevlemezünket teljes terjedelmében ki tudjuk használni.

1/b
Hozzunk létre egy harmadik partíciót, ami egészen a merevlemez végéig tartson. A “TE-DISKED” a saját merevlemezednek a vége. Mellékeltem egy képet, hogy jobban megértsd mit kell nézned.

sgdisk —new=3:16779264:Te-DISKED-34 /dev/sda
sgdisk —typecode=3:fd00
2.
Ha esetleg te nem tiszta HDD-vel dolgozol, az alábbi paranccsal letakaríthatsz róla mindent:
sgdisk —zap-all /dev/sdb
3.
Amennyiben kell szedjük le a particiós táblákat is:
sgdisk —mbrtogpt —clear /dev/sdb
4.
Az SDB meghajtó particionálása következik. Amire figyelnünk kell, az az utolsó particiónak a vége, ami a merevlemez végén lesz. Az első parancs kimenetében az első sorban az összes szektor száma fog nekünk kelleni. Ezt kell majd a “TE-DISKED”-hez beírni. (A parancs alatt lévő képen karikáztam.)
sgdisk -p /dev/sdb
a particionálás:
sgdisk —new=1:2048:8388641 /dev/sdb
sgdisk —typecode=1:fd00 /dev/sdb
sgdisk —attributes=1:set:2 /dev/sdb
sgdisk —new=2:8390656:16777249 /dev/sdb
sgdisk —typecode=2:fd00 /dev/sdb
sgdisk —new=3:16779264:TE-DISKED-34 /dev/sdb
sgdisk —typecode=3:fd00 /dev/sdb
**
Ha ez kész, indítsuk újra a gépet!**
5.
Utána hozzuk létre a RAID tömböket:
mdadm —create /dev/md0 —level=1 —raid-devices=2 missing /dev/sdb1
mdadm —create /dev/md1 —level=1 —raid-devices=2 missing /dev/sdb2
mdadm —create /dev/md2 —level=1 —raid-devices=2 missing /dev/sdb3
6.
Formázzuk meg a RAID root tömböt, majd “mount”-oljuk az /mnt könyvtárba és átmásolunk rá mindent:
mkfs.ext3 /dev/md0
mount /dev/md0 /mnt
cp -vxpR / /mnt
Erről nincs kép, mert az utolsó parancs kimenete borzasztó hosszú.
7.
Módosítjuk az /mnt/etc/fstab fájlban a root fájlrendszert /dev/md0 -ra (Ne változtassuk meg a LABEL= értéket!):
sed -i ‘s/LABEL=[a-zA-Z\-]*/\/dev\/md0/’ /mnt/etc/fstab
8.
Hozzunk létre egy új indító képet és tömörítsük ki:
mkdir /mnt/root/initrd-raid
mkinitrd -v —fstab=/mnt/etc/fstab /mnt/root/initrd-raid/initrd-`uname -r`-raid.img `uname -r`
cd /mnt/root/initrd-raid
zcat initrd-`uname -r`-raid.img | cpio -i
8/a
Szerkesszünk “init” fájlt és állítsuk be a “raidautorun” -t:
sed -i ‘s/raidautorun \/dev\/md0/raidautorun \/dev\/md0\nraidautorun \/dev\/md1\nraidautorun \/dev\/md2/’ init
8/b
Másoljuk a ramdisket az /mnt/boot mappába és módosítsuk a menüt (A második parancsnál megkérdezi valóban törölni akarod-e a szimbolikus linket, a válasz természetesen igen):
find . -print | cpio -o -Hnewc | gzip -c > /mnt/boot/initrd-`uname -r`-raid.img
rm /mnt/boot/initrd-2.6-xen.img
cd /mnt/boot
ln -s initrd-`uname -r`-raid.img initrd-2.6-xen.img
9.
Cseréld ki /mnt/boot/extlinux.conf string “root=LABEL=root-…” a “root=/dev/md0″ minden menu bejegyzését:
sed -i ‘s/LABEL=[a-zA-Z\-]*/\/dev\/md0/’ extlinux.conf
10.
Állítsuk be az MBR-t az SDB is:
cat /mnt/usr/share/syslinux/gptmbr.bin > /dev/sdb
cd /mnt
extlinux —raid -i boot/
11.
Újraindítás! Nagyon fontos, mielőtt újra indulna a szervered, hogy beállítsd: az SDB-ről induljon a szerver. (Nálam ez annyit jelentett, hogy a BIOS-ban a SATA2 lévő merevlemezre állítottam a BOOT-ot, illetve azt állítottam be, hogy onnan induljon!)
12.
Mikor a XEN server újraindult, adjuk ki az SDA tömbbe a következő parancsokat (Itt tulajdonképpen hozzáadjuk az SDA HDD-t is a RAID tömbhöz.):
sgdisk —attributes=1:set:2 /dev/sda
sgdisk —typecode=1:fd00 /dev/sda
sgdisk —typecode=2:fd00 /dev/sda
sgdisk —typecode=3:fd00 /dev/sda
mdadm -a /dev/md0 /dev/sda1
mdadm -a /dev/md1 /dev/sda2
mdadm -a /dev/md2 /dev/sda3
Be kell szinkronizálnunk a tömböt (ezután fog a RAID egyáltalán dolgozni). Ez eltarthat egy ideig. Az alábbi parancs segítségével a folyamat követhető. Amennyiben minden rendben lezajlott a második képhez hasonlót kell látnotok. Minden RAID partíció 2 eszközön “van”. Ha végzett, CTRL-C-vel tudjuk “visszaszerezni” a prompt-ot:
watch -n 1 cat /proc/mdstat
13.
Ha ezzel mind megvagyunk, akkor másoljuk a RAID setupot a mdadm.conf fájlba:
mdadm —detail —scan >> /etc/mdadm.conf
14.
Végül adjuk hozzá a XenServerünkhöz a /dev/md2-t! (Emlékeztek, ezt korábban hoztunk létre, ez az esetemben egy 65GB partíció, ami tükrözött, a XEN-ben ez a tárhely lesz elérhető a “Local Storage” alatt.) A típusa lehet EXT és LVM, ezt a type paranccsal lehet meghatározni. Jómagam az EXT-re állítottam. (Tudnunk kell a XenServerünk HOST-UUID-ét, ezt a xe host-list paranccsal tudjuk lekérdezni.)
xe sr-create content-type=user device-config:device=/dev/md2 host-uuid=“Te géped HOST UUID-je” name-label=“Local Storage” shared=false type=ext
Végeztünk!
Innentől a szoftveres RAID1 dolgozik a gépünkön. Köszönet még1x a forrásnak!
http://wysotsky.info/?p=106










