XFS

XFS fájlrendszer töredezettségmentesítése

XFS fájlrendszer töredezettségmentesítése
A töredezettség régóta problémát jelent a tárolás terén. Akkor merül fel, ha a hosszan tartó használat miatt az adathordozók darabokra osztják a kiosztott blokkokat, amelyek között szabad hely van. Ez azért történik, mert a különféle programok különböző sorrendben kérik a memóriát, majd különböző időpontokban felszabadítják a memóriát. Az adatok közötti fel nem osztott hely darabjai csökkentik a lemezen rendelkezésre álló teljes területet (a tárolás hatékonyságát) és a lemez teljesítményét is, mivel az adatokat nem nagy összefüggő darabokban tárolják, hanem szétterítik a lemezen.

Ez a probléma különösen nyilvánvaló a mágneses adathordozókon, bár az SSD-k is szenvednek tőle. Próbáljuk töredezettségmentesíteni egy XFS fájlrendszert ebben a bejegyzésben.

Homokozó beállítása

Először, az XFS fájlrendszerrel való kísérletezés érdekében úgy döntöttem, hogy létrehozok egy tesztelőasztalot, ahelyett, hogy a lemezen lévő kritikus adatokkal dolgoznék. Ez a tesztasztal egy Ubuntu virtuális gépből áll, amelyhez egy virtuális lemez csatlakozik, nyers tárhelyet biztosítva. A VirtualBox segítségével létrehozhatja a virtuális gépet, majd létrehozhat egy további lemezt a virtuális géphez csatoláshoz

Csak nyissa meg a virtuális gép beállításait és az alatt Beállítások → Tárolás szakaszban új lemezt adhat a SATA vezérlőhöz, létrehozhat új lemezt. Az alábbiak szerint, de ellenőrizze, hogy a virtuális gép ki van-e kapcsolva, amikor ezt megteszi.

Az új lemez létrehozása után kapcsolja be a virtuális gépet, és nyissa meg a terminált. A parancs lsblk felsorolja az összes elérhető blokkoló eszközt.

$ lsblk
sda 8: 0 0 60G 0 lemez
├─sda1 8: 1 0 1M 0 rész
Da─sda2 8: 2 0 60G 0 rész /
sdb 8:16 0 100G 0 lemez
sr0 11: 0 1 1024M 0 rom

A fő blokkolóeszközön kívül sda, ahol az operációs rendszer telepítve van, ott van egy új SDB eszköz. Hozzunk létre gyorsan egy partíciót belőle, és formázzuk az XFS fájlrendszerrel.

Nyissa meg a megosztott segédprogramot root felhasználóként:

$ elvált - optimális / dev / sdb

Először hozzunk létre egy partíciós táblázatot az mklabel használatával, ezt követve egyetlen partíciót hozunk létre a teljes lemezről (amely 107 GB méretű). A nyomtatási paranccsal ellenőrizheti, hogy a partíció elkészült-e:

(elvált) mklabel gpt
(elvált) mkpart elsődleges 0 107
(elvált) nyomtatás
(elvált) kilép

Oké, most az lsblk használatával láthatjuk, hogy az sdb eszköz alatt van egy új blokkoló eszköz, sdb1.

Formázzuk ezt a tárhelyet xfs fájlként, és illesszük be az / mnt könyvtárba. Ismét tegye a következő műveleteket gyökérként:

$ mkfs.xfs / dev / sdb1
$ mount / dev / sdb1 / mnt
$ df -h

Az utolsó parancs kinyomtatja az összes csatlakoztatott fájlrendszert, és ellenőrizheti, hogy a / dev / sdb1 a / mnt könyvtárra van-e csatolva.

Ezután egy csomó fájlt fiktív adatként írunk itt töredezettségmentesítésre:

$ dd, ha = / mnt / saját fájl = / dev / urandom.txt szám = 1024 bs = 1024

A fenti parancs a myfile fájlt írja.txt 1 MB méretű. Automatizálhatja ezt a parancsot egy egyszerű ciklusba a bash használatával, és további ilyen fájlokat generálhat. Ha tetszik, terjessze őket különféle könyvtárakba. Töröljön véletlenszerűen néhányat közülük. Végezze el mindezt az xfs fájlrendszeren belül (a / mnt fájlra telepítve), majd ellenőrizze a széttöredezettséget. Mindez természetesen nem kötelező.

Töredezettségmentesítse a fájlrendszert

Első dolog, amit meg kell tennünk, hogy kitaláljuk, hogyan ellenőrizhető a töredezettség mértéke. Például a korábban létrehozott xfs fájlrendszer a / dev / sdb eszközcsomóponton volt. Használhatjuk az xfs_db segédprogramot (ami az xfs hibakeresést jelenti) a töredezettség ellenőrzésére.

$ xfs_db -c frag -r / dev / sdb1

A -c zászló különféle parancsokat vesz igénybe, amelyek közül a frag parancs a töredezettség szintjének ellenőrzésére szolgál. A -r jelzővel megbizonyosodhatunk arról, hogy a művelet teljes egészében csak olvasható.

Ha úgy találjuk, hogy ebben a fájlrendszerben van töredezettség, futtatjuk az xfs_fsr parancsot az eszköz csomópontján:

$ xfs_fsr / dev / sdb1

Ez az utolsó parancs a fájlrendszer töredezettségmentesítésére szolgál, ezt hozzáadhatja cronjobként, amely rendszeresen figyeli a fájlrendszert. De ennek az xfs-nek való csinálásának kevés értelme van. Az XFS kiterjedésen alapuló elosztása biztosítja, hogy az olyan problémák, mint a széttagoltság, a lehető legkevesebb legyen.

Használjon tokokat

Azokban a felhasználási esetekben, amikor a fájlrendszer széttöredezettségével kell leginkább foglalkoznia, olyan alkalmazásokra van szükség, amelyekben sok apró adatrész van írva és újraírva. Az adatbázis ennek klasszikus példája, és az adatbázisok arról híresek, hogy sok-sok „lyukat” hagytak a tárolóban. A memóriablokkok nincsenek folyamatosan feltöltve, így a rendelkezésre álló hely mennyisége az idő múlásával egyre kisebb.

A probléma nemcsak a csökkent használható terület, hanem a csökkent IOPS tekintetében is felmerül, ami károsíthatja az alkalmazás teljesítményét. A fragmentáció szintjének folyamatos figyelemmel kísérése egy szkript segítségével konzervatív módon fenntartja a rendszert. Nem akarja, hogy egy automatikus szkript véletlenszerűen kezdje el a fájlrendszer töredezettségmentesítését, különösen akkor, ha csúcsterheléskor használják.

Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...
Az FPS növelése Linux alatt?
Az FPS jelentése Képkocka másodpercenként. Az FPS feladata a videolejátszások vagy játékteljesítmények képkockasebességének mérése. Egyszerű szavakkal...