DM-Multipath

Allikas: Kuutõrvaja
Redaktsioon seisuga 21. märts 2009, kell 19:00 kasutajalt Imre (arutelu | kaastöö) (Multipath tarkvara seadistamine ja käivitamine)

Sissejuhatus

Multipathing ehk täpsemini DM-Multipathing (device-mapper multipath) (aga ka tuntud kui Linux Native Multipath ja DM-MPIO - device-mapper multipath I/O) viitab üldiselt võimalusele arvutist ühe ja sama salvestusressursi (ingl. k. storage; nt kettakastist välja jagatud LUN või iSCSI target) poole jõuda erinevaid teid mööda. Tavaliselt on sel juhul salvestusressurss arvuti külge ühendatud FC või iSCSI abil.

Multipath ehk täpsemini DM-Multipath plokkseade on operatsioonisüsteemi kõrgemate kihtide jaoks jaoks moodustatud loogiline plokkseade, millele vastab tavaliselt mitu füüsilist plokkseadet. Sõltuvalt multipath seadistusest võib loogilisel plokkseadmel olla selliseid omadusi

  • redundantsus - töötab vaatamata mõne arvuti ja salvestusressursi vahel oleva ühenduse riknemisest
  • jõudlus - võimaldab kiiremat andmevahetust kui üksik arvuti ja salvestusressursi vaheline ühenduskanal

Multipath lahenduse juures töötavad koostöös neli komponenti

  • salvestusressurssi arvutiga ühendava seadme draiver - nt FC ühenduse puhul QLogic HBA draiver qla2xxx
  • tuuma device-mapper tugi, mis nt võimaldab konstrueerida mitmekihilisi loogilisi plokkseadmeid sh füüsilistest seadmetest erinevate omadustega loogilisi seadmeid
  • udev - dünaamiline plokkseadmete moodustamine, vastavalt toimuvatele sündmustele, nt arvuti ja salvestusressursi vahel ühenduse kadumine
  • multipath tarkvara - tarkvara, mis juhib udev ja device mapperi tööd kontrollides multipath plokkseadet moodustavate füüsiliste kättesaadavust

Multipath tarkvara ülesandeks on ära tunda, et erinevaid teid mööda on arvutiga ühendatud üks ja sama salvestusressurss ning moodustada loogiline seade. Lisaks multipath tarkvara jälgib ühenduste korrasolekut ning teeb vastavaid ümberlülitusi. Kui multipath tarkvara töötab on käivitatud multipathd deemoni protsess

 # ps aux | grep multipathd | grep -v grep
 root      4208  0.1  0.0  19572  3208 ?        SLl  00:22   1:47 /sbin/multipathd

Multipath seadmete kasutamiseks on lisaks vabatarkvaralisele DM-Multipathile olemas ka kommertslahendusi, nt EMC PowerPath. Ühe või teise implementatsiooni eelistamine sõltub konkreetselt kasutusel olevast riistavarast, operatsioonisüsteemist ja eelkõige nõuetest lahendusele.

Multipath lahenduse kirjelduse näide

Et käesolev tekst hoida terviklikumana ja mitte liialt valguda üldistustesse, esitamne konkreetse multipath lahenduse kirjelduse.

Kasutada olev riistvara

  • üks EMC CLARiiON CX3 kettakast
  • üks CISCO MDS9505 FC lüliti
  • igas arvutis üks QLogic QLA2432 kahe pordine FC kontroller

Multipath lahenduse omadused

  • arvutis võib rikneda kuni üks FC kontrolleri port
  • rikneda võib kuni üks kaabel arvuti ja FC lüliti vahel
  • rikneda võib kuni üks kaabel lüliti ja kettakasti vahel
  • rikneda võib kuni üks FC port kettakastil
  • hooldustööde ajal saab LUN'isid kolida ühe SP (service processor) juurest teise juurde
  • normaalses olekus kasuta arvuti andmevahetuseks mõlemat FC kontrollerit

Multipath juures võib põhimõtteliselt kasutada igasuguseid SCSI protokolli kasutavaid seadmeid, sh lokaalseid seadmeid. Reeglina pakuvad aga praktilist huvi sellised juhtumid, kus arvuti ja salvestusressursi vahel on tõepoolest mitu erinevat füüsilist teed. Levinud on nt selline skeem, kus on FC meedia abil ühendatud FC lülitiga (ingl. k. switch) omavahel üks kettakast ja mitu arvutit, kusjuures kõik ühendused arvutite ja kettakastist lülitini on füüsiliselt dubleeritud

                    _____________
                   |  Kettakast  |
                   |_____________|
                 SPA || SPB
                     ||
                  ___||_______________________
                 |                            |
                 | FC lüliti                  |
                 |____________________________|
                   ||             ||    ||
                   ||             ||    ||
                   ||             ||    ||
         FC port 1 || FC port 2   ||    ||
          /dev/sda || /dev/sdc    ||    ..... arvuti n
          /dev/sdb || /dev/sdd    ||
                  _||_            ||
        arvuti 1 |    |           ||
                 |____|           ||
                                  ||
                                 _||_
                                |    | arvuti 2
                                |____|

Skeemil esitatud asjakorralduse puhul näeb iga arvuti nelja SCSI seadet, seetõttu, et arvutist salvestusressursini on neli võimalikku ühendusteed.


Arvuti FC kontrolleri draiveri kasutamine

FC kontrolleri tarkvara jagatakse tavaliselt mitmel moel, kusjuures ta võib esineda nö kahe komponendiliselt, draiver ning firmware

  • distributsiooni paketihalduses
  • tootja kodulehel
  • draiver kopeerib firmware FC kontrollerilt

Debian GNU/Linux puhul soovitatakse QLogic FC adapteri jaoks kasutada non-free repositooriumist paketti firmware-qlogic

 # apt-get install firmware-qlogic

Tulemusena peab peale arvuti järgmist alglaadimist olema näha FC ressurssidele vastavad SCSI seadmed, nt /dev/sda, /dev/sdb, /dev/sdc ja /dev/sdd eeldusel, et arvuti lokaalne kõvaketas on mingi muu nimega SCSI seade, nt /dev/cciss/c0d0, dmesgi ilmuvad teated kahe FC kontrolleri kohta

Üks kontroller

 qla2xxx 0000:49:00.0: Found an ISP2432, irq 57, iobase 0xffffc20007972000
 qla2xxx 0000:49:00.0: Configuring PCI space...
 PCI: Setting latency timer of device 0000:49:00.0 to 64
 qla2xxx 0000:49:00.0: Configure NVRAM parameters...
 qla2xxx 0000:49:00.0: Verifying loaded RISC code...
 firmware: requesting ql2400_fw.bin
 qla2xxx 0000:49:00.0: Allocated (64 KB) for EFT...
 qla2xxx 0000:49:00.0: Allocated (1413 KB) for firmware dump...
 scsi0 : qla2xxx
 qla2xxx 0000:49:00.0: 
 QLogic Fibre Channel HBA Driver: 8.02.01-k4
 QLogic HPAE312A - 
 ISP2432: PCIe (2.5GT/s x4) @ 0000:49:00.0 hdma+, host#=0, fw=4.04.00 [IP] [84XX] 
 ...
 qla2xxx 0000:49:00.0: LIP reset occured (f7f7).
 qla2xxx 0000:49:00.0: LOOP UP detected (4 Gbps).
 scsi 0:0:0:0: Direct-Access     DGC      RAID 5           0326 PQ: 0 ANSI: 4
 scsi 0:0:1:0: Direct-Access     DGC      RAID 5           0326 PQ: 0 ANSI: 4
 ..
 sd 0:0:0:0: [sda] READ CAPACITY failed
 sd 0:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
 sd 0:0:0:0: [sda] Sense Key : Illegal Request [current] 
 sd 0:0:0:0: [sda] Add. Sense: Logical unit not supported
 sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
 sd 0:0:0:0: [sda] Asking for cache data failed
 sd 0:0:0:0: [sda] Assuming drive cache: write through
 sd 0:0:0:0: [sda] Attached SCSI disk
 sd 0:0:1:0: [sdb] READ CAPACITY failed
 sd 0:0:1:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
 sd 0:0:1:0: [sdb] Sense Key : Illegal Request [current] 
 sd 0:0:1:0: [sdb] Add. Sense: Logical unit not supported
 sd 0:0:1:0: [sdb] Test WP failed, assume Write Enabled
 sd 0:0:1:0: [sdb] Asking for cache data failed
 sd 0:0:1:0: [sdb] Assuming drive cache: write through
 sd 0:0:1:0: [sdb] Attached SCSI disk

Teine kontroller

 qla2xxx 0000:49:00.1: Found an ISP2432, irq 54, iobase 0xffffc20007974000
 qla2xxx 0000:49:00.1: Configuring PCI space...
 PCI: Setting latency timer of device 0000:49:00.1 to 64
 qla2xxx 0000:49:00.1: Configure NVRAM parameters...
 qla2xxx 0000:49:00.1: Verifying loaded RISC code...
 qla2xxx 0000:49:00.1: Allocated (64 KB) for EFT...
 qla2xxx 0000:49:00.1: Allocated (1413 KB) for firmware dump...
 scsi1 : qla2xxx
 qla2xxx 0000:49:00.1: 
 QLogic Fibre Channel HBA Driver: 8.02.01-k4
 QLogic HPAE312A - 
 ISP2432: PCIe (2.5GT/s x4) @ 0000:49:00.1 hdma+, host#=1, fw=4.04.00 [IP] [84XX]
 ..
 qla2xxx 0000:49:00.1: LIP reset occured (f7f7).
 qla2xxx 0000:49:00.1: LOOP UP detected (4 Gbps).
 scsi 1:0:0:0: Direct-Access     DGC      RAID 5           0326 PQ: 0 ANSI: 4
 scsi 1:0:1:0: Direct-Access     DGC      RAID 5           0326 PQ: 0 ANSI: 4
 ..
 sd 1:0:0:0: [sdc] READ CAPACITY failed
 sd 1:0:0:0: [sdc] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
 sd 1:0:0:0: [sdc] Sense Key : Illegal Request [current] 
 sd 1:0:0:0: [sdc] Add. Sense: Logical unit not supported
 sd 1:0:0:0: [sdc] Test WP failed, assume Write Enabled
 sd 1:0:0:0: [sdc] Asking for cache data failed
 sd 1:0:0:0: [sdc] Assuming drive cache: write through
 sd 1:0:0:0: [sdc] Attached SCSI disk
 sd 1:0:1:0: [sdd] READ CAPACITY failed
 sd 1:0:1:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
 sd 1:0:1:0: [sdd] Sense Key : Illegal Request [current] 
 sd 1:0:1:0: [sdd] Add. Sense: Logical unit not supported
 sd 1:0:1:0: [sdd] Test WP failed, assume Write Enabled
 sd 1:0:1:0: [sdd] Asking for cache data failed
 sd 1:0:1:0: [sdd] Assuming drive cache: write through
 sd 1:0:1:0: [sdd] Attached SCSI disk

Väljundist võiks panna tähele järgmisi asjaolusid

  • firmware: requesting ql2400_fw.bin - firmware laaditakse failisüsteemist, mitte kontrolleri flash'ilt; vastasel korral esineks teade
 qla2xxx 0000:49:00.0: Firmware image unavailable.
 qla2xxx 0000:49:00.0: Firmware images can be retrieved from: ftp://ftp.qlogic.com/outgoing/linux/firmware/.
 qla2xxx 0000:49:00.0: Attempting to load (potentially outdated) firmware from flash.
  • LOOP UP detected (4 Gbps) - kasutatakse 4Gbps fiibriühendust
  • üle FC on kättesaadavad neli SCSI plokkseadet: /dev/sda, /dev/sdb, /dev/sdc ja /dev/sdd

Lisaks, toodud andmed klapivad ilusti lspci väljundiga, nt langevad kokku FC kontrollerite PCI identifikaatorid

 49:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
 49:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)

Multipath tarkvara paigaldamine

Kaasaegsed Linuxi distributsioonide sh Debian GNU/Linux paketihalduses sisaldub multipathing jaoks vajalik multipath tarkvara ja kui ei ole selget põhjust talitada muud moodi, tuleks eelistada seda. Debian GNU/Linux puhul tuleb paigaldada paketti multipath-tools öeldes

 # apt-get install multipath-tools

Lisaks kasutatakse automaatselt tuuma moodulit dm_multipath.

Paketi koosseisu kuuluvad

  • dokumentatsioon ja seadistusnäited
 /usr/share/doc/multipath-tools/examples/multipath.conf.annotated.gz
 /usr/share/doc/multipath-tools/examples/multipath.conf.synthetic
  • multipathd deemon - /sbin/multipathd
  • multipath utiliit - /sbin/multipath
  • käivitusskript - /etc/init.d/multipath-tools

Multipath seadmete moodustamine

Multipath tarkvara tööd kontrollib seadistusfail /etc/multipath.conf, milles on määratletud sektsioonides

  • defaults - multipath seadmete üldised omadused
  • blacklist - milliseid SCSI seadmeid ei kasutata multipath seadmete moodustamisel
  • multipaths - konkreetsete multipath seadmete kirjeldused
  • devices - salvestusressursside kirjeldused, nt fiibrivõrgus asuvad erinevate tootjate kettakastid

Multipath töötab mõnel juhul ka ilma seadistusfailita, kuid reeglina võiks siiski seadistusfailis asjaolusid täpsustada.

  • Multipath seadet moodustavate komponentide SCSI unikaalne identifikaatori saab teha kindlaks selliselt ja seda scsi-id väärtust kasutatakse seadistusfailis wwid parameetrina, kusjuures kõigi plokkseadete scsi-id väärtus on sama kuna need plokkseadmed vastavad sama füüsilise salvestusressursi juurde viivatele erinevatele teedele
 # /lib/udev/scsi_id -g -u -s /block/sda
 3600601602cc01d008a360bdb7d14de11
 # /lib/udev/scsi_id -g -u -s /block/sdb
 3600601602cc01d008a360bdb7d14de11
 # /lib/udev/scsi_id -g -u -s /block/sdc
 3600601602cc01d008a360bdb7d14de11
 # /lib/udev/scsi_id -g -u -s /block/sdd
 3600601602cc01d008a360bdb7d14de11
  • Kasutatava kettakasti mudelit teades saab kirjeldada sobiva device'i devices sektsiooni, mis võib olla parem kui nö generic väärtusi kasutav juhtum
  • Lähtudes lahendusele esitatavatest nõuetest saab valida muu seas sobiva nime tekkivale multipath seadmele, parameeter alias

Näiteks võiks ülalkirjeldatud riistvara puhul kasutada sellise sisuga seadistusfaili

 defaults {
   udev_dir                /dev
   polling_interval        5
   default_selector        "round-robin 0"
   user_friendly_names     yes
 }
 
 blacklist {
   wwid    200d04efd1804f38e
   devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
   devnode "^hd[a-z][[0-9]*]"
   devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
 }
 
 multipaths {
   multipath {
     wwid                    3600601602cc01d008a360bdb7d14de11
     alias                   pgdata
   }
 }
 
 devices {
   device {
     vendor "DGC"
     product "*"
     path_grouping_policy group_by_prio
     getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
     prio_callout "/sbin/mpath_prio_emc /dev/%n"
     hardware_handler "1 emc"
     features "1 queue_if_no_path"
     no_path_retry 300
     path_checker emc_clariion
     failback immediate
   }
 }

Kommentaarid seadistusfailile

  • Seadistusfailis esineb neli sektsiooni: default, blacklist, multipaths ja devices
  • multipaths all kirjeldatakse süsteemile kättesaadavad multipath seadmed
  • devices all kirjeldatakse süsteemile kättesaadavad salvestusressurssid, nt kui sama fiibri küljes on erinevate tootjate kettakastid
  • antud juhul on kirjeldatud ühele salvestusressursi tüübile vastav device
  • antud juhul on kirjeldatud üks multipath seade pgdata, millele vastab plokkseade nimega /dev/mapper/pgdata

Multipath deemoni käivitamist ja seiskamist sobib juhtida skriptiga

 # /etc/init.d/multipath-tools start|stop

Kui seni tehtud sammud on õnnestunud, siis antud juhul peaks olema ilmunud seade nimega /dev/mapper/pgdata

 # fdisk /dev/mapper/pgdata -l
 
 Disk /dev/mapper/pgdata: 268.4 GB, 268435456000 bytes
 255 heads, 63 sectors/track, 32635 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
 Disk identifier: 0x00000000
 
 Disk /dev/mapper/pgdata doesn't contain a valid partition table

multipath programmiga saab muu hulgas küsida millised seadmed on parasjagu aktiivsed

  • -l argumendi kasutamisel kasutatakse esitatakse tulemus sysfs ja device mapper käest saadud info põhjal, on vähem-informatiivsem
 # multipath -l
 pgdata (3600601602cc01d008a360bdb7d14de11) dm-6 DGC     ,RAID 5        
 [size=250G][features=1 queue_if_no_path][hwhandler=1 emc]
 \_ round-robin 0 [prio=0][active]
  \_ 0:0:1:0 sdb 8:16  [active][undef]
  \_ 1:0:1:0 sdd 8:48  [active][undef]
 \_ round-robin 0 [prio=0][enabled]
  \_ 0:0:0:0 sda 8:0   [active][undef]
  \_ 1:0:0:0 sdc 8:32  [active][undef]
  • -ll argumendi kasutamisel kasutatakse esitatakse tulemus kõigi olemasolevate allikate käest saadud info põhjal, on informatiivsem
 # multipath -ll
 pgdata (3600601602cc01d008a360bdb7d14de11) dm-6 DGC     ,RAID 5        
 [size=250G][features=1 queue_if_no_path][hwhandler=1 emc]
 \_ round-robin 0 [prio=2][active]
  \_ 1:0:1:0 sdb 8:16  [active][ready]
  \_ 0:0:1:0 sdd 8:48  [active][ready]
 \_ round-robin 0 [prio=0][enabled]
  \_ 1:0:0:0 sda 8:0   [active][ready]
  \_ 0:0:0:0 sdc 8:32  [active][ready]

Multipath seadme omadusi saab küsida ka dmsetup programmi abil, kus seadme minor väärtus 6 esineb ka seadme nimes, dm-6

 # dmsetup status -v pgdata
 Name:              pgdata
 State:             ACTIVE
 Read Ahead:        256
 Tables present:    LIVE
 Open count:        0
 Event number:      0
 Major, minor:      254, 6
 Number of targets: 1
 UUID: mpath-3600601602cc01d008a360bdb7d14de11
 
 0 524288000 multipath 2 0 1 0 2 1 A 0 2 0 8:16 A 0 8:48 A 0 E 0 2 0 8:0 A 0 8:32 A 0

Multipath seadmete kasutamine

Üldiselt soovitatakse multipath seadmetele moodustada LVM kusjuures on abiks kirjeldada LVM seadistusfailis sobiv filter, nt

 filter = [ "r/disk/", "r/sd.*/", "a/.*/" ]

LVM moodustamine toimub iseensest tavalisel moel, nt

 # pvcreate /dev/mapper/pgadata
 # vgcreate pgdata /dev/mapper/pgdata
 # lvcreate -L 160G -n pgdata pgdata

Multipath seadmete ümberseadistamine

Selleks, et multipath seadme seadistusi muuta tuleks tegutseda sellises järjekorras

  • lõpetada seadme kasutamine, nt ühendada lahti failisüsteem
 # umount /dev/pgdata/pgdata
  • märkida vastav LVM grupp mitteaktiivseks, sellised io teated on normaalsed kui /dev/sda ja /dev/sdc ei ole parasjagu aktiivses kasutuses
 # vgchange -a n pgdata
 /dev/sda: read failed after 0 of 4096 at 0: Input/output error
 /dev/sdc: read failed after 0 of 4096 at 0: Input/output error
 /dev/sdc: read failed after 0 of 4096 at 268435390464: Input/output error
 /dev/sdc: read failed after 0 of 4096 at 0: Input/output error
 0 logical volume(s) in volume group "pgdata" now active
  • seisata multipathd deemon
 # /etc/init.d/multipath-tools stop
 Stopping multipath daemon: multipathd.
  • eemaldada olemasolevad multipath seadmed
 # multipath -F 
 libdevmapper: libdm-common.c(374): Removed /dev/mapper/pgdata
  • muuta seadistusfaili /etc/multipath.conf
  • multipath seadmete tekitamiseks käivitada multipathd deemon
 # /etc/init.d/multipath-tools start
  • lülitame LVM grupi aktiivseks
 # vgchange -a y pgdata
 /dev/sda: read failed after 0 of 4096 at 0: Input/output error
 /dev/sdc: read failed after 0 of 4096 at 0: Input/output error
 1 logical volume(s) in volume group "pgdata" now active
  • ühendada failisüsteemid külge ja jätkata failisüsteemide kasutamist

multipathd deemoni kontrollimine

multipathd deemoni ülesanne on jälgida multipath seadmetega seotud teede olekut ning reageerida sündmustele. Kui selline sündmus aset leiab, kasutab multipathd välist multipath utiliiti vajaliku muudatuse tegemiseks.

multipathd programmi saab lisaks kasutada töötava multipathd deemoni kontrollimiseks, interaktiivsesse rezhiimi sattumiseks peab deemon töötama ning lisaks tuleb käivitada multipathd võtmega -k

 # multipathd -k
  • Esitada teede nimekiri
 # multipathd> show paths
 hcil    dev dev_t pri dm_st   chk_st  next_check      
 0:0:0:0 sda 8:0   0   [active][ready] XXXXXXX... 14/20
 0:0:1:0 sdb 8:16  1   [active][ready] XXXXX..... 10/20
 1:0:0:0 sdc 8:32  0   [active][ready] XXXXXX.... 13/20
 1:0:1:0 sdd 8:48  1   [active][ready] XXXXX..... 10/20
  • märkida tee sda katkiseks
 # multipathd> fail path sda
 ok
 multipathd> show paths
 hcil    dev dev_t pri dm_st   chk_st  next_check      
 0:0:0:0 sda 8:0   0   [failed][ready] XXXXXXXXXX 5/5  
 0:0:1:0 sdb 8:16  1   [active][ready] XXXXX..... 11/20
 1:0:0:0 sdc 8:32  0   [active][ready] XXXXXXX... 14/20
 1:0:1:0 sdd 8:48  1   [active][ready] XXXXX..... 11/20
  • vaadata kehtivat konfiguratsiooni
 multipathd> show config

Väljumiseks tuleb öelda Ctrl+D

Multipath lahenduse testimine

  • dd & iostat - näiteks võiks ülaltoodud riistvara ja seadistuste kasutamisele vastata selline io väljund dd abil andmete kopeerimisele, kust on näha, et kasutatakse mõlemat FC porti paralleelselt, dm-6 on multipath seade ise ning dm-7 multipath seadmele moodustatud LVM voluum
 Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
 ..
 sda               0.00         0.00         0.00          0          0
 sdb              89.50         0.00        39.79          0        159
 dm-6          21353.00         0.00        83.41          0        333
 dm-7          21348.50         0.00        83.39          0        333
 sdc               0.00         0.00         0.00          0          0
 sdd              90.50         0.00        39.71          0        158
  • FC kaablite ükshaaval lahtiühendamine või samaväärne tegevust nt FC lülitis vastavate portide olekute muutmiseks
  • kettakastis LUN'ide liigutamine teine SP (service processor) külge

Logi

Reegline tekib multipath seadet kasutava arvuti bootimisel dmesg logisse rikkalikult sarnaseid teateid, mis iseenesest ei viita veasituatsioonile

 sd 1:0:0:0: [sda] Device not ready: Sense Key : Not Ready [current] 
 sd 1:0:0:0: [sda] Device not ready: Add. Sense: Logical unit not ready, manual intervention required 
 end_request: I/O error, dev sda, sector 0
 Buffer I/O error on device sda, logical block 0
 ...

Juurfailisüsteemi kasutamine multipath seadmelt

Juurfailisüsteemi kasutamine multipath seadmelt võimaldab nt paindlikumalt migreerida operatsioonisüsteemi teisele riistavarale.

Kuigi juurfailisüsteem asub multipath seadmel, asub antud juhtumil arvuti lokaalsel kõvakettal kataloog /boot, milles on bootloader sh bootloaderi seadistusfail (nt GRUB puhul /boot/grub/grub.lst), operatsioonisüsteemi tuum ja ramdisk.

Juurfailisüsteemi multipath seadmelt kasutava arvuti alglaadimisel toimuvad sündmused sellises järjekorras

  • arvuti lokaalselt kõvakettalt laaditakse bootloader
  • bootloader laadib tuuma
  • ajutiselt ühendatakse külge juurfailisüsteem ramdiskilt
  • laaditakse ramdiskil olevad FC adapteri draiver ning muu multipath'i kasutamiseks vajalik tarkvara
  • ühendakse külge juurfailisüsteem multipath seadmelt

Selliselt töötava süsteemi ettevalmistamiseks tuleb sooritada nt sellised sammud

  • ühendada mõnele multipathiga töötavale arvutile külge ettevalmistatava ja multipath seadmelt bootima hakkava arvuti juurfailisüsteem
  • kopeerida ettevalmistatava arvuti juurfailisüsteemi operatsioonisüsteem
  • öelda
 # mount -t proc /proc /mnt/proc
 # chroot /mnt

Paketi multipath-tools-boot paigaldamise käigus moodustatakse uus ramdisk

 # apt-get install multipath-tools-boot
  • redigeerida lokaalse ettevalmistatava arvuti bootloaderi seadistusfail /boot/grub/menu.lst sobivaks

Märkused

  • Põhimõtteliselt saab suvalist SCSI seadet kasutada multipath seadme moodustamiseks, aga praktiliselt ei ole sellel suurt mõtet kui välja jätta kastsetamise väärtus. Nt lokaalse ketta scsi-id väärtuse küsimine toimub nii
 # /lib/udev/scsi_id -g -u -s /block/cciss/c0d0
 3600508b1001050395357553155410002
  • FC puhul on tavaline, et iostat ei näita midagi kuigi protsess kirjutab ägedalt; ja vastupidi, protsess ei kirjuta ning ometi on suur IO. Põhjuseks on tüüpiliselt FC kontrolleritel kasutatavad mitmesaja MBait suurused cache'id.

TODO

  • Edasiarenenud kettakasti võimaluste kasutamine, snapshot, kloon

Kasulikud lisamaterjalid