Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: anttia - 03.12.11 - klo:21.48
-
Käytössä ubuntu 10.04 ja softaraid neljällä 1.5tb levyllä. Emolevyllä kuusi sataliitäntää, yksi levy on käyttikselle ja yksi paikka olisi vapaana.
Hyllyssä olisi yksi kappale 2tb levyjä. Onko kahden teran levy mahdollista liittää 1.5 teran levyistä koostuvaan pakkaan, ja jos on niin miten mutkiokas toimienpide olisi odotettavissa?
-
Tässä on juttua aiheesta:http://scotgate.org/2006/07/03/growing-a-raid5-array-mdadm/ (http://scotgate.org/2006/07/03/growing-a-raid5-array-mdadm/)
Todennäköisesti et saa levyltä käyttöön 1.5Tb enempää.
Olen itsekin yrittänyt tehdä tuota aiemmin, mutta olen aina päätynyt siihen että on pitänyt vaan luoda uusi pakka. Ja varmuustallennuksista tietojen palauttaminen.
Informoi ihmeessä miten homma etenee, minua ainakin kiinnostaa miten kävi.
-
Saat siitä sen 1,5 TB käyttöön ja loppu jää käyttämättä.
-
Tähän kaipaisin apuja.
5x1.5TB levyt nyt kiinni ja pitäisi lisätä 2TB levy tuohon kaveriksi.
Levyjen tiedot:
Disk /dev/sdg: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Device Boot Start End Blocks Id System
/dev/sdg1 2048 2930280447 1465139200 83 Linux
Disk /dev/sdf: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Device Boot Start End Blocks Id System
/dev/sdf1 63 2930272064 1465136001 fd Linux raid autodetect
Tämän mukaan olen aikaisemmin lisännyt levyjä:
http://xk.fi/warrantyvoid/
Eli teen tuolle 2TB levylle täsmälleen saman kokoisen osion ja pistän sen sitten jonon jatkoksi entiseen malliin?
Ylimääräisestä osasta voin tehdä toisen osion toiseen käyttöön?
Kuinka saan tehtyä täsmälleen samankokoisen osion?
Sektorien koko on eri uudessa kuin vanhoissa levyissä, onko tuosta jotain haittaa?
-
Kuinka saan tehtyä täsmälleen samankokoisen osion?
fdisk saa tehtyä partition 1K tarkkuudella. Tässä tapauksessa on tärkeää että pakkaan lisäämäsi osio on vähintään tuon kokoinen mitä vanhat 1.5T levyt ovat. Eli tuossa sanotaankin niiden kooksi 1500301910016 tavua eli jaettuna 1024 = 1465138584Kt
luot uuden partition, kun kokoa kysytään laita +1465138584K jolloin siitä tulee täsmälleen yhtä iso kuin 1.5T levysi.
Tämän jälkeen voit mdadm työkalulla liittää uuden osion /dev/sdg1 olemassa olevaan pakkaan. Jotta muutokset tulee pysyväksi pitää muokata /etc/mdadm/mdadm.conf tiedostoa.
Lopuksi pitää tiedostojärjestelmää kasvattaa käyttämään uusi tila. Jos tiedostojärjestelmä ei tuo sitä pitää alustaa pakka uudestaan...
-
Kiitos, nyt muistin tämänkin projektin odottavan.
Tietysti paniikki taas iskee päälle, kun ei mitään tunnu tapahtuvan :)
Tiedostojärjestelmänä käytössä on XFS.
Tein sopivan kokoisen partition ja annoin komennon
mdadm --add /dev/md0 /dev/sdg1
Sen jälkeen
rassi@NAS:/mnt$ sudo mdadm --grow /dev/md0 --raid-devices=6
mdadm: Need to backup 1280K of critical section..
ja sitten
rassi@NAS:~$ sudo pvresize /dev/md0
[sudo] password for rassi:
ja tuohon jämähti. Ilmeisesti/toivottavasti tässä kohdassa aikaa tulee kuluakkin tovin ennen kuin pääsee seuraavaa komentoa antamaan?
Esimerkiksi toisessa terminaalissa komento: cat /proc/mdstat ei anna mitään vaan se "jämähtää"
en myöskään pääse katsomaan olemassa olevan raid pakan sisältöä vaan ls:kin "jämähtää" eikä näytä mitään.
-
Rohkea sen rokan söi, buuttia kehiin ja nyt tuntuu jotain tapahtuvan
@NAS:/media$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdc1[4] sdf1[3] sdb1[1] sdg1[5] sda1[0] sde1[2]
5860543744 blocks super 0.91 level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
[>....................] reshape = 1.0% (16100480/1465135936) finish=1487.2min speed=16237K/sec
unused devices: <none>
@NAS:/media$ sudo vgdisplay data
--- Volume group ---
VG Name data
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 5.46 TiB
PE Size 4.00 MiB
Total PE 1430796
Alloc PE / Size 1430796 / 5.46 TiB
Free PE / Size 0 / 0
VG UUID dyTTZJ-uTYZ-80aK-i06u-Cv21-pyME-FZkL7m
Meneeköhän kaikki nyt Ok?
Jahka reshape on valmis, niin jatkan alkuperäisen ohjeen mukaan?
ja vielä
@NAS:/media$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 0.91
Creation Time : Mon Oct 25 13:14:47 2010
Raid Level : raid5
Array Size : 5860543744 (5589.05 GiB 6001.20 GB)
Used Dev Size : 1465135936 (1397.26 GiB 1500.30 GB)
Raid Devices : 6
Total Devices : 6
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Mon Aug 27 17:16:23 2012
State : active, reshaping
Active Devices : 6
Working Devices : 6
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
Reshape Status : 1% complete
Delta Devices : 1, (5->6)
UUID : 5163c5ad:04708065:cced5de7:ca715931 (local to host NAS)
Events : 0.18901
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 65 2 active sync /dev/sde1
3 8 81 3 active sync /dev/sdf1
4 8 33 4 active sync /dev/sdc1
5 8 97 5 active sync /dev/sdg1
-
Rohkea sen rokan söi, buuttia kehiin ja nyt tuntuu jotain tapahtuvan
Lopuksi vielä ellet jo tehnyt kasvata tiedostojärjestelmät käyttämään uusi vapaa tila partitiossa:
xfs_growfs
-
Rohkea sen rokan söi, buuttia kehiin ja nyt tuntuu jotain tapahtuvan
Lopuksi vielä ellet jo tehnyt kasvata tiedostojärjestelmät käyttämään uusi vapaa tila partitiossa:
xfs_growfs
jes, kiitos.
Näyttää hetki vierähtävän tuossa reshapessa..
Every 1.0s: cat /proc/mdstat Tue Aug 28 08:09:54 2012
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdc1[4] sdf1[3] sdb1[1] sdg1[5] sda1[0] sde1[2]
5860543744 blocks super 0.91 level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
[=========>...........] reshape = 46.2% (677058828/1465135936) finish=52450.6min speed=250K/sec
Alkuun oli kyllä 10000-17000K/sec, nyt hieman hiipunut.
Näitä temppuja kokeilin:
echo 500000 | sudo tee /proc/sys/dev/raid/speed_limit_max
echo 10000 | sudo tee /proc/sys/dev/raid/speed_limit_min
Jotta kaistaa saisi hieman enemmän käyttöön, mutta sitä ei ilmeisesti pystykkään tekemään "lennossa" vaan nuo olisi
pitänyt tehdä ennen rakentamisen aloittamista. Ei ainakaan mitään muutosta tapahtunut. Vakiona arvot taisi olla 1000 ja 100000
-
Jatketaanpa seuraavalla mahdollisella paniikin aiheella. NFS ja Samba jaot katosivat NAS:lta ja seuraavaa selvisi kun purkista katselisi.
Every 1.0s: cat /proc/mdstat Tue Aug 28 16:01:43 2012
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdc1[4] sdf1[3] sdb1[1] sdg1[5] sda1[0] sde1[2]
5860543744 blocks super 0.91 level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
[============>........] reshape = 64.9% (952273856/1465135936) finish=856.0min speed=9984K/sec
unused devices: <none>
dmesg
[83520.608901] [<c1079620>] ? flush_kthread_worker+0x80/0x80
[83520.608915] [<c15af8fe>] kernel_thread_helper+0x6/0x10
[83525.344072] XFS (dm-0): xfs_log_force: error 5 returned.
[83555.424070] XFS (dm-0): xfs_log_force: error 5 returned.
[83585.504065] XFS (dm-0): xfs_log_force: error 5 returned.
rassi@NAS:/mnt/video$ ls
ls: cannot open directory .: Input/output error
-
Vaara ohi, kaikki toimii taas :)
-
Jatketaan taas tähän. Viallisen tai mahdollisesti viallisen levyn vaihtaminen pakkaan.
Meneekö ihan näin?
Oletuksena, että /dev/sda1 on viallinen pakassa /dev/md0
Merkataan sda1 vialliseksi
mdadm --manage /dev/md0 --fail /dev/sda1
Poistetaan sda1 pakasta
mdadm --manage /dev/md0 --remove /dev/sdb1
Koneen ajaminen alas ja levyn fyysinen vaihto.
Kopioidaan toiselta levyltä partitiointi uudelle levylle
sfdisk -d /dev/sdc | sfdisk /dev/sda
Nopeutetaan pakan rakentumista
echo 500000 | sudo tee /proc/sys/dev/raid/speed_limit_max
echo 10000 | sudo tee /proc/sys/dev/raid/speed_limit_min
Lisätään levy pakkaan
mdadm --manage /dev/md0 --add /dev/sda1
Jos jostain syystä uusi levy sai eri levytunnuksen, niin päivitetään mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Odotellaan taas, että pakka valmistuu?
-
Juuri näin mutta tuo 1 on tuolla turha (siis sda, ei sda1) kun tässä käsitellään koko asemaa.
Tuolla nopeutuksella en ole itse huomannut mitään eroa synkkauksen nopeuteen mutta itse olen koittanut tuota käskyä vain synkkauksen aika, joten pitäisiköhän tuo komento suorittaa ennen synkkausta?
-
Juuri näin mutta tuo 1 on tuolla turha (siis sda, ei sda1) kun tässä käsitellään koko asemaa.
Ok ja hyvä homma. Itse olen noita partitionumeroita mielestäni aina käyttänyt, kun levyllä on aina ollut koko levyn kokoinen partitio siinä vaiheessa kun pakkaan lisäykset sun muut tehtävät on edessä.
ja nyt olen vaihtamassa levyä, joka on isompi kuin olemassa olevat 1.5TB -> 2TB eli sille tulee 1.5TB osio ja loppu jää sitten toistaiseksi tyhjän pantiksi (siksi aikaa, että saan mahdollisesti viallisen levyn testattua kunnolla ja vaihdettua sen sitten takuuseen)
Tuolla nopeutuksella en ole itse huomannut mitään eroa synkkauksen nopeuteen mutta itse olen koittanut tuota käskyä vain synkkauksen aika, joten pitäisiköhän tuo komento suorittaa ennen synkkausta?
Näin olen ymmärtänyt ja että tuo asetus katoaa aina myös buutissa, joten se on muistettava vaihtaa erikseen tai lisätä jo käynnistyksessä nuo suuremmat arvot tulemaan mukaan.
-
echo 500000 | sudo tee /proc/sys/dev/raid/speed_limit_max
echo 10000 | sudo tee /proc/sys/dev/raid/speed_limit_min
Pistänpäs tämän vielä muistiin, resyncin nopeutus:
mdadm -G /dev/md0 --bitmap=internal
-
Nuo synkkauksen nopeutuksetkin saisi tietysti testattua niin että pistää synkkaantumaan, katsoo nopeuden minkä jälkeen merkitsee liitettävän levyn failanneeksi, muuttaa arvoja ja laittaa uudestaan synkkaantumaan. Tämä tietysti sillä oletuksella että nuo arvot pitää asettaa ennen synkkausta. Jos selviä eroja löytyy niin lisää kyseisen arvon rc.localiin mihin se jää muistiin.
-
Itse en viitsi alkaa testaamaan, amatöörillä menee sormi samantien suuhun kun jotain häikkä tapahtuu :)
Tähän asti pääsin, kun meni vaihteeksi sormisuuhun.
sudo mdadm --manage /dev/md0 --fail /dev/sda1
sudo mdadm --manage /dev/md0 --remove /dev/sda1
echo 500000 | sudo tee /proc/sys/dev/raid/speed_limit_max
echo 50000 | sudo tee /proc/sys/dev/raid/speed_limit_min
sudo mdadm -G /dev/md0 --bitmap=internal
sudo mdadm --manage /dev/md0 --add /dev/sda1
sudo mdadm --detail /dev/md0
/dev/md0:
Version : 0.90
Creation Time : Mon Oct 25 13:14:47 2010
Raid Level : raid5
Used Dev Size : 1465135936 (1397.26 GiB 1500.30 GB)
Raid Devices : 6
Total Devices : 6
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Sep 18 06:55:22 2012
State : active, degraded, Not Started
Active Devices : 5
Working Devices : 6
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
UUID : 5163c5ad:04708065:cced5de7:ca715931 (local to host NAS)
Events : 0.30657
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 17 1 active sync /dev/sdb1
2 8 65 2 active sync /dev/sde1
3 8 81 3 active sync /dev/sdf1
4 8 33 4 active sync /dev/sdc1
5 8 97 5 active sync /dev/sdg1
6 8 1 - spare /dev/sda1
Näin yritän käynnistää pakkaa:
sudo mdadm --run /dev/md0
mdadm: failed to run array /dev/md0: Input/output error
-
Mitä cat /proc/mdstat sanoo ja teithän osioinnin? Ihme juttu kun tuon pakanhan pitäisi olla käynnissä että tuo levyn liittäminen ylipäätänsä edes onnistuu, eli ei pitäisi vaatia mitään erillistä käynnistämistä levyn liittämisen jälkeen.
Onko sulla jotain lähdettä tälle komennolle kun en äkkiseltään löytänyt tuosta mitään:
sudo mdadm -G /dev/md0 --bitmap=internal
?
-
Minä olen kyllä omien kokemusten mukaan sitä mieltä että raidpakan levyt siirtävät ilman mitää viritysasetuksia juuri niin nopeasti kun väylä/levy antaa periksi.
-
Mitä cat /proc/mdstat sanoo ja teithän osioinnin? Ihme juttu kun tuon pakanhan pitäisi olla käynnissä että tuo levyn liittäminen ylipäätänsä edes onnistuu, eli ei pitäisi vaatia mitään erillistä käynnistämistä levyn liittämisen jälkeen.
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sda1[6](S) sdg1[5] sdb1[1] sdf1[3] sde1[2] sdc1[4]
8790820736 blocks
unused devices: <none>
Onko sulla jotain lähdettä tälle komennolle kun en äkkiseltään löytänyt tuosta mitään:
sudo mdadm -G /dev/md0 --bitmap=internal
?
http://en.wikipedia.org/wiki/Mdadm#Increasing_RAID_ReSync_Performance
Tälläinen löyty dmesgillä
dmesg |tail
[ 1559.313797] md/raid:md0: cannot start dirty degraded array.
[ 1559.313875] RAID conf printout:
[ 1559.313882] --- level:5 rd:6 wd:5
[ 1559.313891] disk 1, o:1, dev:sdb1
[ 1559.313898] disk 2, o:1, dev:sde1
[ 1559.313905] disk 3, o:1, dev:sdf1
[ 1559.313911] disk 4, o:1, dev:sdc1
[ 1559.313919] disk 5, o:1, dev:sdg1
[ 1559.315004] md/raid:md0: failed to run raid set.
[ 1559.315014] md: pers->run() failed ...
ja jatkoa :)
sudo mdadm --stop /dev/md0
sudo mdadm --assemble --update=resync /dev/md0 /dev/sdb1 /dev/sde1 /dev/sdf1 /dev/sdc1 /dev/sdg1 /dev/sda1
mdadm: /dev/md0 assembled from 5 drives and 1 spare - not enough to start the array while not clean - consider --force.
-
No, niin
sudo mdadm --stop /dev/md0
sudo mdadm --assemble --update=resync --force /dev/md0 /dev/sdb1 /dev/sde1 /dev/sdf1 /dev/sdc1 /dev/sdg1 /dev/sda1
Nyt lähti rakentumaan.
sudo mdadm --detail /dev/md0
/dev/md0:
Version : 0.90
Creation Time : Mon Oct 25 13:14:47 2010
Raid Level : raid5
Array Size : 7325679680 (6986.31 GiB 7501.50 GB)
Used Dev Size : 1465135936 (1397.26 GiB 1500.30 GB)
Raid Devices : 6
Total Devices : 6
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Sep 18 10:03:17 2012
State : clean, degraded, recovering
Active Devices : 5
Working Devices : 6
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
Rebuild Status : 0% complete
UUID : 5163c5ad:04708065:cced5de7:ca715931 (local to host NAS)
Events : 0.30658
Number Major Minor RaidDevice State
6 8 1 0 spare rebuilding /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 65 2 active sync /dev/sde1
3 8 81 3 active sync /dev/sdf1
4 8 33 4 active sync /dev/sdc1
5 8 97 5 active sync /dev/sdg1
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdb1[1] sda1[6] sdg1[5] sdc1[4] sdf1[3] sde1[2]
7325679680 blocks level 5, 64k chunk, algorithm 2 [6/5] [_UUUUU]
[>....................] recovery = 0.0% (1299080/1465135936) finish=810.5min speed=30097K/sec
unused devices: <none>
Nopeuksista epätieteellistä.
reshape ja resync oli maksimissaan 17000K/sec kun edellisen levyn lisäsin ja nyt noiden parin loitsun jälkeen recovery menee nopeudella 30000K/sec. En tiedä, että onko resync/reshape normaalistikkin hitaampaa, kuin tuo recovery.
-
Itselläni on ensitutustuminen raid5 pakkaan HP:n Microserverillä. 3kpl 3TB levyjä ja recovery nopeus on jatkuvasti luokkaa 77000K/sec. Käsittääkseni "chunk" koko ja asemien määrä on ratkaiseva nopeuden suhteen (itsellä 512k)?
-
Itselläni on ensitutustuminen raid5 pakkaan HP:n Microserverillä. 3kpl 3TB levyjä ja recovery nopeus on jatkuvasti luokkaa 77000K/sec. Käsittääkseni "chunk" koko ja asemien määrä on ratkaiseva nopeuden suhteen (itsellä 512k)?
Tähän nopeuteen varmasti eniten vaikuttaa se minkälaisessa ohjaimessa levy on kiinni, onko sata-1/2/3 vai joku muu. Lisäksi se miten uusi levy on. Tekniikka kehittyy, itsellä on uusia 2T levyjä jotka siirtävät lähemmäs 200Mt/s sata-2 ohjaimessa ja tehokkaassa (i7) koneessa.