Mirror GEOM

Martin Zdrazil zdrazil at atlas.cz
Tue Sep 13 10:16:25 CEST 2005


Dobry den,

	na pokusnem cvicnem serveru jsem se snazil vytvorit mirror dvou SATA
disku. Na internetu jsem nasel snad nejoblibenejsi navod na ktery vsichni
odkazuji (http://people.freebsd.org/~rse/mirror/) a po dnu laborovani jsem
ho I zcasti pochopil. Snazil jsme se o variantu a), to jest mirrorovani
celeho disku. Uz vypadalo vse velmi nadejne az do rebootu. Nasleduje popis
mych kroku a na zaver popis chyby.

# place a BSD disklabel onto /dev/mirror/gm0s1
# (ATTENTION: in FreeBSD 5-STABLE before 14-Jan-2005 the
# /dev/mirror/gm0s1 device has to be specified as just "mirror/gm0s1" or
# the bsdlabel(8) will use the incorrect GEOM name "gm0s1" instead!)
# (NOTICE: figure out what partitions you want with "bsdlabel /dev/ad0"
before)
# (NOTICE: start "a" partition at offset 16, "c" partition at offset 0)
bsdlabel -w -B /dev/mirror/gm0s1 # initialize
bsdlabel -e /dev/mirror/gm0s1    # create custom partitions

Tento bod vyse mi dal asi nejvice zabrat a tam jsem se poprve odklonil,
protoze "bsdlabel /dev/ad0" mi napsal hlasku ze disk neni olabelovan, tak
jsem zkusil misto ad0 dat ad0s1 a vratilo to hezkou tabulku. Tu jsem
okopiroval a jen zmenil offset u u partice a) z 0 na 16 (I kdyz mi neni
jasne proc, ale navod je navod). Vyhodil jsme navic z te konfigurace partici
b), co je u me SWAP. Udelal jsme to dobre ? Takze ve vysledku jsme tam mel
a)/, c) na tu prej nesahat je v te tabulce, d) /var, e) /tmp, f) /usr


# manually copy filesystem data from first to to second disk
# (same procedure for partitions "g", etc)
newfs -U /dev/mirror/gm0s1a
mount /dev/mirror/gm0s1a /mnt
dump -L -0 -f- / | (cd /mnt; restore -r -v -f-)
newfs -U /dev/mirror/gm0s1d
mount /dev/mirror/gm0s1d /mnt/var
dump -L -0 -f- /var | (cd /mnt/var; restore -r -v -f-)
newfs -U /dev/mirror/gm0s1e
mount /dev/mirror/gm0s1e /mnt/usr
dump -L -0 -f- /usr | (cd /mnt/usr; restore -r -v -f-)

Zde jsem mel malinko zmenu, protoze gm0s1e je u me /tmp a /var je az gm0s1f
Po vyse uvedenem bodu jsem dokonce mel namountovany kopie /usr /var /tmp a
/.



Udelal jsem I par kroku navic

# adjust new system configuration for GEOM mirror based setup
cp -p /mnt/etc/fstab /mnt/etc/fstab.orig
sed -e 's/dev\/ad0/dev\/mirror\/gm0/g' </mnt/etc/fstab.orig >/mnt/etc/fstab
echo 'swapoff="YES"' >>/mnt/etc/rc.conf # for 5.3-RELEASE only
echo 'geom_mirror_load="YES"' >>/mnt/boot/loader.conf



Prestoze ta je napsano RELEASE 5.3 only tak jsem ten radek udelal I na
release 5.4.



# instruct boot stage 2 loader on first disk to boot
# with the boot stage 3 loader from the second disk
# (mainly because BIOS might not allow easy booting from second ATA disk
# or at least requires manual intervention on the console)
echo "1:ad(1,a)/boot/loader" >/boot.config

# reboot system
# (for running system with GEOM mirror on second disk)
shutdown -r now


No a potomo kroku jsem byl v pytli. Nabootovalo to na ad1, ale pri
inicializaci mirroru mi to vyhazelo hlasky ze ad0s1a, ad0s1b atd.. (proste
vsechnyh ty slajsy na disku ad0) jsou innacesible a nazdar. A inacessible
jsou proto, ze nejsou v /dev.


Nevite kde jsem udelal chybu?
Diky za kazde postuchnuti.



Martin Zdražil





More information about the Users-l mailing list