...
ZFS beállítása
A ZFS a fájlrendszer, a Sun egyik nagy találmánya, amelyet 2005 elején dobtak be a nagy közösbe, az OpenSolaris részeként lett nyílt forrású CDDL licenc alatt. Miért a ZFS a fájlrendszer? Lássuk.
Note |
---|
A ZFS és az UFS összehasonlítása: ZFS bevetés közben |
...
Finomhangolás
A ZFS támogatás nem igényel különösebb beállítást a rendszer részéről, de a /boot/loader.conf fájlba érdemes felvennünk az alábbi bejegyzéseket:
Code Block |
---|
|
vm.kmem_size=1536M
vfs.zfs.arc_max=512M
vfs.zfs.prefetch_disable=1
vfs.zfs.txg.timeout=5
|
...
Code Block |
---|
|
zfs_enable="YES"
|
Ezek után egy újraindítás célszerű, egyrészt rövidebb idő, mint beállítani a megfelelő paramétereket parancssorból, másrészt ellenőrzésképp érdemes megtenni.
...
ZFS kötetek és fájlrendszerek
A telepítéskor létrehoztunk egy /bpool (base pool) és egy /dpool (data pool) helyre csatolt fájlrendszert, ezeket csatoljuk le majd töröljük ki az /etc/fstab fájlból (előtte írjuk le az eszközök neveit, mert arra szükségünk lesz). Ezekből ZFS kötet (pool) lesz, a kötet a ZFS egyik alapegysége, egy ZFS kötethez bármikor hozzáadhatunk új eszközt, kivehetünk belőle eszközt, kijelölhetünk tartalék eszközt, ésatöbbi. A kötetek kezelésére a zpool parancs szolgál. A fentebb megejtett újraindítás után újra belépve létre kell hozni a megfelelő ZFS köteteket:
Code Block |
---|
|
freebsd# zpool create bpool da0s2d
freebsd# zpool create dpool da0s2e
freebsd# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
bpool 7.94G 110K 7.94G 0% ONLINE -
dpool 210G 110K 210G 0% ONLINE -
freebsd# zpool status
pool: bpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
bpool ONLINE 0 0 0
da0s2d ONLINE 0 0 0
errors: No known data errors
pool: dpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
dpool ONLINE 0 0 0
da0s2e ONLINE 0 0 0
errors: No known data errors
|
...
Code Block |
---|
|
freebsd# zfs create bpool/tmp
freebsd# zfs create bpool/usr
freebsd# zfs create bpool/var
freebsd# zfs list
NAME USED AVAIL REFER MOUNTPOINT
bpool 182K 7.81G 21K /bpool
bpool/tmp 18K 7.81G 18K /bpool/tmp
bpool/usr 18K 7.81G 18K /bpool/usr
bpool/var 18K 7.81G 18K /bpool/var
dpool 105K 207G 18K /dpool
|
...
Code Block |
---|
|
# /etc/rc.d/hostid start
Setting hostuuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Setting hostid: 0xFFFFFFFF.
# /etc/rc.d/zfs start
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
bpool 182K 7.81G 21K /bpool
bpool/tmp 18K 7.81G 18K /bpool/tmp
bpool/usr 18K 7.81G 18K /bpool/usr
bpool/var 18K 7.81G 18K /bpool/var
dpool 105K 207G 18K /dpool
|
...
Code Block |
---|
|
# cp -Rp /tmp/ /bpool/tmp/
# cp -Rp /usr/ /bpool/usr/
# cp -Rp /var/ /bpool/var/
# mount -u /
# mv /tmp /tmp.install
# mv /usr /usr.install
# mv /var /var.install
# zfs set mountpoint=/tmp bpool/tmp
# zfs set mountpoint=/usr bpool/usr
# zfs set mountpoint=/var bpool/var
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/da0s2a 3.9G 377M 3.2G 10% /
devfs 1.0K 1.0K 0B 100% /dev
bpool 6.8G 0B 6.8G 0% /bpool
dpool 207G 0B 207G 0% /dpool
bpool/tmp 6.8G 0B 6.8G 0% /tmp
bpool/usr 7.0G 214M 6.8G 3% /usr
bpool/var 6.9G 70M 6.8G 1% /var
# exit
|
Az eredeti, de átnevezett könyvtárakat akár megtarthatjuk, ha van helyünk elég, de ZFS probléma esetén van még egy rescue rendszerünk, így nem annyira lényeges ezen könyvtárak tárolása, a rendszerfrissítések során úgyis eltávolodik az eredetileg telepített és a futó rendszer.
...
A ZFS előnyei röviden
Nos, kicsit fésüljük meg a ZFS fájlrendszeren lévő könyvtárakat, első körben hozzunk létre egy snapshot-ot, amely a telepítéskori állapotot tartalmazza:
Code Block |
---|
|
freebsd# zfs snapshot bpool/usr@install
freebsd# zfs snapshot bpool/var@install
freebsd# zfs snapshot bpool/tmp@install
freebsd# zfs list
NAME USED AVAIL REFER MOUNTPOINT
bpool 214M 7.60G 18K /bpool
bpool/tmp 23K 7.60G 23K /tmp
bpool/tmp@install 0 - 23K -
bpool/usr 214M 7.60G 214M /usr
bpool/usr@install 0 - 214M -
bpool/var 262K 7.60G 244K /var
bpool/var@install 17K - 244K -
dpool 105K 207G 18K /dpool
|
...
Code Block |
---|
|
freebsd# zfs clone bpool/usr@install bpool/usr_at_install
freebsd# df -h
Filesystem Size Used Avail Capacity Mounted on
[...]
bpool/usr_at_install 7.8G 214M 7.6G 3% /bpool/usr_at_install
freebsd# zfs list
NAME USED AVAIL REFER MOUNTPOINT
bpool 214M 7.60G 19K /bpool
bpool/tmp 23K 7.60G 23K /tmp
bpool/tmp@install 0 - 23K -
bpool/usr 214M 7.60G 214M /usr
bpool/usr@install 38K - 214M -
bpool/usr_at_install 0 7.60G 214M /bpool/usr_at_install
bpool/var 278K 7.60G 244K /var
bpool/var@install 33.5K - 244K -
dpool 105K 207G 18K /dpool
|
...
Code Block |
---|
|
freebsd# zfs create bpool/usr/ports
freebsd# zfs set compression=gzip-9 bpool/usr/ports
|
...
Code Block |
---|
|
freebsd# rm -R /usr/src
freebsd# zfs create bpool/usr/src
freebsd# zfs set compression=gzip-9 bpool/usr/src
|
...
Code Block |
---|
|
freebsd# rm -R /usr/local
freebsd# zfs create bpool/usr/local
freebsd# cp -Rp /bpool/usr_at_install/local/ /usr/local/
freebsd# zfs create bpool/usr/obj
|
...
Code Block |
---|
|
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
[...]
bpool/usr 1.61G 2.24G 442M /usr
bpool/usr@install 848M - 1.26G -
bpool/usr/local 78.9M 2.24G 78.9M /usr/local
bpool/usr/obj 18K 2.24G 18K /usr/obj
bpool/usr/ports 133M 2.24G 133M /usr/ports
bpool/usr/src 151M 2.24G 151M /usr/src
[...]
# df -h
Filesystem Size Used Avail Capacity Mounted on
[...]
bpool/usr 2.7G 442M 2.2G 16% /usr
bpool/usr/local 2.3G 79M 2.2G 3% /usr/local
bpool/usr/obj 2.2G 0B 2.2G 0% /usr/obj
bpool/usr/ports 2.4G 133M 2.2G 5% /usr/ports
bpool/usr/src 2.4G 151M 2.2G 6% /usr/src
[...]
|
...
Code Block |
---|
|
# zfs destroy bpool/usr@install
cannot destroy 'bpool/usr@install': snapshot has dependent clones
use '-R' to destroy the following datasets:
bpool/usr_at_install
# zfs destroy bpool/usr_at_install
# zfs destroy bpool/usr@install
# zfs snapshot bpool/usr@install
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
bpool 808M 3.12G 18K /bpool
bpool/tmp 45K 3.12G 23K /tmp
bpool/tmp@install 22K - 23K -
bpool/usr 805M 3.12G 442M /usr
bpool/usr@install 0 - 442M -
bpool/usr/local 78.9M 3.12G 78.9M /usr/local
bpool/usr/obj 18K 3.12G 18K /usr/obj
bpool/usr/ports 133M 3.12G 133M /usr/ports
bpool/usr/src 151M 3.12G 151M /usr/src
bpool/var 1.39M 3.12G 1.22M /var
bpool/var@install 172K - 265K -
dpool 105K 1.95G 18K /dpool
|
Rögtön több helyünk lett...
Előző fejezet Tartalomjegyzék Következő fejezet
Auth Gábor auth.gabor@javaforum.hu