dinamikus raid - elkeszult

elozo blogbejegyzes vegerdemenye keppen irom le ide, hogy mit is hackeltem ossze. Nem szep de mukodik es tudja azt amit kell:
1) tur egy lemez elveszteset
2) lehet kulonbozo meretu lemezeket hasznalni
3) tud dinamikusan bovulni

A receptura egyszeru es hackelos de mint emlitettem mukodik es annyira nem is szar mintha ketszer olyan szar lenne.

Adott 4 darab lemez, a meretek rendre 1.5T (sda), 1T (sdb), 1T(sdc), 1T(sdd). ezt felosztottam fdiskel egyenlo meretu particiokra:


   sda    sdb    sdc    sdd

  +----+        
5 |500G|         
  +----+ +----+ +----+ +----+
3 |490G| |490G| |490G| |490G|
  +----+ +----+ +----+ +----+
2 |500G| |500G| |500G| |500G|
  +----+ +----+ +----+ +----+
1 | 10G| | 10G| | 10G| | 10G|
  +----+ +----+ +----+ +----+

az elso particiok mindig a rendszernek vannak fenntartva, amik raid1-ben vannak.

A tobbi particiot akarom adatok tarolasara hasznalni. Itt 2 lehetosegem volt,
a) csinalok 3db 3 elemu raid5 tombot (sda2, sdb2, sdc2), (sda3,sdc3,sdd3), (sdd2, sdb3, sda4)
b) csinalok 2db 4 elemu raid5 tombot (sda2, sdb2, sdc2, sdd2), (sda3,sdb3,sdc3,sdd3)

mar nem tudom miert de az a) opciot valasztottam igy szuletett 3 raid5 tombom (md2, md3, md4) amit lvm-el sikerult raid0-ba osszefogni, igy bovitheto a kesobbiekben es egy ~2.5TBs hatalmas particokent lathato (masodik elvaras). Kiprobaltam es egy vinyo mukodes kozbeni kihuzasaval meg mindig minden mukodott szoval az 1 vinyo elveszteset tudja toleralni a dolog tehat az elso elvarasnak is eleget tesz.

Aztan mult az ido es vartam, hogy mikor fog betelni hogy johessen az upgrade es a valosagban is lathassam, hogy valoban bovitheto-e, hogy a harmadik elvarassal, hogy boldogul a dolog. Szoval szereztem egy 2TBs vinyot amit a kitepett sdc helyere raktam be es elkezdodott a moka. Elhataroztam, hogy at fogom varialni a meglevo raideket 2 x 4 elemes raid5-be mert annak azert megiscsak tobb ertelme van, es meg a kulonbozo meretu particiokkal se kell kulon szivni. Szoval bement a 2TBs vinyo sdc helyere es felparticionaltam a kovetkezo keppen:


   sda    sdb    sdc    sdd

                +----+
6               |500G|
  +----+        +----+
5 |500G|        |500G| 
  +----+ +----+ +----+ +----+
3 |490G| |490G| |490G| |490G|
  +----+ +----+ +----+ +----+
2 |500G| |500G| |500G| |500G|
  +----+ +----+ +----+ +----+
1 | 10G| | 10G| | 10G| | 10G|
  +----+ +----+ +----+ +----+

Miutan ez megvolt sdc5 es sdc6-ot lvcreate-el lvm kepesse tettem, majd hozzaadtam a volume-group-hoz, majd a md4-et eltavolitottam a volume-group-bol. Igy at tudtam mertezeni a meglevo raid5ket 4 elemu tombokke. Na ez sokaig tartott tekintve, hogy at kell szerveznie eleg rendesen a raidet (2 x 14 ora). Miutan lett nekem md2-m sd[abcd]2-bol es md3-am sd[abcd]3-bol osszeallitva akkor mar ra tudtam venni az LVM-et, hogy lassa es hasznalja is a nagyobb md2 es md3-at. Most mar csupan sdc5 es sdc6-ot kellett eltavolitani a volume-group-bol ami meg volt gyorsan. Es akkor most lehet csinalni egy 2 elemu raid5 tombot (azert raid5, hogy kesobb tudjuk boviteni es ne veszitsunk tul sok helyet), lvcreate /dev/md4 hozzacsapjuk a volume-group-hoz, kibovitjuk a logical-volumeot, resize2fs -p (-p kiirja, hogy mi tortenik a hatterben, mert ez sokaig tart es kulonben nem ir ki semmit). Es igy jeleneg van egy particio ami 3.2T lett 2.5T helyett es nem vesztettem adatot (marmint amirol en tudnek:)). A bonnie++ testerdmenyei:
egy kliens gepen mountolva (NFS):


Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kalebris-desktop 8G   774  98 38277   4  8290   2  2259  94 38040   3 266.4   5
Latency             10878us   10529ms   21791ms   36922us    1376ms     796ms
Version  1.96       ------Sequential Create------ --------Random Create--------
kalebris-desktop    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   893   5  1965   6   670   4   934   5  2242   6   783   4
Latency               156ms   41100us     620ms   47559us    6039us    2915ms
1.96,1.96,kalebris-desktop,1,1298069520,8G,,774,98,38277,4,8290,2,2259,94,38040,3,266.4,5,16,,,,,893,5,1965,6,670,4,934,5,2242,6,783,4,10878us,10529ms,21791ms,36922us,1376ms,796ms,156ms,41100us,620ms,47559us,6039us,2915ms

direktbe a serveren futtatva:


Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kalebnas      3504M    57  75 18477  15  8329   6   694  96 43958  17 180.6  14
Latency               557ms    7605ms    9616ms   67036us    2402ms    1391ms
Version  1.96       ------Sequential Create------ --------Random Create--------
kalebnas            -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  1173  10 +++++ +++  5615  32  2975  24 +++++ +++  2331  14
Latency             17771us    1672us    1814us    1029us     119us    1042us
1.96,1.96,kalebnas,1,1298113011,3504M,,57,75,18477,15,8329,6,694,96,43958,17,180.6,14,16,,,,,1173,10,+++++,+++,5615,32,2975,24,+++++,+++,2331,14,557ms,7605ms,9616ms,67036us,2402ms,1391ms,17771us,1672us,1814us,1029us,119us,1042us

Hogy ez mennyire szamit jonak/rossznak azt nem tudom de a teszt hardwarerrol es korulmenyekrol annyit, hogy:
- a hardware az egy ASUS AT3IonT-I Deluxe, 2Giga rammal, 4 SATA vinyoval, 90W max fogyasztassal
- a teszt kozben torrentrol huzta le szepen a dolgokat a szerver, valamint egy filmet is neztem kozben tehat nem tulzottan mervadoak csak olyan korulbeluli ertekek. Arra amire nekem kell (hatalmas file server ami tud torrentezni, meg alkalom attan a tv-re ki tudja lokni a videot) arra tokeletes es az olvasasi irasi sebesseg dd-vel merve egesz jok, ugyhogy panaszra nincs okom es a projektet sikerkent knoyvelem el.

Hozzászólások

ujabb update csak erdekesseg keppen. Kicsereltem sdb-t egy 2Tbs diskre igy novelve 4.1T-re a hasznalhato particiomeretet es ezzel kisse megvaltoztak a serveren mert bonnie++ adatok. Az iras gyorsult az olvasas kicsit lassult. Teszt adatok:
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
kalebnas 3504M 100 99 34561 28 17849 13 924 93 37162 12 177.1 12
Latency 100ms 5668ms 1885ms 25133us 851ms 2382ms
Version 1.96 ------Sequential Create------ --------Random Create--------
kalebnas -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 1979 17 +++++ +++ 3786 21 4080 35 +++++ +++ 5194 30
Latency 16952us 1785us 1816us 760us 331us 1009us
1.96,1.96,kalebnas,1,1302610488,3504M,,100,99,34561,28,17849,13,924,93,37162,12,177.1,12,16,,,,,1979,17,+++++,+++,3786,21,4080,35,+++++,+++,5194,30,100ms,5668ms,1885ms,25133us,851ms,2382ms,16952us,1785us,1816us,760us,331us,1009us