Btrfs
Sissejuhatus
See artikkel tutvustab btrfs failisüsteemi ning selle kasutamist Linuxi operatsioonisüsteemis. Selle juhend õpetab, kuidas btrfs failisüsteemi luua, mount-ida, resize-da, RAID level-eid muuta, snapshot-e teha ning alamvolüüme luua.
Autor
Robert Pärn
Kasutusjuhend
Eeltegemised
btrfs on hetkel veel eksperimenteerimise staatuses, vaatamata sellele, et praeguseks on tegu üsna stabiilse väljalaskega. See tähendab, et võib ilmneda bug-isid. Selle loojad soovitavad kasutada kõige uuemat Linuxi kernelit. Selle juhendi näidetes on kasutusel Ubuntu 12.04.1 LTS.
Kõigepealt tasuks veenduda, et kasutaja on root kasutajaga sisse loginud:
sudo -i
Installeerimine
Enne installeerimist tasub uuendada repository-t.
apt-get update
Kui varamu uuendatud, tuleb installeerida pakk nimega btrfs-tools.
apt-get install btrfs-tools
btrfs failisüsteemide loomine
Üks väga häid omadusi btrfs juures on see, et tema failisüsteemi saab luua täiesti formateerimata kettale. Kui teil on täiesti tühi ketas sdb ning sdc, mille te just külge ühendasite, siis saab need väga lihtsalt formattida btrfs failisüsteemi.
mkfs.btrfs /dev/sdb /dev/sdc
Ja nii lihtsalt ongi teil loodud täiesti tühjale kettale btrfs failisüsteem. Vaikeseades kasutatakse RAID0'i andmete jaoks ja RAID1 metaandmete jaoks. Ühe ketta puhul see aga nagunii ei toimiks seega võiks kasutada teist käsku. Kuid metaandmete kaudu oskab btrfs taastada andmeid seega tasuks olla ettevaatlik, kuna kui metaandmed kaoavad, kaovad ka andmed.
mkfs.btrfs -m single /dev/sdb
Näide mitme ketta peal:
mkfs.btrfs -m raid0 /dev/sdb /dev/sdc
Võimalik on ka andmeid panna RAID1'te, koos metaandmetega
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc /dev/sdd
Metaandmed RAID0 ja andmed RAID1:
mkfs.btrfs -m raid0 -d raid1 /dev/sdb /dev/sdc /dev/sdd
Võimalik on kasutada ka RAID10't, kui teil juhtub olema 4 kõvaketast, käsuga vastavalt -m raid10 ja/või -d raid10.
NB! üks hea asi btrfs failisüsteemi juures on see, et RAID1 kasutades ei pea kõvakettad olema sama suurusega.
Et saada oma ketta kohta detailset informatsiooni:
btrfs filesystem show /dev/sdX
Sama käsk kõige ketaste info saamiseks:
btrfs filesystem show
Failisüsteemi Mount-imine
Selleks, et mount-ida failisüsteem, kasutame järgmist käsku:
mount /dev/sdX /sinu/kaust
Selleks, et ka alglaadimisel oleks failisüsteem mount-itud, tuleb muuta fstab faili:
nano /etc/fstab
Ning lisada järgnev rida:
/dev/sdX /sinu/kaust btrfs defaults 0 1
Selleks, et kontrollida, kas mount-itud sai õigesti:
df -h
Detailsem vaade btrfs failisüsteemide skoobis:
btrfs filesystem df /kodu/kaust
Kompressiooni kasutamine
btrfs failisüsteemis on võimalik kasutada zlib ja lzo kompressiooni, et hoida kokku kettaruumi. zlib võimaldab tihedamalt pakkida, jättes rohkem vaba ruumi, kuid lzo on kiirem ning CPU-sõbralikum. Juba kompresseeritud faile btrfs failisüsteemis ei kompresseerita.
lzo-ga kompresseerimine:
mount -o compress=lzo /dev/sdX /kodu/kaust
zlib-iga:
mount -o compress=zlib /dev/sdX /kodu/kaust
Kui on vajalik käivitamisel ühte neist kasutada tuleb jällegi lisada fstab'i:
/dev/sdX /kodu/kaust btrfs defaults,compress=lzo 0 1
Surnud failisüsteemi taastamine
Kui btrfs failisüsteem on surnud, siis on võimalik teda üritada taastada, mount-ides ta recovery modes.
mount -o recovery /dev/sdX /kodu/kaust
btrfs failisüsteemi suuruse muutmine
btrfs failisüsteemi suurust on võimalik muuta, ilma seda unmount-imata.
btrfs filesystem resize -2g /kodu/kaust
Antud käsk vähendas failisüsteemi suurust 2GB võrra, on võimalik kasutada ka MB-sid ("m").
Partitsiooni suurendamine:
btrfs filesystem resize +1g /kodu/kaust
Maksimaalse kettaruumi omistamine:
btrfs filesystem resize max /kodu/kaust
Ketaste lisamine btrfs failisüsteemi
Meil on uus ketas, mille soovime formattida btrfs failisüsteemi ning mount-ida /kodu/kaust kataloogi:
btrfs device add /dev/sde /kodu/kaust
Nüüd on sde lisatud, kuid /kodu/kausta kirjutamisel ei kasutata veel sde-d. Selleks me peame balanseerima jaotuse:
btrfs filesystem balance /kodu/kaust
Ketta kustutamine:
btrfs device delete /dev/sdX /kodu/kaust
Balanseerimine toimib automaatselt pärast kustutamist.
Feilinud ketta eemaldus:
umount /kodu/kaust
Kõigepealt tuleb see unmount-ida seejärel mount-ida degraded modes:
mount -o degraded /dev/sdX /kodu/kaust
Seejärel tuleb ketas eemaldada ning, kui kasutate RAID0 või RAID10, tuleb asendada ketas uuega. See tuleks mountida järgneva käsuga:
btrfs device add /dev/sdX /kodu/kaust
RAID taseme muutmine
RAID levelit saab muuta ka online's järgnevalt:
btrfs balance start -dconvert=raid1 -mconvert=raid1 /kodu/kaust
dconvert ja mconvert on vastavalt siis andmete salvestuse RAID taseme muutmine ning metaandmete RAID taseme muutmine.
Snapshot-ide tegemine
Btrfs failisüsteemis on võimalik teha snapshot-e alavolüümidest, juurvolüümidest ning isegi üksikutest failidest. Kuid tasub ära mainida, et snapshot ei ole rekursiivne ehk ei tehta automaatselt snapshot-e ka alamvolüümidest.
btrfs subvolume create /kodu/kaust/subvol
Nüüd on meil loodud alamvolüüm.
btrfs subvolume snapshot /kodu/kaust/subvol /kodu/kaust/snapshot
Nii on loodud snapshot alamvolüümist, kus on näha kõik seal asetsenud failid.
Kasutatud kirjandus
https://btrfs.wiki.kernel.org/index.php/Main_Page http://www.howtoforge.com/a-beginners-guide-to-btrfs