XFS

Popravilo sistema XFS

Popravilo sistema XFS
Datotečni sistemi so zgrajeni na vrhu shranjevalnih naprav. Obstajajo krmilniki RAID in krmilniki diskov, vsak pa ima svoj majhen del vdelane programske opreme. Obstajajo predpomnilniki za izboljšanje zmogljivosti. Obstajajo diski z različnimi velikostmi sektorjev, obstajajo pa diski, ki poročajo o različni velikosti sektorja, odvisno od tega, kako postavite vprašanje.

S toliko različnimi deli, ki predstavljajo tipičen skladiščni sklad, je čudež, da karkoli sploh deluje. Vendar pa stvari večino časa dobro delujejo. Nekajkrat, ko gre kaj narobe, potrebujemo pripomočke, kot je xfs_repair, da nas rešijo nereda.

Stvari lahko gredo narobe, ko pišete datoteko in se napajanje izklopi ali pa pride do panike v jedru. Tudi podatki, ki mirujejo na disku, lahko sčasoma propadejo zaradi fizične strukture pomnilniških elementov, kar je znano kot gniloba bitov. V vseh primerih potrebujemo mehanizem za:

  1. Preverjanje podatkov, ki jih beremo, so isti podatki, kot so bili nazadnje zapisani. To se izvede tako, da imamo kontrolno vsoto za vsak blok podatkov in primerjamo kontrolno vsoto za ta blok, ko se podatki berejo. Če se kontrolna vsota ujema, podatki niso bili spremenjeni
  2. Način za rekonstrukcijo poškodovanih ali izgubljenih podatkov iz zrcalnega bloka ali iz paritetnega bloka.

Nastavitev peskovnika

Nastavimo testbench, da zažene popravilo xfs, namesto da uporabimo dejanske diske z dragocenimi podatki. Če že imate pokvarjen datotečni sistem, lahko preskočite ta razdelek in skočite desno na naslednjega. Ta preskusna plošča je sestavljena iz VM Ubuntu, na katerega je povezan navidezni disk, ki zagotavlja surovo shrambo. VirtualBox lahko uporabite za ustvarjanje VM in nato ustvarite dodaten disk, ki ga želite pritrditi na VM.

Pojdite v nastavitve VM in pod Nastavitve → Shramba V razdelku lahko dodate nov disk v krmilnik SATA, lahko ustvarite nov disk. Kot je prikazano spodaj, vendar poskrbite, da bo vaš VM izklopljen, ko to storite.

Ko je nov disk ustvarjen, vklopite VM in odprite terminal. Ukaz lsblk seznam vseh razpoložljivih blokovnih naprav.

$ lsblk
sda 8: 0 0 60G 0 disk
├─sda1 8: 1 0 1M 0 del
└─sda2 8: 2 0 60G 0 del /
sdb 8:16 0 100G 0 disk
sr0 11: 0 1 1024M 0 rom

Poleg glavne blokovne naprave sda, tam, kjer je nameščen OS, je zdaj nova naprava sdb. Na hitro ustvarimo particijo iz nje in jo formatiramo z datotečnim sistemom XFS.

Odprite ločeni pripomoček kot korenski uporabnik:

$ razdeljeno -optimalno / dev / sdb

Najprej ustvarimo particijsko tabelo z uporabo mklabel, nato sledi izdelava ene particije iz celotnega diska (ki je velika 107 GB). Če je particija narejena, lahko preverite tako, da jo navedete z ukazom za tiskanje:

(ločeno) mklabel gpt
(razdeljeno) mkpart primarni 0 107
(razdeljen) tisk
(ločeno) nehaj

V redu, zdaj lahko z uporabo lsblk vidimo, da je pod napravo sdb nova blokovna naprava, imenovana sdb1.

Oblikujmo to shrambo kot xfs in jo pritrdimo v imenik / mnt. Ponovno naredite naslednja dejanja kot root:

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

Zadnji ukaz bo natisnil vse nameščene datotečne sisteme in lahko preverite, ali je / dev / sdb1 nameščen na / mnt.

Nato zapišemo kup datotek kot lažne podatke, ki jih bomo tu defragmentirali:

$ dd, če = / dev / urandom od = / mnt / myfile.txt štetje = 1024 bs = 1024

Zgornji ukaz bi napisal datoteko myfile.txt velikosti 1 MB. Če želite, lahko samodejno ustvarite več takih datotek, jih razporedite po različnih imenikih znotraj datotečnega sistema xfs (nameščenega na / mnt) in nato preverite, ali je razdrobljenost. Za to uporabite bash ali python ali kateri koli vaš najljubši skriptni jezik.

Preverjanje in popravljanje napak

Poškodovani podatki se lahko brez vaše vednosti tiho prikradejo na vaše diske. Če podatkovni blok ni prebran in kontrolna vsota ni primerjana, se napaka lahko prikaže ob napačnem času. Ko nekdo poskuša dostopati do podatkov, v realnem času. Namesto tega je dobro, da pogosto opravite temeljito skeniranje vseh podatkovnih blokov za preverjanje gnitja bitov ali drugih napak.

Pripomoček xfs_scrub naj bi to nalogo opravil za vaš. Delno navdihnjena z ukazom za čiščenje OpenZFS, je ta poskusna funkcija na voljo samo v različici xfsprogs 4.15.1-1ubuntu1, ki ni stabilna izdaja. Če napačno zazna napako, vas lahko zavede, da namesto da bi jo odpravili, povzročite poškodbe podatkov! Če pa želite z njim eksperimentirati, ga lahko z ukazom uporabite v nameščenem datotečnem sistemu:

$ xfs_scrub / dev / sdb1

Preden poskusite popraviti poškodovan datotečni sistem, ga morate najprej demontirati. To preprečuje, da bi aplikacije nenamerno zapisovale v datotečni sistem, ko naj bi ga pustili pri miru.

$ umount / dev / sdb1

Popravilo napak je preprosto kot zagon:

$ xfs_repair / dev / sdb1

Bistveni metapodatki se vedno hranijo kot več kopij, tudi če ne uporabljate RAID-a in če je šlo kaj narobe s superblokom ali inodi, potem lahko ta ukaz to težavo popravi po vsej verjetnosti.

Naslednji koraki

Če pogosto opazite poškodbe podatkov (ali celo enkrat, če izvajate nekaj, kar je kritično), razmislite o zamenjavi diskov, saj je to lahko zgodnji pokazatelj diska, ki bo kmalu umrl.

Če krmilnik odpove ali je kartica RAID opustila življenje, potem nobena programska oprema na svetu ne more popraviti datotečnega sistema za vas. Ne želite si dragih računov za obnovitev podatkov in tudi dolgih zastojev, zato bodite pozorni na te SSD-je in predilnike!

Kako namestiti League Of Legends na Ubuntu 14.04
Če ste ljubitelj League of Legends, je to priložnost, da preizkusite League of Legends. Upoštevajte, da LOL podpira PlayOnLinux, če uporabljate Linux....
Namestite najnovejšo strategijo igre OpenRA v Ubuntu Linux
OpenRA je Libre / Free Real Time strateški stroj, ki poustvarja zgodnje igre Westwood, kot je klasična Command & Conquer: Red Alert. Porazdeljeni modi...
Namestite najnovejši Dolphin Emulator za Gamecube & Wii v Linux
Dolphin Emulator vam omogoča igranje izbranih iger Gamecube in Wii na osebnih računalnikih Linux (PC). Dolphin Emulator je prosto dostopen in odprtok...