btrfs ismerkedés

Fórumok

Hi!

Ismerkedem a btrfs-el egy virtuális gépen. Sikerült olyan állapotba hozni, hogy nem igazán értem, hogy mit lehetne vele kezdeni, ötleteket várnék. :-)

Debian Jessie, partíciók:
md0 -> sda1:sdb1 swap
md1 -> sda2:sdb2 /
btrfs (raid1) -> sda3:sdb3

Létrehozás:
mkfs.btrfs -f -m raid1 -d raid1 /dev/sda3 /dev/sdb3

Aztán mountoltam sda3-t és amit odatettem szépen megjelent sdb3-on éljen. Virtuális gépből kilőttem az sdb-t és persze minden raid szétesett, majd visszatettem sdb-t újra partícionáltam visszatettem a tömbökbe a megfelelő partíciókat és a btrfs-t is sikerült helyrehozni.

Nade! Gondoltam, most az sda3-t "barmolom" el, erre partícionálóval kitöröltem.
A "btrfs fi show" továbbra is azt mondja, hogy megvan minden. Próbáltam kitörölni a "btrfs device delete missing /dev/sda3"-al, de nem sikerült.

Próbáltam létrehozni sda3-t, és aztán törölni, az sem segített. Hogy tudnám mégis törölni a btrfs-ből az sda3-t?

Minden ötletet, linket előre is köszönök!

Hozzászólások

Nem e miatt van?

In case of raidXX layout, you cannot go below the minimum number of the device required. So before removing a device (even the missing one) you may need to add a new one. For example if you have a raid1 layout with two device, and a device fails, you must:
mount in degraded mode
add a new device
remove the missing device

Forrás

Igen, Ön nyert! ;-)

Újabb disk hozzáadása után már el lehetett venni a hibásat.

Mondjuk én is benéztem, mert az sda3-t töröltem, de ugye ettől Ő még ténylegesen ott van. Majd fogtam és csináltam az 5GB helyett 10GB-ot, de ugye ez esetben is ugyanott maradt "csak" a vége messzebb lógott a partíciónak.

Most ez OFF lesz: De akármennyire is bizonygatják sokan, a BTRFS még mindig teszt fázisban van.
Így ilyenek könnyen előfordulnak. Elvileg nagyon ígéretes, de nagyon könnyen hibába lehet vinni.
Bocsi az OFF-ért.

---------------------------------------------------------------
Ritkán szólok hozzá dolgokhoz. Így ne várj tőlem interakciót.

Azért az látszik hogy valamilyen doksi alapján próbálta "javítani" a kötetet. Eredmény nélkül.
Lásd Pl.: LVM vagy mdadm azért szokott szólni hogy "figyi ezt nem így kéne" vagy "biztos vagy benne? baj lehet belőle" satöbbi satöbbi.
Szerény véleményem szerint még a készítők sem tudják, mit hogyan kéne kezelni benne. Meg melyik tool-t mire is kellene használni.

---------------------------------------------------------------
Ritkán szólok hozzá dolgokhoz. Így ne várj tőlem interakciót.

A Btrfs is szól, "ezt így nem lehet", épp ez a gondja a felvetőnek.
Tehát nem veszik el semmi, nincs hibás működés, csak nem tudja a felvető, hogyan kell csinálni.
Csinál valamit, amire hibaüzenet jön, hogy ezt nem lehet.

Ha valaki raid-et szeretne vele készíteni, akkor a minimum, hogy az idevonatkozó doksit megnézi: Using Btrfs with Multiple Devices
Egy másik megoldás, hogy rákeres, az első x találat biztos segít.

Ez így van!

Meg is tettem, a linkelt doksit bogarászom és próbálgatom. De mint kiderült (fentebb megírtam az imént) pár dolgot rosszul értelmeztem illetve kezeltem és -e miatt nem sikerültek a dolgok.

A linken pedig rendesen leírták:
For example if you have a raid1 layout with two device, and a device fails, you must:
mount in degraded mode
add a new device
remove the missing device

De sajnos felületes voltam és ezt már nem olvastam. Elnézést!!

Köszönöm a türelmeteket!

Már körvonalazódik a következő kérdés, de előtte próbálok alaposabb lenni... ;-)

Köszönöm a biztatást.

A szabad hely meghatározásával gyűlt meg a bajom. Esetleg valaki el tudná magyarázni, hogy mit is látok alább?
A "normál" nézet, amiről tudom, hogy a btrfs-nél nem használható, de ide írom:

root@btrfs:~# df -h
Fájlrendszer Méret Fogl. Szab. Fo.% Csatol. pont
/dev/sdb3 14G 896K 14G 1% /mnt

Itt látható, hogy btrfs milyen eszközökből van összerakva:

root@btrfs:~# btrfs fi show
Label: none uuid: f1a458c2-2d79-4542-a60d-e871c0160e14
Total devices 2 FS bytes used 448.00KiB
devid 3 size 7.00GiB used 1.28GiB path /dev/sdb3
devid 4 size 7.00GiB used 1.28GiB path /dev/sdc1

Btrfs v3.17

Itt a méret lenne látható, csak épp értelmezni nem tudom. :-(

root@btrfs:~# btrfs fi df /mnt/
Data, RAID1: total=1.00GiB, used=320.00KiB
System, RAID1: total=32.00MiB, used=16.00KiB
Metadata, RAID1: total=256.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B

Itt a végén mondom el, hogy 2db 7GB-os partíción van btrfs raid1-ben, ezen egyetlen file található:

root@btrfs:~# ls -l /mnt/
összesen 4
-rw-r--r-- 1 root root 74 márc 2 12:46 teszt.txt

Szóval a kérdésem a fentiek értelmezése ill. honnan tudhatom mennyi a szabad hely? (Bár, ha a fentieket megértem, lehet a második felére is megkapom a választ.)

Ezt nézegettem és ez alapján "egyszerűnek tűnt", de a gyakorlat ugye más.... https://wiki.archlinux.org/index.php/Btrfs#Displaying_used.2Ffree_space

Backportból feltéve a 4.4.1-es toolst már egész érthető:


root@btrfs:~# /bin/btrfs fi usage /mnt/
Overall:
Device size: 14.00GiB
Device allocated: 2.56GiB
Device unallocated: 11.44GiB
Device missing: 0.00B
Used: 896.00KiB
Free (estimated): 6.72GiB (min: 6.72GiB)
Data ratio: 2.00
Metadata ratio: 2.00
Global reserve: 16.00MiB (used: 0.00B)

Data,RAID1: Size:1.00GiB, Used:320.00KiB
/dev/sdb3 1.00GiB
/dev/sdc1 1.00GiB

Metadata,RAID1: Size:256.00MiB, Used:112.00KiB
/dev/sdb3 256.00MiB
/dev/sdc1 256.00MiB

System,RAID1: Size:32.00MiB, Used:16.00KiB
/dev/sdb3 32.00MiB
/dev/sdc1 32.00MiB

Unallocated:
/dev/sdb3 5.72GiB
/dev/sdc1 5.72GiB

Köszönöm a türelmeteket... ;-)

Lenne még egy kevésbé megértett terület.

Szóval azt látom, hogy btrfs raid1-hez kell 2db eszköz, de akár egy harmadikat is hozzácsaphatok, akkor ezek között szétoszlanak az adatok (3x1TB disk btrfs raid1 után a szabad kapacitás 1.5TB marad(!!)). Tehát - jócskán - nem úgy viselkedik mint az md raid1.

Nade, ha ilyen könnyen hozzácsaphatok eszközöket és ezzel növelhetem a tárterületet, akkor mi szükség a "btrfs fi resize +5GB /mnt"-re? Vagy ez arra lenne jó, ha az egész mögött egy LVM van és azt növelem, akkor hozzá tudjam növelni a btrfs-t is?

Bár itt meg nem egészen értem, hogy miért az LVM mögé, ha "csak" simán eszközöket lehet a btrfs-hez adni és azzal is nő a tárterület? Minek még egy réteg?

Esetleg ezt meg tudná valaki világítani nekem akár egy linkkel is?

Előre is köszönöm!

Az első részhez: valóban így van, eltér a btrfs működése az md raid1-től, itt mindig 2 felé osztja az adatokat. Részletek itt.

"mi szükség a "btrfs fi resize +5GB /mnt"-re?"
Akkor van rá szükség, ha több partícióra osztottad a lemezed, pl. btrfs+ext4, majd rájössz, hogy az ext4 mégsem kell és hozzá akarod csapni a btrfs-hez. Vagy a fordított esetnél, ha egy btrfs partíciód van és rájössz, hogy kellene egy ext4 is, akkor összenyomod a btrfs fájlrendszered, majd csinálsz új partíciót a felszabadult helyre.
Összefoglalva: akkor van rá szükség, ha fizikailag több a hely a meglévő eszközödön, mint amit használsz és növelni szeretnéd, vagy a fordítottja, kevesebbet akarsz használni, mint amit éppen használsz.

"Minek még egy réteg?"
Pontosan, teljesen szükségtelen az LVM Btrfs esetén.