Autor |
Sõnum |
RiisPeet
Pingviini aktivist
Liitunud: 16.11.2006
Postitused: 134
|
|
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?
|
|
|
|
|
|
|
|
sander85
Vana Pingviin
Vanus: 39
Liitunud: 08.08.2005
Postitused: 4359
Asukoht: Tallinn (vahel ka Virtsu)
Distributsioon: Mageia, Debian, CentOS
|
|
Ma ei usu, et nende taasliitmine hea mõte on.
|
|
|
|
_________________
|
|
|
|
chris
Pingviini aktivist
Liitunud: 16.02.2009
Postitused: 146
Asukoht: Tallinn
Distributsioon: Debian 6.0/7.0
|
|
Ü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.
|
|
|
|
|
|
|
|
RiisPeet
Pingviini aktivist
Liitunud: 16.11.2006
Postitused: 134
|
|
Kumma ketta info üle kirjutatakse? Kuidas ma aru saan, et hakkab üle kirjutama, kas enne on mingi selge vastav hoiatus?
|
|
|
|
|
|
|
|
akbgf
Vana Pingviin
Liitunud: 07.10.2009
Postitused: 763
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
|
|
Võhiku küsimus:
aga kas neid kettaid enne ära sünkroniseerida ei saa?
|
|
|
|
|
|
|
|
illukas
Vana Pingviin
Vanus: 44
Liitunud: 24.10.2006
Postitused: 2036
|
|
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.
|
|
|
|
_________________ https://www.inlink.ee
|
|
|
|
RiisPeet
Pingviini aktivist
Liitunud: 16.11.2006
Postitused: 134
|
|
Kas mõnda sellist programmi oskab keegi soovitada, mis võrdleks kettaid ja teeks nimekirja failidest mis ei ole identsed?
|
|
|
|
|
|
|
|
illukas
Vana Pingviin
Vanus: 44
Liitunud: 24.10.2006
Postitused: 2036
|
|
|
|
akbgf
Vana Pingviin
Liitunud: 07.10.2009
Postitused: 763
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
|
|
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.
|
|
|
|
|
|
|
|
sander85
Vana Pingviin
Vanus: 39
Liitunud: 08.08.2005
Postitused: 4359
Asukoht: Tallinn (vahel ka Virtsu)
Distributsioon: Mageia, Debian, CentOS
|
|
|
|
illukas
Vana Pingviin
Vanus: 44
Liitunud: 24.10.2006
Postitused: 2036
|
|
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
|
|
|
|
_________________ https://www.inlink.ee
|
|
|
|
chris
Pingviini aktivist
Liitunud: 16.02.2009
Postitused: 146
Asukoht: Tallinn
Distributsioon: Debian 6.0/7.0
|
|
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: |
# 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.
|
|
|
|
|
|
|
|
RiisPeet
Pingviini aktivist
Liitunud: 16.11.2006
Postitused: 134
|
|
"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?
|
|
|
|
|
|
|
|
chris
Pingviini aktivist
Liitunud: 16.02.2009
Postitused: 146
Asukoht: Tallinn
Distributsioon: Debian 6.0/7.0
|
|
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.
|
|
|
|
|
|
|
|
illukas
Vana Pingviin
Vanus: 44
Liitunud: 24.10.2006
Postitused: 2036
|
|
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
|
|
|
|
_________________ https://www.inlink.ee
|
|
|
|
chris
Pingviini aktivist
Liitunud: 16.02.2009
Postitused: 146
Asukoht: Tallinn
Distributsioon: Debian 6.0/7.0
|
|
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
|
|
|
|
|
|
|
|
|