Btrfs

A Btrfs fájlrendszer töredezettségmentesítése

A Btrfs fájlrendszer töredezettségmentesítése

A Btrfs kiterjedés-alapú másolás írásra (CoW) fájlrendszer. A nagyméretű fájlokat több adatmennyiségben tárolják; és amikor ezek a nagyméretű fájlok módosulnak, a módosítandó kiterjesztéseket új, üres kiterjesztésekre másolják a tárolóeszköz másik helyére, és az új helyen módosítják. Ezután a nagyméretű fájlok kiterjedését újból összekapcsolják, hogy a frissített kiterjedésre mutassanak. A régi terjedelmeket soha nem távolítják el azonnal.

A Btrfs fájlrendszer Copy-on-Write (CoW) szolgáltatása így okozza a széttöredezettséget. A töredezettség azt jelenti, hogy a nagy fájlok adatszélessége az egész tárolóeszközön szétszórva található. Nem azonnal. Tehát csökkenhet a fájlrendszer teljesítménye (olvasási / írási sebesség).

A probléma megoldásához időnként töredezettségmentesíteni kell a Btrfs fájlrendszert. Ez a cikk bemutatja a Btrfs fájlrendszer töredezettségmentesítését.

Rövidítések

A cikkben használt rövidítések (rövid formák) a következők:

Előfeltételek

A cikkben található példák kipróbálása:

Van egy 20 GB-os HDD-m sdb az Ubuntu gépemen. Létrehozok egy Btrfs fájlrendszert a HDD-n sdb.

$ sudo lsblk -e7

Jegyzet: A HDD / SSD-nek valószínűleg más neve lesz, mint az enyémnek, és a partícióknak is. Tehát mindenképpen cserélje le őket a továbbiakban.

Létrehozhat egy Btrfs fájlrendszert HDD / SSD-jén (particionálás nélkül), ha rendelkezik tartalék HDD / SSD-vel. Létrehozhat egy partíciót a HDD / SSD-n, és ott létrehozhat egy Btrfs fájlrendszert is.

Ha segítségre van szüksége a Btrfs fájlrendszer Ubuntu telepítéséhez, olvassa el a Btrfs telepítése és használata az Ubuntu 20 cikket.04 LTS.

Ha segítségre van szüksége a Btrfs fájlrendszer Fedorában történő telepítéséhez, olvassa el a Btrfs telepítése és használata a Fedora 33 cikket.

Btrfs fájlrendszer létrehozása

Létrehozhat egy Btrfs fájlrendszert HDD / SSD-jén (particionálatlanul) vagy HDD / SSD partícióján.

Btrfs fájlrendszer létrehozása a sdb HDD (teljes HDD, partíciók nélkül), és adja meg a fájlrendszer címkét adat, futtassa a következő parancsot:

$ sudo mkfs.btrfs -L data / dev / sdb

A Btrfs fájlrendszert most létre kell hozni a sdb HDD.

Hozza létre a könyvtárat /adat az imént létrehozott Btrfs fájlrendszer csatlakoztatásához a következő paranccsal:

$ sudo mkdir -v / data

A .re létrehozott Btrfs fájlrendszer csatlakoztatásához sdb HDD a /adat könyvtárba, futtassa a következő parancsot:

$ sudo mount / dev / sdb / data

A Btrfs fájlrendszert most csatlakoztatni kell, amint az az alábbi képernyőképen látható:

$ df -h / adat

A Btrfs fájlrendszer kézi töredezettségmentesítése

Amint az alábbi képernyőképen látható, két fájlt másoltam a Btrfs fájlrendszerre, amely a /adat könyvtár a Btrfs fájlrendszer töredezettségmentesítésének bemutatásához:

$ ls -lh / adat

Rekurzív módon töredezettség nélkül töredezhet egyetlen fájlt vagy egy teljes részmennyiséget / könyvtárat.

Az egyetlen fájl töredezettségmentesítése / data / ubuntu-20.04.1-live-server-amd64.iso, a következő parancsot fogjuk futtatni:

$ sudo btrfs fájlrendszer töredezettségmentesítése -vf / data / ubuntu-20.04.1-live-server-amd64.iso

A fájl / data / ubuntu-20.04.1-live-server-amd64.iso töredezettségmentesíteni kell.

A fájl minden fájljának vagy könyvtárának töredezettségmentesítése /adat rekurzív módon futtassa a következő parancsot:

$ sudo btrfs fájlrendszer töredezettség -rvf / data

Amint láthatja, a /adat könyvtár töredezettségmentesítve vannak.

Ugyanígy, ha megvan az almennyiség / data / osimages, akkor töredezettségmentesítheti a / data / osimages subvolume rekurzív módon a következő paranccsal:

$ sudo btrfs fájlrendszer töredezettség -rvf / data / osimages

Btrfs fájlrendszer tömörítése töredezettségmentesítés közben

A Btrfs fájlrendszer lehetővé teszi a fájlok tömörítését, miközben töredezettségmentesítjük őket.

Az összes fájl töredezettségmentesítése a /adat könyvtárba, és tömörítse őket a ZLIB tömörítési algoritmust, futtassa a töredezettségmentesítés parancsot a -czlib opciót, az alábbiak szerint:

$ sudo btrfs fájlrendszer töredezettség -rvf -czlib / data

Az összes fájl töredezettségmentesítése a /adat könyvtárba, és tömörítse őket a ZSTD tömörítési algoritmust, futtassa a töredezettségmentesítés parancsot a -czstd opciót, az alábbiak szerint:

$ sudo btrfs fájlrendszer töredezettség -rvf -czstd / data

Az összes fájl töredezettségmentesítése a /adat könyvtárba, és tömörítse őket a LZO tömörítési algoritmust, futtassa a töredezettségmentesítés parancsot a -clzo opciót, az alábbiak szerint:

$ sudo btrfs fájlrendszer töredezettség -rvf -clzo / data

A fájlok a /adat a könyvtárat egyszerre kell töredezettségmentesíteni és tömöríteni.

Ugyanígy töredezettségmentesítheti és tömörítheti a Btrfs részmennyiség fájljait is.

A Btrfs fájlrendszer automatikus töredezettségmentesítése

A csatlakoztatáskor engedélyezheti az automatikus töredezettségmentesítést a Btrfs fájlrendszeren. A Btrfs fájlrendszer ezen szolgáltatása automatikusan töredezetté teszi a Btrfs fájlrendszer összes fájlját.

A .re létrehozott Btrfs fájlrendszer csatlakoztatásához sdb HDD a /adat az automatikus töredezettségmentesítés engedélyezve a rendszerindításkor, hozzá kell adnia egy bejegyzést a Btrfs fájlrendszerhez a / etc / fstab fájl.

Először keresse meg a Btrfs fájlrendszer UUID azonosítóját sdb HDD, az alábbiak szerint:

$ sudo blkid / dev / sdb

Amint láthatja, a Btrfs fájlrendszer UUID azonosítója a sdb A HDD az 60afc092-e0fa-4b65-81fd-5dfd7dd884de.

Neked más lesz. Tehát mindenképpen cserélje le mostantól a tiédre.

Nyissa meg a / etc / fstab fájl a nano szövegszerkesztő, az alábbiak szerint:

$ sudo nano / etc / fstab

Adja hozzá a következő sort a / etc / fstab fájl:

UUID = 60afc092-e0fa-4b65-81fd-5dfd7dd884de / data btrfs autodefrag 0 0

Ha végzett, nyomja meg a gombot + x utána Y és hogy megmentse a / etc / fstab fájl.

A módosítások életbe lépéséhez indítsa újra a számítógépet a következő paranccsal:

$ sudo reboot

Amint láthatja, a Btrfs fájlrendszer a sdb A merevlemez a /adat könyvtár engedélyezve az automatikus töredezettségmentesítéssel.

Btrfs fájlrendszer töredezettségmentesítésével kapcsolatos problémák

Bár úgy tűnik, hogy a töredezettségmentesítés javítja a fájlrendszer teljesítményét, vannak problémák a Btrfs fájlrendszer töredezettségmentesítésével.

Mivel a Btrfs egy másolás írásra (CoW) fájlrendszer, a Btrfs fájlrendszer töredezettségmentesítésével kapcsolatos problémák megértéséhez meg kell értenie a Btrfs fájlrendszer Másolás írásra funkcióját.

Tegyük fel, hogy van egy nagy fájlja (fájl1), amely a Btrfs fájlrendszer 100 kiterjesztését használja (a kiterjesztéseket fájlblokkként is felfoghatja). Ha létrehoz egy másik példányt arról a nagy fájlról (fájl2) ugyanabban a Btrfs fájlrendszerben látni fogja, hogy nincs szükség további lemezterületre. Ez azért van, mert a fájlok azonosak, és az egyes fájlok 100 kiterjedése megegyezik. Tehát a Btrfs fájlrendszer ugyanazt a kiterjedést használja mindkét fájlhoz.

1.ábra: fájl1 és fájl2 a lemezterület megtakarítása érdekében azonosak és ugyanazokkal a Btrfs fájlrendszer kiterjesztésekkel rendelkeznek

Most mondjuk módosította a nagy fájl egyik példányát (fájl2). A módosításnak a 100 méretből 10-et kell megváltoztatnia. A Btrfs fájlrendszer átmásolja a szükséges 10 kiterjesztést egy másik nem használt helyre (mondjuk, e101-e110) a fájlrendszerről, és ott változtassa meg őket. Miután a változtatásokat a lemezre írta, a Btrfs fájlrendszer újra összekapcsolja a kiterjedéseket, hogy a változások a nagy fájlban is megjelenjenek. A folyamatot az alábbi ábra szemlélteti:

2. ábra: 10 mértéke megváltozik fájl2. Tehát a kiterjedéseket újra összekapcsolják a Btrfs fájlrendszerben.

Az 1. és 2. ábra alapján megértheti, hogyan működik a másolás írásra (CoW), és hogyan használja a Btrfs fájlrendszer a másolás írásra (CoW) funkciót a lemezterület mentésére.

Most, hogy tudja, hogyan működik a Btrfs fájlrendszer Copy-on-Write (CoW) szolgáltatása, meg fogja érteni a Btrfs fájlrendszer töredezettségmentesítésével kapcsolatos problémákat.

  1. A fájlok töredezettségmentesítése áthelyezi a Btrfs adatkiterjedését és megpróbálja egymás után igazítani őket. Tehát a fájlmásolatok közötti hivatkozások megszakadnak. Ez növeli a redundáns adatmennyiséget, valamint a Btrfs fájlrendszer lemezhasználatát, amelyet korábban a fájl azonos (vagy majdnem azonos) másolatai között megosztva mentettek el.
  2. Ha egy Btrfs résztérfogatnak több pillanatképe van, akkor az almennyiség töredezettségmentesítése megszakítja az almennyiség és a pillanatképek közötti másolás írásra hivatkozásokat. Ez megnöveli a Btrfs fájlrendszer lemezhasználatát.
  3. Ha a Btrfs fájlrendszert nagy adatbázisokhoz vagy virtuális gép képekhez használja (virtuális gép adatok / lemezek tárolásához), a fájlrendszer töredezettségmentesítése szintén negatívan befolyásolja a fájlrendszer teljesítményét.

Következtetés

Ebben a cikkben megtanulta, hogyan lehet töredezettségmentesíteni egyetlen fájlt és a Btrfs fájlrendszer rekurzív könyvtárában / altérfogatában lévő fájlokat. Azt is megtanulta, hogyan engedélyezheti az automatikus töredezettségmentesítést egy Btrfs fájlrendszeren a csatlakoztatáskor. Végül a cikk megvitatta a Btrfs fájlrendszer töredezettségmentesítésével kapcsolatos néhány problémát.

Az egér bal oldali gombja nem működik a Windows 10 rendszeren
Ha dedikált egeret használ laptopjával vagy asztali számítógépével, de a az egér bal gombja nem működik a Windows 10/8/7 rendszeren valamilyen oknál f...
A kurzor véletlenszerűen ugrik vagy mozog, miközben gépel a Windows 10-ben
Ha úgy találja, hogy az egér kurzor önállóan, automatikusan, véletlenszerűen ugrik vagy mozog, miközben gépel Windows laptopba vagy számítógépbe, akko...
Az egér és az érintőpadok görgetési irányának megfordítása a Windows 10 rendszerben
Egér és Érintőpads nemcsak a számítást könnyűvé, de hatékonyabbá és kevésbé időigényessé is teszi. Nem tudunk elképzelni egy életet ezek nélkül az esz...