raid1 hiba

Fórumok

Sziasztok a következő a problémám. Van egy gépem amin soft raid1 van összerakva a swapnak és az adatoknak is. Sajnos volt több áramszünetem és áramlökésem és valahogy nem élte túl a raid1 hibátlanul a dolgot. Amióta vissza tudtam varázsolni valahogy a rendszert azóta így néz ki az adatlekérés a raid1-ről:

/dev/md1:
Version : 1.2
Creation Time : Tue Jul 1 09:01:27 2014
Raid Level : raid1
Array Size : 483371840 (460.98 GiB 494.97 GB)
Used Dev Size : 483371840 (460.98 GiB 494.97 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent

Update Time : Mon Feb 2 16:18:21 2015
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0

Name : portal:1 (local to host portal)
UUID : 34aa4682:b85d2074:25abc61d:33bcb98d
Events : 53507

Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 0 0 1 removed

Azóta sajnos a kernel frissítés a következő hibát dobja

Megtalált initrd lemezkép: /boot/initrd.img-3.5.0-23-generic^M
/usr/sbin/grub-probe: figyelmeztetés: Nem található a(z) „(null)” fizikai kötet. Néhány modul hiányozhat a mag lemezképből..^M
/usr/sbin/grub-probe: figyelmeztetés: Nem található a(z) „(null)” fizikai kötet. Néhány modul hiányozhat a mag lemezképből..^M
/usr/sbin/grub-probe: figyelmeztetés: Nem található a(z) „(null)” fizikai kötet. Néhány modul hiányozhat a mag lemezképből..^M
/usr/sbin/grub-probe: figyelmeztetés: Nem található a(z) „(null)” fizikai kötet. Néhány modul hiányozhat a mag lemezképből..^M

és az új kernellel való indítás sajna megáll busybox-al initramfs hibával.

Kérdésem a következő hogy tudom a raidból az 1-es számú removed dolgot eltüntetni. Sajnos hiába próbáltam másik meghajtót hozzácsapni felteszi de 2-es id-vel és akkor nem látszik a removed dolog de amint azt kiveszem újra ott ékeskedik.

A másik kérdésem az lenne, hogy erről a gépről a mentéseket logrotate-el rotálom dátum hozzáadással. Hogy lehetne azt megoldani, hogy miután kész a rotálás akkor a filéhez készűljön egy egyedi md5 hash file ugyanolyan dátummal?

Segítségeteket előre is köszönöm.

Hozzászólások

Szerintem csak annyi a baj, hogy kiesett a tömbből az egyik diszk. Próbáld meg visszatenni a kiesett diszket, valahogy így:

mdadm --add /dev/sda1 /dev/md1

sda1-et helyettesítsd be értelemszerűen.

A kernelfrissítéses hiba viszont kicsit különös, mert ha pl. /dev/md1-ként keresi a partíciót, meg kéne találni így is, hogy csak egy aktív diszk van a tömbben. Nem lehet, hogy ezt a hibát valami más váltotta ki?

szerk.: lehet, hogy mégis van összefüggés, mivel a grub a bootcode-ot megpróbálja kiírni minden fizikai diszkre. Simán lehet, hogy ha rendbehozod az array-t, meg fog oldódni ez a probléma is.

Amikor a hibás lemezt kiszedtem fizikailag a gépből betettem egy másik gépbe ott mbr csere partíció csere újra formáz és a HD sentinel szerint az eszköz 100%-os. Akkor visszatettem a gépbe sfdisk-el áttoltam rá az sdb partícióját majd mdadm --add /dev/sda1 /dev/md1 el ahogy írtad visszaraktam a raid-be akkor sem jött helyre, mert a remove dolog etünt ugyan de a 2-es helyre rakta be a lemezt és szinkronizált vele. de ha kiszedtem szabályosan (--fail jelöl majd remove) akkor vissza jött a removed dolog.

Hát, szerintem ez az elvárt működés, ha eltávolítasz egy diszket, akkor removed lesz a státusza. :)

A lentebb írt howto-t nézted? Ott elvileg pont azt az esetet írják le, amit te is szeretnél, annyi különbséggel, hogy te a régi diszket szeretnéd visszatenni. Esetleg az okozhat furcsaságokat, ha az mdadm megtalálja a metaadatokat a diszken, ennek legjobb ellenszere, ha kinullázod a kiesett diszk mondjuk első 10 MB-ját dd-vel, így garantáltan "szűz" diszkként fogja kezelni az mdadm.

Az igen csak sajnos nekem az 1-es id-n az és nemigazán tudom kiszedni onnan. Ha beteszek egy másik lemezt akkor rendbe a mdstatus szerint UU lesz mindkettő ha azt fail-nak jelölöm akkor leállítja ha remov-olom akkor teljesen eltünik de az 1-es id-n lévőt nem tudom onnan eltüntetni ez a bajom.

Pongyolán fogalmazol, és kevés adatot adsz meg. Így nehéz rájönni, hogy mit csinálsz, és hogy mit is szeretnél.

1. Mi a partíciók kiosztása (pl.: a /boot hol van; van-e külön root)?
2. Pontosan milyen parancsok kimenetét nézted (igen, tudom, hogy mdadm --detail /dev/md1, de másnak talán nem egyértelmű)
3. Pontos probléma megfogalmazás. Például: "Ha kiveszem az SDB-t, az mdadm --detail /dev/md1" parancs kimenetében feltűnik egy removed sor. Hogyan lehet elérni, hogy eltűnjön onnan?"
4. Mi az mdadm --detail /dev/md1 parancs kimenete, miután SDB-t visszatetted?

Tettem bele egy másik új bontatlan winyót a kimenet a következő lett:

/dev/md1:
Version : 1.2
Creation Time : Tue Jul 1 09:01:27 2014
Raid Level : raid1
Array Size : 483371840 (460.98 GiB 494.97 GB)
Used Dev Size : 483371840 (460.98 GiB 494.97 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Tue Feb 3 18:33:14 2015
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Name : portal:1 (local to host portal)
UUID : 34aa4682:b85d2074:25abc61d:33bcb98d
Events : 59010

Number Major Minor RaidDevice State
0 8 18 0 active sync /dev/sdb2
2 8 2 1 active sync /dev/sda2

A kiosztás:

Fájlrendszer 1K-blocks Fogl. Szabad Fo.% Csatol. pont
/dev/md1 475656080 99420716 352050388 23% /
none 4 0 4 0% /sys/fs/cgroup
udev 996236 4 996232 1% /dev
tmpfs 201456 584 200872 1% /run
none 5120 0 5120 0% /run/lock
none 1007276 0 1007276 0% /run/shm
none 102400 0 102400 0% /run/user

A partíció felosztás:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 fej, 63 szektor, 60801 cilinder, összesen 976773168 szektor
Egység: szektorok 1 * 512 = 512 bájt
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Lemezazonosító: 0x00000000

Eszköz Indítás Eleje Vége Blokkok Az Rendszer
/dev/sda1 2048 9764863 4881408 fd Linux raid automatikus felismeréssel
/dev/sda2 * 9764864 976771071 483503104 fd Linux raid automatikus felismeréssel

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 fej, 63 szektor, 60801 cilinder, összesen 976773168 szektor
Egység: szektorok 1 * 512 = 512 bájt
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Lemezazonosító: 0x000f3507

Eszköz Indítás Eleje Vége Blokkok Az Rendszer
/dev/sdb1 2048 9764863 4881408 fd Linux raid automatikus felismeréssel
/dev/sdb2 * 9764864 976771071 483503104 fd Linux raid automatikus felismeréssel

/dev/md0 lemez: 4994 MB, 4994301952) bájt
2 fej, 4 szektor, 1219312 cilinder, összesen 9754496 szektor
Egység: szektorok 1 * 512 = 512 bájt
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Lemezazonosító: 0x00000000

A(z) /dev/md0 lemez nem tartalmaz érvényes partíciós táblát

Disk /dev/md1: 495.0 GB, 494972764160 bytes
2 fej, 4 szektor, 120842960 cilinder, összesen 966743680 szektor
Egység: szektorok 1 * 512 = 512 bájt
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Lemezazonosító: 0x00000000

A(z) /dev/md1 lemez nem tartalmaz érvényes partíciós táblát

Ha kiveszem az sda-t amit ma raktam bele akkor feltűnik egy removed sor és így fog kinézni az mdadm kimenete:

/dev/md1:
Version : 1.2
Creation Time : Tue Jul 1 09:01:27 2014
Raid Level : raid1
Array Size : 483371840 (460.98 GiB 494.97 GB)
Used Dev Size : 483371840 (460.98 GiB 494.97 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent

Update Time : Tue Feb 3 18:40:20 2015
State : active, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0

Name : portal:1 (local to host portal)
UUID : 34aa4682:b85d2074:25abc61d:33bcb98d
Events : 59022

Number Major Minor RaidDevice State
0 8 18 0 active sync /dev/sdb2
1 0 0 1 removed

És ott a removed az 1-es számmal. És ezt szeretném eltüntetni.

Ez pedig az mdstat kimenete ahogy visszatettem az sda-t:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sda2[2] sdb2[0]
483371840 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 0.1% (777536/483371840) finish=196.5min speed=40922K/sec

md0 : active raid1 sdb1[0] sda1[2]
4877248 blocks super 1.2 [2/2] [UU]

unused devices:

Ha kell még valami infó írj és küldöm. Köszi.

grub hibára: Valószínűleg a grub-ot nem tartalmazza mindkét diszk. Valószinűsítem,hogy a meghibásodott vinyón volt grub telepítve csak.

ubuntu/debian esetén: dpkg-reinstall grub-pc
és ott mindkét fizikai diszket válaszd ki.

Utána teszteld, ha az egyik diszk hibás, akkor is bootol-e

Sajnos hiába próbáltam másik meghajtót hozzácsapni felteszi de 2-es id-vel és akkor nem látszik a removed dolog de amint azt kiveszem újra ott ékeskedik.

Bocs, nem pontosan erre válaszoltam az előző kommentemben, illetve nem is biztos, hogy jót írtam.

Nézd meg ezt a howto-t:

https://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array

Itt azt az esetet írják le, hogyan tudsz kicserélni egy hibás diszket egy újjal úgy, hogy a korábbi helyére kerüljön.

Remélhetőleg ez segít a Te problémádon.

Igen végignéztem de sajna a removed dolgot nem sikerűlt eltüntetnem. Próbáltam a mdadm --manage /dev/md1 --remove failed parancsot de nem tűnik el a removed disk. Sajnos semmilyen módon nem tudom megjelölni az egységet. Elötte sda volt de ahogy kiesett nem lehet blokk eszközhöz kötni és így nem tudom kiszedni a raid-ből.

A RAID1 tartalmának mindaddig konzisztensnek kellene lennie, amíg legalább az egyik komponense ép. A hibaüzenetekből arra következtetek, hogy mindkét komponens meg van valamennyire dögölve. Nyilván a korábban elhalt komponenst kidobta a RAID1-ből, a maradék medig még valamiért online módban van, de nem örvend túl jó egészségnek.

Egyik lemez kiesett, ezért degraded. Tégy hozzá egy másikat.
Smart mit mond a megmaradtra?