A Btrfs RAID létrehozása után további tárolóeszközöket adhat hozzá a RAID-hoz a RAID kibővítéséhez. De ha további tárolóeszközöket ad hozzá a RAID-hoz, a Btrfs nem terjeszti a meglévő adatokat / metaadatokat / rendszeradatokat automatikusan az új tárolóeszközökre. Tehát előfordulhat, hogy nem kapja meg a kívánt átviteli sebességet (olvasási / írási sebességet) a RAID-ból, és előfordulhat, hogy nem tudja feltölteni az új tárolóeszközöket a szükséges redundáns adatokkal. Tehát előfordulhat, hogy a RAID tömb nem képes túlélni a meghajtó hibák kívánt számát.
E problémák megoldására a Btrfs fájlrendszer beépített kiegyensúlyozó eszközt biztosít. A Btrfs balance segédprogram a RAID meglévő tárolóeszközeinek adatait / metaadatait / rendszeradatait terjeszti az újonnan hozzáadott tárolóeszközökre.
Ebben a cikkben bemutatom, hogyan használhatja a Btrfs balance segédprogramot a RAID meglévő tárolóeszközeinek az adatok / metaadatok / rendszeradatok terjesztésére az újonnan hozzáadott tárolóeszközökre. Tehát kezdjük!
Rövidítések
RAJTAÜTÉS - Redundáns tömb olcsó / független lemezek
MB - Megabájt
GB - Gigabájt
Előfeltételek
A cikk követéséhez működő Btrfs RAID vagy több eszköz telepítőre van szükség.
Létrehoztam egy Btrfs RAID fájlt RAID-0 konfiguráció 4 tárolóeszköz segítségével sdb, SDK, SD D, és sde.
Mint látható, a Btrfs fájlrendszer lefoglalt 1 GB lemezterület az adatok számára1 256 MB lemezterület metaadatok2, és 4 MB lemezterület rendszer-adatok3 a RAID tárolóeszközeiből.
Ról ről 18.75 GB kívül 20 GB még mindig nincs kiosztva4 a RAID egyes tárolóeszközeiből.
$ sudo btrfs fájlrendszer használat / adatok
Szkript írása véletlenszerű fájlok létrehozásához
A Btrfs balance segédprogram 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 script genfile-t.sh az / usr / local / bin / könyvtárba 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 mérete 256 MB lesz.
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:
$ sudo chmod + x / usr / local / bin / genfiles.SH
A genfiles.SH A shell parancsfájlnak most már elérhetőnek kell lennie, mint bármely más parancsnak.
$ melyik genfile.SH
Véletlen fájlok létrehozása a Btrfs fájlrendszerben
Véletlen fájlokat akarunk létrehozni a Btrfs RAID-ben. Tegyük fel, hogy a Btrfs RAID 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
Amint láthatja, a Btrfs RAID 2 GB-ot rendelt el a RAID-hoz hozzáadott minden egyes tárolóeszközből. Korábban a Btrfs RAID 1 GB-ot osztott ki a RAID-hoz hozzáadott minden egyes tárolóeszközből.
A fel nem osztott lemezterület csökkent a 18.75 GB nak nek 17.75 GB a RAID összes tárolóeszközében.
$ sudo btrfs fájlrendszer használat / adatok
Újabb tárolóeszköz hozzáadása a Btrfs RAID-hoz
Új tárolóeszköz hozzáadásához be kell mutatnia, hogyan kell egyensúlyba hozni a Btrfs RAID-t egy új tárolóeszköz hozzáadása után.
Új HDD-t adtam hozzá sdf a számítógépemre, amelyet hozzá akarok adni a Btrfs RAID-hoz, amely a /adat Könyvtár. Nézzük meg, hogyan kell csinálni.
$ sudo lsblk -e7
Navigáljon egy másik könyvtárba (i.e., ITTHON könyvtár) a /adat könyvtárat az alábbiak szerint:
$ cd
A tárolóeszköz hozzáadásához sdf a Btrfs RAID-ra, amely a /adat könyvtárba, futtassa a következő parancsot:
$ sudo btrfs eszköz add / dev / sdf / data
Mint láthatja, a tárolóeszköz sdf hozzáadódik a Btrfs RAID fájlhoz. A RAID mérete nőtt a 80 GB nak nek 100 GB.
$ sudo btrfs fájlrendszer használat / adatok
A Btrfs RAID kiegyensúlyozása
Mint látható, az újonnan hozzáadott tárolóeszköz (sdfRAID (a /adat könyvtár) 20 GB fel nem osztott, és a többi tárolóeszköz (sdb, SDK, SD D, sde, stb.) van 17.75 GB nem kiosztott.
$ sudo btrfs fájlrendszer használat / adatok
Az adat1, metaadatok2, és a rendszeradatok3 csak a RAID meglévő tárolóeszközein érhetők el, az újonnan hozzáadott tárolóeszközön nem.
Az adatok, metaadatok és rendszeradatok terjesztése a RAID összes tárolóeszközén (beleértve az újonnan hozzáadott tárolóeszközt is) /adat könyvtárba, futtassa a következő parancsot:
$ sudo btrfs balance start --full-balance / data
Az adatok, metaadatok és rendszeradatok terjesztése a RAID összes tárolóeszközén eltarthat egy ideig, ha sok adatot tartalmaz.
Miután a RAID tárolóeszközei megfelelő egyensúlyban vannak, a következő üzenetet kell látnia.
Mint látható, a mérlegművelet befejezése után az újonnan hozzáadott tárolóeszköznek ugyanolyan mennyiségű szabad helye van, mint a RAID többi tárolóeszközének.
A mérlegművelet után ugyanannyi lemezterület kerül lefoglalásra, mint a RAID többi tárolóeszköze az újonnan hozzáadott tárolóeszköz adatai, metaadatai és rendszeradatai számára (sdf) a RAID.
Következtetés
Ebben a cikkben megvitattam a Btrfs balance segédprogram célját, valamint a Btrfs RAID vagy többeszközös fájlrendszer kiegyensúlyozását, miután új tárolóeszközöket adtunk hozzá a RAID vagy a többeszközös fájlrendszerhez.