Zpool

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

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
Zpool

Kotisivu OpenZFS

Esimerkki

Luodaan yksinkertainen zpool yhdestä kokonaisesta kiintolevystä

Zpoolia ei kannata luoda /dev/sdxy muodossa vaan 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. Esimerkiksi:

root@homelab:~# zpool status
pool: vol0
state: ONLINE
scrub: none requested
config:
   NAME        STATE     READ WRITE CKSUM
   vol0        ONLINE       0     0     0
   raidz2    ONLINE       0     0     0
     sdb     ONLINE       0     0     0
     sdc     ONLINE       0     0     0
     sdd     ONLINE       0     0     0
spares
 sde       AVAIL    errors: No known data errors

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

root@homelab:~# zpool iostat
capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
vol0         230K  29.7G      0      0     10    431

Katso myös