1. leht 1-st

Mirror raidi kettad uuesti mirrorisse

Postitatud: 21.10.2012, 11:47
Postitas RiisPeet
Mis olukord tekib, kui 2 mirrorina töötanud ketast, mis on olnud teatud aja eri masinates, st sinna on kummagile midagi juurde kirjutatud ja midagi ära kustutatud panna uuesti kokku mirroriks? Mis saab uutest ja kustutatud failidest, kas tekib volüüm kus on olemas mõlema ketta failide summa? Mis siis saab kui mõlemal kettal on olemas mingi sama nimega fail, aga maht ja kuupäev on erinevad?

Postitatud: 21.10.2012, 13:54
Postitas sander85
Ma ei usu, et nende taasliitmine hea mõte on.

Postitatud: 21.10.2012, 15:35
Postitas chris
Ühe ketta info kopeeritakse teisele ja seal eelnevalt olnud erinevad asjad kaovad.
Linuxi RAID peaks olema nii tark, et oma tarkusest üle kirjutama ei hakka ja käsib sul endal otsustada.

Postitatud: 22.10.2012, 20:08
Postitas RiisPeet
Kumma ketta info üle kirjutatakse? Kuidas ma aru saan, et hakkab üle kirjutama, kas enne on mingi selge vastav hoiatus?

Postitatud: 22.10.2012, 22:48
Postitas akbgf
Võhiku küsimus:
aga kas neid kettaid enne ära sünkroniseerida ei saa?

Postitatud: 23.10.2012, 19:42
Postitas illukas
nii ei saa kohe kindlasti.
Mõlemalt kettalt kraam ära ja siis alles lase nad kokku. kavõi rsynciga kuhugi, saad võrrelda faile ja saad lõpptulemuseks korraliku koopia

kui raid on ülesse ehitatud siis kopeerid asjad tagasi.

Postitatud: 23.10.2012, 21:03
Postitas RiisPeet
Kas mõnda sellist programmi oskab keegi soovitada, mis võrdleks kettaid ja teeks nimekirja failidest mis ei ole identsed?

Postitatud: 24.10.2012, 07:53
Postitas illukas
rsync-iga saad seda näiteks teha

Postitatud: 24.10.2012, 08:44
Postitas akbgf
illukas kirjutas:nii ei saa kohe kindlasti.
Mõlemalt kettalt kraam ära ja siis alles lase nad kokku. kavõi rsynciga kuhugi, saad võrrelda faile ja saad lõpptulemuseks korraliku koopia
Aga miks ei võiks rsynciga neid vastamisi sünkroniseerida?
Algul ühelt teisele uuenenud ja puuduvad failid ja siis teiselt esimesele niisamuti.

Postitatud: 24.10.2012, 17:16
Postitas sander85
RiisPeet kirjutas:Kas mõnda sellist programmi oskab keegi soovitada, mis võrdleks kettaid ja teeks nimekirja failidest mis ei ole identsed?
KDE koosseisus on kdiff3 näiteks, mis annab päris hea ülevaate, aga suure koguse failide puhul võib see üsna kaua aega võtta.

Postitatud: 24.10.2012, 19:26
Postitas illukas
vaadates postitaja algset teemapüstitust siis just selleks et välistada kasutajapoolne vea tekitamine. Teeb omastarust synci, kuid kogematta laseb algsed failid üle.....
Ehk alati on kindlam/turvalisem teha asi teisekohta kui näperdada algmaterjali

diff (sort of) on rsyncile sisse ehitatud, seega ei näe mingit põhjust hakata topelt tööd tegema

Postitatud: 24.10.2012, 23:58
Postitas chris
RiisPeet kirjutas:Kumma ketta info üle kirjutatakse? Kuidas ma aru saan, et hakkab üle kirjutama, kas enne on mingi selge vastav hoiatus?
Et teema on huvitav ja endal senine kogemus puudub, siis tegin natuke katseid.
Tulemused lühidalt: RAID-1 taastatakse viimasena kasutusel olnud komponendi järgi, kui sa just ise käsitsi juhtima ei hakka.

Natuke pikemalt. RAID-1 seade /dev/md0 koosneb komponentidest /dev/sdb1 ja /dev/sdc1. Eeldades, et eraldi kasutades ühendati /dev/sdb1 ja /dev/sdc1 lahti eri aegadel, ja /dev/sdb1 oli kasutusel viimasena, siis sisestades käsu mdadm -A /dev/md0 /dev/sdb1 /dev/sdc1 kirjutatakse /dev/sdc1 sisu üle.

Sünkroniseerimine on rohkem või vähem keeruline, sest pead mõtlema välja, mida teha mitte ainult lisatud ja muutunud failidega, vaid ka kustutatud failidega. S.t. kui sdc1-lt on fail kustuatud, siis kas ta kustutada ka sdb1-lt.

Kõige lihtsam sünkroniseerimine on tegelikult võimalik ka käsu cp abil. Tal on parameeter -u, mis tähendab seda, et fail kirjutatakse üle siis ja ainult siis, kui ta puudub lõpp-punktis või lõpp-punktis olev fail on vanem. Parameetri -u kõivale soovitan panna vee -a, mis teeb rekursiivse failide parameetreid säilitava koopia kõigist failisüsteemi objektidest.

Näide kah, kasutades ülaltoodud kettaid. Kui sa ei kasuta just admin. režiimi konsooli/terminali, siis tuleb selles näites igale käsule ette lisada sudo.

Kood: Vali kõik

# Paneme tööle RAID-1 seadme, mida sünkroniseerida
mdadm --assemble /dev/md0 --run /dev/sdb1

# Paneme tööle ajutiselt teise RAID-1 seadme, millelt sünkroniseerida
mdadm --assemble /dev/md1 --run /dev/sdc1

# Ühendame kettad süsteemi
mkdir /mnt/SRC /mnt/DST
mount /dev/md0 /mnt/DST
mount /dev/md1 /mnt/SRC

# Sünkroniseerime ketaste sisud
cd /mnt/SRC
cp -au * /mnt/DST

# Ühendame /dev/sdc1 lahti
umount /mnt/SRC
mdadm --stop /dev/md1

# Sünkroniseerime RAID-1 seadmel /dev/md0
mdadm --manage /dev/md0 --add /dev/sdc1
Kui RAID-1 on käivitatud vanemalt kettalt katkisena ja lisatakse juurde uuem, siis taastamine toimub vanema ketta järgi.
Kui vähegi võimalik, siis ära pista kahte ketast korraga arvutisse ja tee rebooti. Bootimise ajal toimub RAID ketaste automaatne käivitamine ja kahjuks ka sünkroniseerimine.

Postitatud: 25.10.2012, 20:28
Postitas RiisPeet
"RAID-1 taastatakse viimasena kasutusel olnud komponendi järgi"
Mille järgi tehakse kindlaks kumb ketastest oli viimati kasutusel? Näiteks kui mul oli 2 ketast mirroris, millest üks kukkus mingi aeg ära. Ma võtsin kettad küljest ja uurisin eraldi seda ära kukkunud ketast teises arvutis (midagi sellele teadlikult ei kirjutanud ega kustutanud) siis kas see saabki viimati kasutusel olevaks komponendiks kuna oli viimati mingis arvutis sees?

Postitatud: 25.10.2012, 20:51
Postitas chris
Selline mulje mulle jäi küll. Kordan siiski üle, et ma ei testinud kõikmõeldavaid kombinatsioone ja järeldused võivad olla valed.

Kui sa midagi muutnud ei ole, siis kõige lihtsam on kustutada teises arvutis RAID-i info: mdadm --zero-superblock /dev/md3 (ise paned õige seadme).
Seejärel tõsta nullitud ketas teise arvutisse ja taasta RAID.

Postitatud: 25.10.2012, 21:33
Postitas illukas
chris kirjutas:Selline mulje mulle jäi küll.
Mulje peale ärgem küll seda katsetama hakake, oluliselt kindlam on asjad ära kopeerida..

Samas au ja kiitus kodutöö eest! oleks selliseid kasutajaid rohkem

Postitatud: 25.10.2012, 23:39
Postitas chris
illukas kirjutas:Mulje peale ärgem küll seda katsetama hakake, oluliselt kindlam on asjad ära kopeerida..
Nõus. Suurim lollus, mis saab korraldada, on panna mõlemad kettad arvutisse ja siis buutida. Mulle ei meenu mitte ühtegi Linuxit, mille initramfs/initrd ei üritaks RAID-i kohe tööle panna. (Täpsustuseks olgu öeldud, et ma mõtlen siinkohal automaatselt käivitatavaid RAID'e.) Veelgi vähem soovivad nad kasutaja käest küsida, mida teha...
Muide, ma ei kujuta ette ka teise (op.-)süsteemide käitumist analoogsel juhul. Üks näide: http://thedailywtf.com/Articles/RAIDing_Disks.aspx

Antud juhul on hea retsepti andmiseks sisend liiga kesine; see tuleb küsijal endal kokku panna. Jätkamiseks peaks vihjeid olema piisavalt. Alternatiiv oleks oma täieliku tegevuste ja nende tulemuste postitamine.

RiisPeet'i näite lahendusena pakun ma järgmist.
1. veendu, et ketas on korras (ilmselt on)
2. pane ketas arvutisse, milles ei ole RAID-1 töökorras komponentketast
3. käivita kettal RAID-1
4. nulli äsja käivitatud RAID-1 superplokk
5. pane nullitud ketas töökorras ketta kõrvale
6. käivita RAID-1 töökorras kettaga
7. lisa nullitud ketas RAID-1'le
8. oota ära, et RAID-1 sünkroniseeriks kettad