Többeszközös Btrfs fájlrendszerben vagy Btrfs RAID-ben a fájlrendszer konfigurációjától függően a Btrfs fájlrendszerhez hozzáadott tárolóeszközök különböző helyein tárolt adat- / metaadat-blokkok több példánya is lehet. Amikor a Btrfs súroló eszköz meghibásodott adat / metaadat blokkot talál, akkor a Btrfs fájlrendszerhez hozzáadott összes tárolóeszköz után megkeresi az adott adat / metaadat blokk másolatát. Miután megtalálta az adat / metaadat blokk másolatát, a sérült adatok / metaadatok blokk felülírásra kerül a helyes adat / metaadat blokkkal. Így javítja a Btrfs súroló eszköz a sérült adat- / metaadat-blokkokat egy többeszközös Btrfs fájlrendszerben vagy Btrfs RAID-ben.
Ebben a cikkben bemutatom, hogyan használhatja a Btrfs súroló eszközt a sérült adatok / metaadat-blokkok megkeresésére és javítására egy többeszközös Btrfs fájlrendszerben vagy Btrfs RAID-ben. Tehát kezdjük.
Rövidítések
RAJTAÜTÉS - Redundáns tömb olcsó / független lemezek
GB - Gigabájt
Előfeltételek
A cikk követéséhez rendelkeznie kell működő többeszközös Btrfs fájlrendszerrel vagy Btrfs RAID-del.
Létrehoztam egy Btrfs RAID fájlt RAID-1 konfiguráció (a /adat könyvtár) 4 tárolóeszköz használatával sdb, SDK, SD D, és sde, ahogy az alábbi képernyőképen láthatja. Ezt a Btrfs RAID-t a Btrfs súroló bemutatóhoz fogom használni ebben a cikkben.
$ sudo btrfs fájlrendszer használat / adatok
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-on című cikkemet.04 LTS.
Ha segítségre van szüksége a Btrfs fájlrendszer Fedorára történő telepítésével kapcsolatban, olvassa el a Btrfs telepítése és használata a Fedora 33 című cikkemet.
Ha segítségre van szüksége a Btrfs RAID létrehozásában, olvassa el a cikkemet A Btrfs RAID beállítása.
Dummy fájlok létrehozása a Btrfs fájlrendszeren
A Btrfs súroló eszköz működésének bemutatásához létre kell hoznunk néhány véletlenszerű fájlt a Btrfs fájlrendszer feltöltéséhez. Hozzunk létre egy shell szkriptet, amely éppen ezt teszi.
Hozzon létre egy új shell parancsfájlt genfiles.SH ban,-ben / usr / local / bin / könyvtárat az alábbiak szerint:
$ sudo nano / usr / local / bin / genfiles.SH
Írja be a következő kódsorokat a genfiles.SH shell script.
#!/ bin / bashmíg igaz
csinálni
FILENAME = $ (uuidgen)
echo "[Létrehozás] $ FILENAME"
dd, ha = / dev / véletlenszerű = $ FILENAME bs = 1M count = 256 status = progress
echo "[Létrehozva] $ FILENAME"
Kész
Ha végzett, nyomja meg a gombot
A genfiles.SH shell parancsfájl végtelenül fut míg hurok.
míg igazcsinálni
# egyéb kód
Kész
A következő sor egy UUID-t állít elő a uuidgen parancsot és tárolja az UUID-t a FÁJL NÉV változó.
A következő sor a fájl előtt üzenetet nyomtat a konzolon FÁJL NÉV generálódik.
A következő sor új véletlenszerű fájlt generál FÁJL NÉV használni a dd parancs. A fájl lesz 256 MB méretben.
A következő sor a fájl után üzenetet nyomtat a konzolra FÁJL NÉV generálódik.
Végrehajtási engedély hozzáadása a genfiles.SH shell szkript az alábbiak szerint:
s
A genfiles.SH A shell parancsfájlnak most már elérhetőnek kell lennie, mint bármely más parancsnak.
$ melyik genfile.SH
Generáljunk néhány véletlenszerű fájlt a Btrfs RAID-be, amely a /adat Könyvtár.
Navigáljon a /adat könyvtár, ahová a Btrfs RAID van csatlakoztatva, az alábbiak szerint:
$ cd / adat
Mint látható, a Btrfs RAID-ban jelenleg nem állnak rendelkezésre fájlok.
$ ls -lh
Néhány véletlenszerű fájl előállítása az aktuális munkakönyvtárban (/adat könyvtár ebben az esetben), futtassa a genfiles.SH shell szkript az alábbiak szerint:
$ sudo genfiles.SH
A genfiles.SH shell parancsfájlnak el kell kezdenie véletlen fájlok létrehozását a /adat Könyvtár.
A genfiles.SH szkript véletlenszerű fájlokat generál. Hagyja futni a szkriptet néhány percig, így kb. 2-3 GB lemezterületet tölt fel a Btrfs RAID.
Amikor le akarja állítani a genfiles.SH parancsfájl, nyomja meg a gombot
Mint látható, néhány véletlenszerű fájl generálódik a Btrfs RAID-ben.
$ ls -lh
Körülbelül 13 GB véletlenszerű fájlt generáltam a Btrfs RAID - be, amely a /adat könyvtárat, amint az az alábbi képernyőképen látható.
$ sudo du -sh / data
A Btrfs Scrub eszköz használata
Ebben a részben bemutatom, hogyan kell használni a Btrfs súroló eszközt. Kezdjük el.
Elindíthatja a súrolási folyamatot a Btrfs fájlrendszerre, amely a /adat könyvtár a következő paranccsal:
$ sudo btrfs scrub start / data
A Btrfs súrolási folyamatot el kell indítani a Btrfs fájlrendszeren, amely a /adat Könyvtár.
Láthatja a Btrfs súroló folyamat állapotát, amely a /adat könyvtárat az alábbiak szerint:
$ sudo btrfs súrolás állapota / adatai
Amint láthatja, a Btrfs súrolási folyamat még mindig folyamatban van futás.
A sok fájlt tartalmazó Btrfs fájlrendszer vagy Btrfs RAID súrolása hosszú ideig tart.
Miután a Btrfs súrolási folyamat befejeződött, az állapotot módosítani kell befejezett, ahogy az alábbi képernyőképen láthatja.
$ sudo btrfs súrolás állapota / adatai
Láthatja a Btrfs súrolási állapotát is a Btrfs fájlrendszerhez hozzáadott minden tárolóeszközhöz (a /adat könyvtár) külön az alábbiak szerint:
$ sudo btrfs scrub status -d / data
Mondtam már, hogy a Btrfs súrolási folyamat hosszú ideig tart, amíg egy nagy Btrfs fájlrendszeren befejeződik. A Btrfs súroló eszköz egyik nagy előnye, hogy a folyamat bármikor szüneteltethető és folytatható.
Nézzük meg, hogyan lehet szüneteltetni és folytatni a Btrfs súrolási folyamatot.
Először indítson el egy új Btrfs súrolási folyamatot a / data könyvtárba szerelt Btrfs fájlrendszeren az alábbiak szerint:
$ sudo btrfs scrub start / data
A Btrfs fájlrendszeren jelenleg futó Btrfs súrolási folyamat megszakításához vagy szüneteltetéséhez /adat könyvtárba, futtassa a következő parancsot:
$ sudo btrfs scrub cancel / data
A futó Btrfs súrolási folyamatot törölni vagy szüneteltetni kell.
Amint láthatja, a Btrfs súrolás állapota megszakította. Tehát a Btrfs súrolási folyamat már nem fut.
$ sudo btrfs súrolás állapota / adatai
A törölt vagy szüneteltetett Btrfs súrolási folyamat folytatásához futtassa a következő parancsot:
$ sudo btrfs scrub resume / data
A Btrfs súrolási folyamatot folytatni kell.
Amint láthatja, a Btrfs súroló állapota most van futás. Tehát a Btrfs súrolási folyamat folytatódik.
$ sudo btrfs súrolás állapota / adatai
Miután a Btrfs súrolási folyamat befejeződött, a Btrfs súrolás állapotát módosítani kell befejezett.
$ sudo btrfs súrolás állapota / adatai
Következtetés
Ebben a cikkben bemutattam, hogyan kell működni a Btrfs súroló eszközzel a Btrfs többeszközös fájlrendszer vagy a RAID sérült adatainak / metaadatblokkjainak megtalálásához és javításához. Megmutattam, hogyan lehet törölni / szüneteltetni és folytatni a Btrfs súrolási folyamatot, amint az elindult.