RAID a LVM v linuxu

  • RAID: sw framework v linuxovem kernelu, utilita mdadm
  • LVM: zavadi nekolik urovni abstrakce,
  • pouziti RAID nebo LVM pro mirroring (Raid level1): aktualne (brezen 2008) je md dospelejsi a proverenejsi kod

Scenar 1 -- vytvoreni pole

  • mame dva disky, chceme na nich nekolik oddilu v rezimu mirror (/dev/hdb, /dev/hdc)
  • reseni: jedna velka partition pomoci mdadm, nad ni logicke oddily pomoci LVM

priprava prostredi

  # balicek pro mdadm
  apt-get install mdadm

  # balicek pro lvm
  apt-get install lvm2

RAID

  # vytvoreni pole
  mdadm --create /dev/md0 -l 1 -n 2 -x 0  /dev/hdb  /dev/hdc   

  # -l raid level
  # -n pocet zarizeni v poli
  
  # ulozeni konfigurace 
  mdadm --detail --scan >>/etc/mdadm/mdadm.conf 

  # overeni stavu
  cat /proc/mdstat

  # Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
  # md0 : active raid1 hdb[0] hdc[1]
  #       1048512 blocks [2/2] [UU]
  # unused devices: <none>

LVM

  # a) nastaveni physical volume
  # oznaci partition / oddil pro pouziti s LVM, v terminologii LVM vytvoreni PV
  
  pvcreate /dev/md0
  
  # b) vytvoreni volume group
  # vytvori "skupinu", pojmenuje ji KOKOS a zacleni do ni nasi PV 

  vgcreate KOKOS /dev/md0

  # c) vytvoreni logical volume
  # LV se tvari jako partition, lze na ni utvorit filesystem
  # prikaz vytvori LV (partition) nazvanou (-n) DATA1 o velikosti (-L) na VG KOKOS

  lvcreate -n DATA1 -L 500M KOKOS
 
  # na LV odkazuje zarizeni 
  #    /dev/mapper/KOKOS-DATA1 nebo
  #    /dev/KOKOS/DATA1

Vytvoreni filesystemu (aneb odskok k ext2)

  


  # muzeme vytvorit filesystem 
  mke2fs /dev/KOKOS/DATA1

  # vytvorime zurnal (z ext2 udelame ext3)
  tune2fs -j /dev/KOKOS/DATA1

  # nastavime vynuceny fsck kazdych 180dni
  tune2fs -i 180d /dev/KOKOS/DATA1

  # .. nebo kazdych 60 mountu
  tune2fs -c 60 /dev/KOKOS/DATA1

Scenar2 - zmeny velikosti oddilu

  
  # zmena velikosti partition DATA1 na  VG KOKOS
  lvextend -L +50M /dev/KOKOS/DATA1

  # zmena velikosti FS
  resize2fs /dev/KOKOS/DATA1

Scenar3 - raid crashtesty

  
  # oznaceni disku jako havarovaneho (at uz skutecne ci simulovane)
  mdadm /dev/md0 -f /dev/hdb
  
  # odstraneni disku z pole
  mdadm /dev/md0 -r /dev/hdb
 
  # ... reboot a vymena ....

  # pridani disku do pole 
  mdadm /dev/md0 -a /dev/hdb
 
  # pridani zpusobi spusteni synchronizace
  cat /proc/mdstat 

  #> Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
  #> md0 : active raid1 hdb[0] hdc[1]
  #>   1048512 blocks [2/1] [_U]
  #>    [===>.................]  recovery = 17.2% (181504/1048512) finish=0.5min speed=25929K/sec
  #> unused devices: <none>
  
  # pridame treti disk
  mdadm /dev/md0 -a /dev/hdd

  # ve vypisu se nam bude vypisovat jako "spare" (S)
  #> ...
  #> md0 : active raid1 hdd[2](S) hdb[0] hdc[1]
  #> ...

  # pri vypadku jednoho z puvodnich disku
  mdadm /dev/md0 -a /dev/hdd
  # ... se spare stane jednim z aktivnich disku a zahaji se na nej rekonstrukce

  #> md0 : active raid1 hdd[2] hdb[0] hdc[3](F)
  #>       1048512 blocks [2/1] [U_]
  #>       [======>..............]  recovery = 31.2% (327808/1048512) finish=0.4min speed=25216K/sec

  # po odebrani a vymene a pridani se selhany disk bude opet tvarit jako "spare". 

Tipy

  • pokud mate v systemu vice poli, lze sdilet spare disk pomoci option spare-group v /etc/mdadm/mdadm.conf
 
comp/unix/raid-lvm.txt · Poslední úprava: 2008/03/18 17:19 autor: srerucha

TOPlist