Zpool

Linux.fista
Versio hetkellä 27. huhtikuuta 2024 kello 11.49 – tehnyt Kimmo (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun
Zpool

Kotisivu OpenZFS

Zpool on ZFS-tiedostojärjestelmän ylin taso. Se sisältää yhden tai useamman vdevin, joista jokainen puolestaan sisältää yhden tai useamman laitteen. Zpoolit ovat itsenäisiä yksiköitä – yhdellä fyysisellä tietokoneella voi olla kaksi tai useampi erillinen zpool, mutta jokainen niistä on täysin riippumaton muista. Zpoolit ovat virtuaalisia tallennustilojen pooleja, jotka tarjoavat tilaa dataseteille. Datasetit ovat ZFS-tiedostojärjestelmän loogisia osia, ja zpool on myös ZFS-tiedostojärjestelmähierarkian juuri. Zpoolit voivat koostua erilaisista lohkolaitteista, kuten tiedostoista, kiintolevyn osioista tai kokonaisista asemista. Suositeltavaa on käyttää kokonaisia asemia. Lohkolaitteet vdevissä voidaan konfiguroida eri tavoin riippuen tarpeista ja käytettävissä olevasta tilasta. Ne voivat olla esimerkiksi ei-redundantteja (vastaavaa kuin RAID 0), peilattuja (RAID 1) kahdesta tai useammasta laitteesta, RAID-Z-ryhmä kolmesta tai useammasta laitteesta tai RAID-Z2-ryhmä neljästä tai useammasta laitteesta Zpoolissa voi myös määrittää laitteita väliaikaiseksi lukuavustimeksi (ARC), ei-volatileksi kirjoitusavustimeksi tai varalaitteeksi, jota käytetään vain vian sattuessa. Kun peilataan, lohkolaitteet voidaan ryhmitellä fyysisen kotelon mukaan, jotta tiedostojärjestelmä voi jatkaa toimintaansa, vaikka koko kotelon laitteet pettäisivät. Zpoolin tyypit voivat esimerkiksi olla:

  • Zpool Stripe -ryhmä: zpool create vol0 /dev/sda /dev/sdb /dev/sdc
  • Zpool Mirror -ryhmä: zpool create vol0 mirror /dev/sda /dev/sdb
  • Zpool RAID-Z -ryhmä: Vastaava kuin RAID 5. zpool create vol0 raidz /dev/sda /dev/sdb /dev/sdc
  • Zpool RAID-Z2 -ryhmä: Vastaava kuin RAID 5, mutta kaksinkertaisella pariteetilla. zpool create vol0 raidz2 /dev/sdb /dev/sdc1 /dev/sdd /dev/sde

Esimerkki

Luodaan yksinkertainen zpool yhdestä kokonaisesta kiintolevystä

Zpoolia ei kannata luoda /dev/sdxy muodossa, koska levyjen järjestys saattaa muuttua uudelleenkäynnistyksessä. Haetaan /dev/disk/by-id/ komennolla:

ls -lh /dev/disk/by-id/

Joka antaa esimerkiksi seuraanvanlaisen tulosteen:

yhteensä 0
lrwxrwxrwx 1 root root  9 27. 4. 10:03 ata-KINGSTON_SA400S37120G_50026B7782633ECB -> ../../sda
lrwxrwxrwx 1 root root 10 27. 4. 10:03 ata-KINGSTON_SA400S37120G_50026B7782633ECB-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 27. 4. 10:03 ata-KINGSTON_SA400S37120G_50026B7782633ECB-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 27. 4. 10:03 ata-KINGSTON_SA400S37120G_50026B7782633ECB-part3 -> ../../sda3
lrwxrwxrwx 1 root root  9 27. 4. 10:03 ata-ST31000524AS_6VPJDMK8 -> ../../sdb
lrwxrwxrwx 1 root root 10 27. 4. 10:03 ata-ST31000524AS_6VPJDMK8-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 27. 4. 10:03 ata-ST31000524AS_6VPJDMK8-part9 -> ../../sdb9
lrwxrwxrwx 1 root root  9 27. 4. 10:03 wwn-0x5000c5004a517e4a -> ../../sdb
lrwxrwxrwx 1 root root 10 27. 4. 10:03 wwn-0x5000c5004a517e4a-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 27. 4. 10:03 wwn-0x5000c5004a517e4a-part9 -> ../../sdb9
lrwxrwxrwx 1 root root  9 27. 4. 10:03 wwn-0x502b2a201d1c1b1a -> ../../sda
lrwxrwxrwx 1 root root 10 27. 4. 10:03 wwn-0x502b2a201d1c1b1a-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 27. 4. 10:03 wwn-0x502b2a201d1c1b1a-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 27. 4. 10:03 wwn-0x502b2a201d1c1b1a-part3 -> ../../sda3


Poimitaan edellisestä kovalevyn id ja luodaan zpool:

sudo zpool create esimerkkipool ata-ST31000524AS_6VPJDMK8


Zpoolin tilan voi tarkistaa komennolla zpool status.

sudo zpool status

Joka antaa seuraavanlaisen tulosteen:

 pool: esimerkkipool
 state: ONLINE
 config:
 NAME                         STATE     READ WRITE CKSUM
 esimerkkipool                ONLINE       0     0     0
 ata-ST31000524AS_6VPJDMK8  ONLINE       0     0     0
 errors: No known data errors


Zpoolin I/O-tilastot voi tarkistaa komennolla zpool iostat.

sudo zpool iostat

Joka antaa seuraavanlaisen tulosteen:

capacity     operations     bandwidth 
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
esimerkkipool    3.06M   928G      2      8   160K  43.2K


Katso myös