Vinum gvinum ja geom

Allikas: Kuutõrvaja
Redaktsioon seisuga 30. detsember 2007, kell 17:40 kasutajalt Jj (arutelu | kaastöö)

Geli

Ketaste krüpteerimine FreeBSD süsteemis

Kõigepealt on vaja geli tuge tuuma. Seda saab kas kompileerides tuuma uuesti või lihtsam lisada '/etc/rc.conf faili rida

geom_eli_load="YES"

ja teha reboot

peale rebooti peaks dmesgis olema näha rida

cryptosoft0: <software crypto> on motherboard

Ketas mida soovime krüpteerida on /dev/da0

Teeme kettale vajaliku võtme

dd if=/dev/random of=/root/da0.key bs=64 count=1
1+0 records in
1+0 records out
64 bytes transferred in 0.000397 secs (161126 bytes/sec)

Seejärel seome võtme kettaseadmega ja paneme paika parooli millega saame edaspidi kasutada

geli init -s 4096 -K /root/da0.key /dev/da0
Enter new passphrase:
Reenter new passphrase:

Ning haagime ketta külge

geli attach -k /root/da0.key /dev/da0
Enter passphrase:

dmesgi peaks ilmuma seejäre teade

GEOM_ELI: Device da0.eli created.
GEOM_ELI: Encryption: AES-CBC 128
GEOM_ELI:     Crypto: software

kausta /dev peaks nüüd olema tekkinud uus seade da0.eli

ls /dev/da0*
/dev/da0        /dev/da0.eli

Alustame uue failisüsteemi loomist. Selleks on soovitatav kirjutada kogu ketas algusest lõpuni suvalise infoga üle. See võib võtta suurema ketta puhul aega 3-4 tundi.

dd if=/dev/random of=/dev/da0.eli bs=1m
40859860992 bytes transferred in 10024.286856 secs (4076087 bytes/sec)

Loome uue failisüsteemi

newfs /dev/da0.eli
/dev/da0.eli: 69464.8MB (142263992 sectors) block size 16384, fragment size 4096
        using 207 cylinder groups of 336.98MB, 21567 blks, 21568 inodes.
super-block backups (for fsck -b #) at:

Ja moundime enda ketta

mount /dev/da0.eli /mnt
df
Filesystem   1K-blocks   Used    Avail Capacity  Mounted on
...
/dev/da0.eli  70009144      8 64408408     0%    /mnt

Lahtihaakimiseks käsud

umount /mnt
geli detach da0.eli

Ja dmesgi tekib lahtiühenduse kohta teade

GEOM_ELI: Device da0.eli destroyed.

Uuesti haakida saab siis käskudega. Kasutada tuleb varem nimetatud paroole

geli attach -k /root/da0.key /dev/da0
mount /dev/da0.eli /mnt

rc.conf'i automaatseks stardiks. Ei pääse muidugi iga taaskäivituse järle paroolide trükkimisest

geli_devices="da0"
geli_da2_flags="-p -k /root/da0.key"

vinum

http://www.vinumvm.org/


Starting up Vinum Early Enough for the Root Filesystem /boot/loader.conf

vinum_load="YES"

/boot/loader.conf grub start

geom_vinum_load="YES" vinum.autostart="YES"


fdisk -i teha disklabel -w disklabel -e devname


stripe

  drive c device /dev/da5h
   drive d device /dev/da6h
   volume stripe
   plex org striped 512k
     sd length 128m drive c
     sd length 128m drive d


mirroring

drive d1 device /dev/ad2s1a drive d2 device /dev/ad3s1a volume mirror setupstate

 plex org concat
   sd length 76000M drive d1
 plex org concat
   sd length 76000M drive d2


gvinum create -f /etc/vinum.conf

hiljem newfs -v


gstripe

kldload geom_mirror

/boot/loader.conf
geom_stripe_load="YES" 
    gstripe label -v -s 4096 data /dev/ad2 /dev/ad4
    newfs /dev/stripe/data
    mount /dev/stripe/data /mnt/tank2
    df -h
    /dev/stripe/data    289G    4.0K    266G     0%    /mnt/tank2
   cat /var/run/dmesg.boot | grep "ad"
   gstripe list
   umount /dev/stripe/data
   tunefs -m 2 -o space /dev/stripe/data
tunefs: minimum percentage of free space changes from 8% to 2%
tunefs: should optimize for space with minfree < 8%
tunefs: optimization preference changes from time to space
   mount /dev/stripe/data /mnt/tank2
   /dev/stripe/data    289G    4.0K    283G     0%    /mnt/tank2

-m 2 ütleb, et minfree peaks 2% olema ja -o space optimiseerib space'le, mitte access time'le aga kiiremat kaablit vaja, udma33 sucks ASS

fsck_ffs /dev/stripe/data


gmirror

katse# gmirror label -vnb round-robin gm0 /dev/da1
Metadata value stored on /dev/da1.
Done.
katse# gmirror load
katse# gmirror insert gm0 /dev/da2


newfs /dev/mirror/gm0
mount /dev/mirror/gm0s1d /mnt


raid 10

kettaid neil ad1 ad2 ad3 ad4

gmirror label -vnb round-robin gm0 /dev/da1
gmirror load
gmirror insert gm0 /dev/da2
gmirror label -vnb round-robin gm1 /dev/da3
gmirror insert gm1 /dev/da4
gstripe label -v -s 4096 data /dev/mirror/gm0 /dev/mirror/gm1
newfs /dev/stripe/data
mount /dev/stripe/data /mnt