Zpool
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, 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. Esimerkiksi:
root@homelab:~# zpool iostat capacity operations bandwidth pool used avail read write read write ---------- ----- ----- ----- ----- ----- ----- vol0 230K 29.7G 0 0 10 431