Migracja systemu Gentoo na LVM2 na raid

Z okazji zmiany dysku na większy chciałem w ramach zyskania nowych doświadczeń przenieść system na LVMa.

Przyjąłem założenie, że LVM zostanie zainstalowany na zdegradowanym raidzie, łatwiej jest potem dołożyć nowy dysk, niż kombinować jak przenieść LVM na raida (chociaż według opisu http://akademia.linuksa.pl/readme/lvm/ nie jest to zbyt problematyczne) . Bootloader GRUB w obecnej, szeroko dostępnej wersji (~0.97) nie obsługuje LVM więc partycja /boot będzie umieszczona bezpośrednio na raidzie. Również poza LVM zostanie umieszczona root partycja czyli / . Wynika to z tego, że mam dużą niechęć do initrd , a jest on niestety niezbędny aby powstał system z główną partycją umieszczoną na LVM.

O to jak to zrobiłem to na gentoo:

( O „emerge lvm2” i „rc-update add lvm boot” nie będe wspominał ;)  )

Dysk ma pojemność 250GB, podzieliłem go na takie partycje:

Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1          73      586341   83  Linux
/dev/sdc2              74       30103   241215975    5  Extended
/dev/sdc5              74       13690   109378521   fd  Linux raid autodetect
/dev/sdc6           13691       29252   125001733+  fd  Linux raid autodetect
/dev/sdc7           29253       29434     1461883+  fd  Linux raid autodetect
/dev/sdc8           29435       30103     5373711   fd  Linux raid autodetect

sdc1 to będzie partycja /boot

sdc5 i sdc6 to będą partycje pod lvm

sdc7  to swap

sdc8 będzie partycją / (przeznaczyłem na nią 5.5G aby nie martwić się jak ją powiększyć,)

I na wszelki wypadek zostawiłem 2.4G wolnego miejsca. Root partycję umieściłem właśnie na końcu i po niej zostawiłem to wolne miejsce dodatkowo po to aby np. właśnie móc powiększyć tą partycję,

Zrobiłem dwie mniejsze partycje LVMowe zamiast jednej dużej, ponieważ nie jestem pewny czy nie najdzie mnie ochota zrobić raida używając mniejszych dysków znajdujących się w szufladzie.

Teraz pora zrobić raida:

mdadm -C –bitmap=internal -l 1 -f -n 1 /dev/md1 /dev/sdc1

i tak po kolei wszystkie partycje.

Robimy swapa, partycję /boot oraz / używając preferowanego systemu plików:

mkswap -L swap1 /dev/md7

mkfs.ext3 -L bootl /dev/md1

mkfs.ext3 -L rootl /dev/md8

Następnie:

vgscan -v

Co utworzy nam pliki konfiguracyjne ze wzorca oraz utworzy pozostałe potrzebne do działania pliki i katalogi.

A teraz instalujemy GRUBa:

mount /dev/md1 /mnt/temp

(wole rsync od cp)

rsync -av /boot/ /mnt/floppy/

grub –no-floppy /dev/md1

grub> root (hd2,0)
Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd2)
Checking if „/boot/grub/stage1” exists… yes
Checking if „/boot/grub/stage2” exists… yes
Checking if „/boot/grub/e2fs_stage1_5” exists… yes
Running „embed /boot/grub/e2fs_stage1_5 (hd2)”…  20 sectors are embedded.
succeeded
Running „install /boot/grub/stage1 (hd2) (hd2)1+20 p (hd2,0)/boot/grub/stage2 /boot/grub/menu.lst”… succeeded
Done.

grub>quit

Poprawiamy grub.conf (root=/dev/md8) i pamiętamy aby nie nadpisać tego pliku podczas kopiowaniu całego systemu na nowy dysk.

umount /mnt/temp

pvcreate /dev/md5

pvcreate /dev/md6

vgcreate -s 32M vg56 /dev/md5 /dev/md6

Czyli tworzę dwa woluminy fizyczne, a potem tworzę grupę woluminów z nich obu. I ważna uwaga! Należy zwrócić uwagę na parametr po -s , jest to wielkość bloku fizycznego w grupie woluminów. Jego znaczenie jest bardzo istotne, od niego zależy maksymalna wielkość grupy woluminów. Wynosi ona 65536 * wielkość_bloku_fizycznego , a domyślną jego wartością jest 4M. Co daje nam max. rozmiar 256G, trochę mało. A zmiana tego parametru w czasie pracy jest o ile mi wiadomo, niemożliwa.

Przyszła pora na tworzenie woluminów logicznych:

lvcreate -L3G -n usrvl vg56
Logical volume „usrvl” created
czyli wolumin o rozmiarze 3G , z etykietą „usrlv” na grupie woluminów o nazwie vg56.

(tworzymy sobie tyle woluminów ile potrzebujemy)

teraz można już sformatować sobie partycję swoim ulubionym systemem plików.

Np. mkfs.ext3 -L root /dev/vg56/rootlv

Tworzymy tak samo pozostałe partycję, podmontowujemy sobie nowe drzewko i kopiujemy cały system.

Następnie uruchamiamy, poprawiamy literówki itp. I cieszymy się nową jakością w zarządzaniu miejscem.

Podczas pisania (i migrowania) podpierałem się bardzo mocno artykułem

http://www.eioba.pl/a70652/konfiguracja_i_objasnienie_raid_oraz_lvm

kondensując i dopasowując do konkretnego przypadku i do konkretnej dystrybucji.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *