Átállás soft raid1-ről hw raid1-re

Szeretnék kiváltani debian alatt működő soft raid1-et, hw-s raid1-re.
Milyen buktatókra figyeljek?

Mindenképp a meglévő rendszert kellene átvinnem. Egyelőre azt nem látom, hogyan lehetne simán megoldani, hogy az md eszközöket eltüntessem, mert a kártya ugye /dev/sda-t fog mondani a tömbjére.

Arra gondoltam, hogy a következő lépésekben viszem át az adatokat:
- lecsatolom az md* tömbök alól az sda partícióit. Azért az sda-t, mert a raid kártya is sda eszközt fog adni.
- bootolok úgy, hogy az sdb adja a softos raid1 egyetlen "lábát". Közben a raid kártyával (ez egyébként egy 3ware 9500-as) csinálok egy raid1 tömböt, amit /dev/sda-nak látok.
- létrehozom a hw-s raiden az ugyanazt a partíciós táblát, ami a softos raidnek van, kivéve, hogy raid autodetect típusok legyenek.
- dd-vel átmásolok minden partíciót a soft raid-ról hw-raidre, grubot izzítok hw-raiden, majd bootolok róla, és meglátom mennyire lett szép és jó, amit csináltam. Ha feljön a rendszer hw-s raidről, (ja, grubot persze átírom, hogy pl. root ne /dev/md0-án legyen), akkor örülök, és a régi lemezt is a raid karira teszem, és mehet a hw-s raid1 felépítése.

Szerintetek hol bukom bele? :)

Annyi adalék még van, hogy a softveres raid-em e pillanatokban is igen instabil, és jelenleg épp 1 hdd-vel megy. Tehát nem para (ok, ez nem igaz), hogy kivegyem az egyik lábát.

Köszi előre is, bocs az esetleges béna fogalmazásért, de épp fáradok.

Boldog karácsonyt addig is!

Ja igen, majd elfelejtettem. A legrázósabb rész az, hogy miként oldjam meg az md eszközök nélkülözését? Itt zavarodok bele... Kernel modulban van? Esetleg nem is tudok szoftveres raid-re épített rendszert átalakítani?

Hozzászólások

a 3ware nem fogja engedni 1 diskkel megcsinalni a raid1-et

A'rpi

csupán elvben: mivan, ha a "féllábú" bootolás után hozzáadod a hw raid tömböt az sw raid-hez? Nem kell dd, leszinkronizálja magát, aztán utána minden más, ahogy írtad.

Azt elfelejtettem írni, hogy szerencsére van "gyakorló" gépem, ugyanolyan modell, mint ami bent van a teremben, ráadásul megvan a rendszer - nem épp a legfrisseb - tükörképe is a benne lévő két vinyón. Ezzel fogom nemsokára kipróbálni, hogy merre tudok elindulni.

Kérdés, hogy a hw-raid enged-e féllábú tömböt csinálni? (Szerk: ahogy más írta: nem engedi a féllábú raid-et.)

A szoftraid instabil pontosan mit jelent? Néha kiesik az egyik diszk a tömbből? Én kérnék kölcsön egy diszket, arra csinálnék normális backup-ot (nem, a dd nem jó ötlet - célszerűbb fájlszintű mentést csinálni, ugyanis a dd-s másolatnál vagy pontosan azonos méretű partícióra másolsz, vagy pedig image-be, amit loop eszközön keresztül tudsz fájlrendszerként látni, miközben az üres helyet is tartalmazva pazarolja a helyet)) (CD-s boot, aztán nagyjából a /dev, /proc /tmp kivételével mindent átmásolni rá)
Utána a meglévő diskzekből csinálnék egy hw-raid tömböt, partíciók, mkfs, majd a /mnt/ide alá összemountolni a hw-raiden lévő partíciókat, a /mnt/innen alá meg a mentést tartalmazó diszket, aztán mehet a visszamásolás/restore.Ezt követően a /mnt/innen lecsatol, /mnt/ide alá chroot, fstab, initrd, grub, rebutty.

Még mindig ott tartok, hogy SATA bus resetem van (itt a korábbi topik), de kizárólag az /dev/sdb portján csinálja.

Ha a nálam lévő másik gép, ami ugyanolyan, mint az éles szerver, nem ugyanezt a tünetet produkálná, akkor simán azt gondolnám, hogy alkatrész (pl. sima adatkábel) hiba. Radásul a mostani két hdd teljesen új (tudom, nem jelenti feltétlen azt, hogy hibátlan), és mindkettőnél ugyanezt a SATA resetet nyomta a rendszer, ha a /dev/sdb porton lógott. Szerintem valami hw-kernel ütközés lehet.

Végül úgy döntöttünk - másik gépnél bevált -, hogy belerakunk egy raid kártyát. Itt tartok most.

Köszönöm a tippeket, dd-t kihagyom.

És biztos vagy benne, hogy egy kontroller csere stabilizálja a rendszeredet?

Én is előzetesen szeretnék információt gyűjteni raid ügyben.

Van egy működő rendszerem 3 lemez sw raid 5-el az adatoknak, tehát a rendszer egy külön vinyón van, raid nélkül. A rendszert újra szeretném húzni, úgy, h a raiden lévő adatok ne sérüljenek, jelen állapotban semmi baja a raidnek. Nem vagyok raid tapasztalt, neten ilyenre nem találtam semmit, de gondolom ez probléma nélkül megy. A kérdés igazából az, hogy az újratelepítés után a sync mennyi ideig fog tartani várhatóan? Illetve, hogy van-e valami amire figyelnem kéne?
(particiók vannak raidbe fogva, s nem a vinyok)

Szerintem nincs ebbe semmi különös, de köszönöm, ha ránézel. És az időigényre tudsz valamit mondani?

mdstat:
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]
md0 : active raid5 sdc1[0] sdd1[2] sdb1[1]
1953519872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

unused devices:

df:
/dev/sda2 1.9G 112M 1.7G 7% /
tmpfs 1.8G 0 1.8G 0% /lib/init/rw
udev 10M 904K 9.2M 9% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
/dev/sda1 46M 14M 30M 32% /boot
/dev/sda8 202G 4.6G 187G 3% /home
/dev/sda6 4.6G 139M 4.3G 4% /tmp
/dev/sda7 4.6G 508M 3.9G 12% /usr
/dev/sda5 9.2G 771M 8.0G 9% /var
/dev/md0 1.8T 514G 1.2T 30% /mnt/data

fdisk:
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0004c4e7

Device Boot Start End Blocks Id System
/dev/sda1 * 1 6 48163+ 83 Linux
/dev/sda2 7 249 1951897+ 83 Linux
/dev/sda3 250 1222 7815622+ 82 Linux swap / Solaris
/dev/sda4 1223 30401 234380317+ 5 Extended
/dev/sda5 1223 2438 9767488+ 83 Linux
/dev/sda6 2439 3046 4883728+ 83 Linux
/dev/sda7 3047 3654 4883728+ 83 Linux
/dev/sda8 3655 30401 214845246 83 Linux

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc748c748

Device Boot Start End Blocks Id System
/dev/sdb1 1 121601 976760001 fd Linux raid autodetect

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc748c748

Device Boot Start End Blocks Id System
/dev/sdc1 1 121601 976760001 fd Linux raid autodetect

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdd1 1 121601 976760001 fd Linux raid autodetect

Disk /dev/md0: 2000.4 GB, 2000404348928 bytes
2 heads, 4 sectors/track, 488379968 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table

Telepítőben meglévő raidet nem hiszem, hogy ki lehet választani. Legbiztosabb az sda-ra feltelepíteni a friss rendszert, majd rsync-kel átmásolni a raidre 1:1-ben, grubot rárakni és átírni a grub menu.lst fájlt.

B verzió:
A rendszer maradhat sda-n, időnként pedig biztonsági mentést készítesz róla raidre. Talán így a legegyszerűbb, feltéve, ha nem az sda vinyó eltávolítása a cél.

Lehet, hogy rosszul gondolom, de valahogy le kell ellenőriznie, hogy a két diszken tényleg ugyanaz van, de lehet, hogy rosszul gondolom. Én ezt neveztem syncnek, de ezek szerint tévesen.
Tehát azt mondod hogy a sda-ra való újratelepítés után létrehozhatom újra az md0-t a 3 lemezzel, és egyből teljesértékűen használható lesz a régi adatokkal?

Így van, gyakorlatban egyszerűbb ez mint gondoltam. Nem hittem volna, h ennyi metaadat elmentődik, még az eredeti install hostneve is rámentődik a tömbre.
Jó kis virtualboxon tettem egy kísérlet kört, s tökéletesen megtalálta a régi tömbömet, még csinálni se kellett vele semmit.

Köszönöm az infókat, most már kicsit nyugodtabban vágok majd bele a dologba.

Köszönöm mindenkinek a segítséget! Végül úgy döntöttem, hogy a "testvér gépen" feltelepítek egy teljesen új rendszert (pár dolgot úgyis át szerettem volna alakítani a régiben, így ez most kapóra jön), aztán átmásolom adatokat, és a kész rendszert vezérlővel, hdd-vel együtt átteszem az éles gépbe.

Nagy szerencse, hogy teljesen ugyanaz a konfig rendelkezésre áll, amin elkészíthetek mindent...

Nekem hamarosan ugyan ezt a műveletet kéne megejtenem, csak CentOS 6.x-en.
Szívem szerint nem telepíteném újra a rendszert, mert elég sok változtatás van már benne, amit nem szívesen próbálnék meg újra megcsinálni.

Lett esetleg a topic kihalása óta valakinek tapasztalat ez ügyben?

Ha már átálltok, Soft- és hardware RAID1 esetén csináljatok légyszi performancia tesztet. Kíváncsi vagyok, hoz-e jelentős előnyt a hardware RAID1 a mai erős procik és erős alaplapi buszok esetén.

2007 óta ~évente végzek teszteket 3ware/LSI kártyákkal (bővítés kapcsán). Számottevő különbséget nem mértem RAID-1, RAID-5, RAID-6, RAID-10 vs. SW RAID esetében.
Valahol feljegyzések is vannak ennek kapcsán. Ha megtalálom, bemásolom.

Egyébként ezekkel néztem:
3ware Inc 9650SE-16ML (2007-ben)
3ware Inc 9750-8i
3ware Inc 9650SE-8LPML
3ware Inc 9750-4i (16 portos)
LSI Logic / Symbios Logic MegaRAID SAS 84016E

Hát, egy lényegeset nem találtam a szálban. Vegyetek új lemezeket is az új kártyához. A használt lemez nem lemez, fölösleges rizikó.

miután ez egy harmadszor felhozott szál, így inkább csak a rezonanciáimat írom ide:

pont ilyenek miatt használunk ahol csak lehet LVM-et. vg-hez hozzávesszük az új diszkrendszert (új pv) pvmove átviszi menet közben a filesystemeket, vgreduce lekapcsolja a régi pv -t, azt kidobom.
Az fstab -ban sehol nem szerepel md device, sem annak neve, konfigban átírni semit nem kell.

Filesystem alatt cserélünk raidet, diszket, egész vasat, drbd -t húzunk alá, átméretezzük a filesystemet, új partíció(filesystem) a root mellé, mindezt lehetőleg online, konzisztens mentést akarunk, nagyon kevés leállási idővel. (legfeljebb egy rebootnyi idő). ==> LVM.

+1

(sőt - bár bevallom, szakmailag nem tudom pontosan alátámasztani, így lehet, hogy akadnak, akik majd megcáfolnak - újabban a hw/sw raid pv-k helyett átálltam az LVM mirror-ra, így csak azokat a volume-okat tükrözöm, amiket szükséges, a "feláldozható" adatok nem foglalnak dupla HDD-t)

2011-ben teszteltem utoljára, akkor még azt se tudta, hogy az lvm mirror két tagjáról balanced olvasson, csak az egyiket terhelte. Vagy nem tudom, de a terhelést nem osztotta szét (lvconvert -m1 -i3 /dev/data_vg/data_lv ) után:


# dstat -a --disk-util 20
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- sda--sdb--sdc--sdd--sde--sdf--sdg--sdh-
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw |util:util:util:util:util:util:util:util
  0   2  91   7   0   0|  68M   96M|   0     0 |   0     0 |1380  2932 |32.6:33.0:41.5:34.2:36.3:38.2:0.06:0.05
  0   3  66  30   0   1|3072B  188M| 150B  553B|   0     0 |2672    24k|21.2:21.5:22.7: 100:   0:1.66:0.10:0.10
  0   3  62  34   0   1|3072B  192M| 163B  509B|   0     0 |1390    17k|22.2:22.8:22.9: 100:   0:0.84:0.20:0.16
  0   4  62  34   0   1|3277B  211M| 105B  511B|   0     0 |5123    32k|24.3:24.7:23.9: 100:   0:0.64:   0:   0
  0   3  64  32   0   1|3072B  192M| 159B  509B|   0     0 |5571    34k|20.3:21.1:21.1: 100:   0:0.92:0.12:0.12
  0   4  55  41   0   1|3686B  211M| 170B  511B|   0     0 |1431    23k|24.7:24.9:25.2: 100:   0:   0:0.04:   0
  0   4  60  36   0   0|2662B  189M| 105B  509B|   0     0 |1135    20k|21.2:20.7:22.4: 100:   0:1.38:   0:   0
  0   1  62  37   0   0|   0   214M| 175B  496B|   0     0 | 637    43k|23.9:23.7:23.4: 100:   0:   0:   0:   0
  0   7  63  30   0   0|7219B  192M| 170B  504B|   0     0 |2362    28k|22.4:22.9:22.7: 100:   0:1.90:   0:   0