Visszaállítása superblock`a - admin jegyzetek
Néha merevlemezek sypyatsya. És gyakran - nem a megfelelő időben, és a mentés elavult ... És akkor meg kell mozgatni.
Általában a következő helyzetet:
Server "szőrös" évek Reid nem, SATA meghajtó, öreg, FreeBSD 5.x rendszer
Az áthelyezés után a szerver nem emelkedik, de a közelebbi tárgyakat helyezünk kiderült, hogy sokkal esett merevlemez. Megszórjuk olyan mértékben, hogy a vert kezelése részében kernel pánik, de egyes részei nem ellenőrizte, megesküdtem, mint ez - fájlrendszer hibás, rossz szuperblokk, fuss fsck kézzel ...
Megoldás:
A jelenléte három lemezek
ad0 - régi meghajtót játékteret.
ad2 - egy új lemezt, másolás kábelköteg.
ad3 - az új lemez lesz a munkások, a régi helyett.
1. Csatlakoztassa a garantált működési sistemnike régi ad0 meghajtót. új meghajtó ad2 (jobb nagyobb hangerő) és cdrom.
2. Georgia CD FreeBSD, lépjen a live-cd módban.
3. Készítsen egy biztonsági másolatot (a régi meghajtó morzsolódik bármikor)
# Dd if = / dev / ad0 a = / dev / ad2 bs = 64k conv = noerror
4. Fektesse le a mentési oldalon.
5. Reboot.
Emelje ugyanazt a rendszert az új meghajtóra.
1. Csatlakoztassa a meghajtók ad0 és ad3.
1. Georgia CD FreeBSD, lépjen a live-cd módban.
2. Osszuk az új CD hasonló módon (körülbelül ugyanaz, mint a régi, a fő szelvény nem kevesebb, mint voltak). Ne felejtsük el telepíteni a boot loader (Boot Manager) az új meghajtót.
3. Reboot, csak abban az esetben, hogy ellenőrizze, hogy a változásokat a fájlrendszer őrzi pontosan az új meghajtóra.
4. Jelölje ki. Mi vagyunk az élő-cd módban. Most kell csatlakoztatni a szakaszok a régi lemez. Ahhoz, hogy ezt elérjük, helyreállítani a superblock.
4.1. Keresünk alternatív szuperblokkokat
# Newfs -N / dev / ad0s1a
Ne felejtsük el, N gombot. Látjuk valami hasonlót:
/ Dev / ad0s1a: 1024.0MB (2097152 szektorok) blokkméret 16384, fragmentum mérete 2048
alkalmazásával 6 hengeres csoportok 183.77MB, 11761 blks, 23552 inode.
szuper-mentéseket (az fsck -B #) at:
160, 376512, 752864, 1129216, 1505568, 1881920
Érdekeltek vagyunk a sorban a „szuper-mentéseket (az fsck -b #) at:”
és a szuper-blokkok, hogy az ott felsorolt.
4.2. Fix szuper-blokk
# Fsck_ufs -b 160 / dev / ad0s1a
4.3. A Mount módosított szakasz érvényesítésében mód, ahogy azt csak olvasni
# Mount -f / dev / ad0s1a / mnt / régi
5. Most az áttétel is. Csatold egy új meghajtó (ad3):
# Mount / dev / ad3s1a / mnt / new
Másolja a tartalmát a tar-edik szakasz
# Tar-C / mnt / régi -cvf -. | tar -C / mnt / new -xpf
6. Győződjön meg arról, hogy az átvitel befejeződött, lehet ellenőrizni térfogatú, például df -h paranccsal. Fórumok leválasztása / mnt / régi és az / mnt / new
7. Ismételje meg a 4-6 (szükség esetén helyreállítása szuper-blokk), vagy 5-6 minden szegmensében.
Ez minden. Néhány árnyalatok:
Fájlrendszerek meg kell egyeznie a régi és az új lemezt. Azaz, ha a régi lemez FreeBSD 5.x és fent volt - valószínűleg UFS2 akkor, ha új partíciót, akkor akár az új live-cd. Ha a 4.x a régi lemezt - még egy új kell létrehozni partíciókat UFS1.
A 4.x nem fog működni fsck_ufs -b, akkor a dd:
# Dd if = / dev / ad0s1a skip = 32 = / dev / ad0s1a seek = 16 bs = 512 count = 16
Mindenesetre, a közvetlen másolás. Ön tudja menteni az állami szektor „mint”:
#DD if = / dev / ad0s1a skip = 16 = / old_16 bs = 512 count = 16
A szöveget másolt valahol, a forrás nem ismert.