Btrfs

From EIK wiki

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