private:poznamky:linux:zfs:createpool
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Následující verze | Předchozí verze | ||
| private:poznamky:linux:zfs:createpool [2017/10/25 08:33] – vytvořeno snemec | private:poznamky:linux:zfs:createpool [2020/04/05 21:13] (aktuální) – [Vytvoření raid pool] snemec | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| + | ====== ZFS ====== | ||
| + | |||
| + | |||
| + | ===== Vytvoření zpool ===== | ||
| + | Zpool je tvořen jen jedním diskem, může se použít např. pro zálohy na USB disk.\\ | ||
| + | Disky mohou rotovat. | ||
| + | |||
| + | zpool create -f poolz3bck /dev/sdg | ||
| + | |||
| + | zfs create poolz3bck/ | ||
| + | |||
| + | zfs set compression=lz4 poolz3bck/ | ||
| + | |||
| + | ==== Vytvoření ZFS pool dle id disků ==== | ||
| + | (''/ | ||
| + | |||
| + | Mapování mezi ID a jménem lze zjistit příkazem '' | ||
| + | Konkrétně např. pro disk '' | ||
| + | |||
| + | lsblk -O /dev/sda | ||
| + | |||
| + | ===== Vytvoření raid pool ===== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | Create RAIDZ2 - ladění výkonu.\\ | ||
| + | https:// | ||
| + | |||
| + | |||
| + | Vytvoření mirror pool:\\ | ||
| + | < | ||
| + | zpool create -f vspool mirror | ||
| + | </ | ||
| + | Vytvoření **raidz1** pool:\\ | ||
| + | |||
| + | < | ||
| + | zpool create -f vspool raidz1 / | ||
| + | </ | ||
| + | |||
| + | Vytvoření **raidz2** pool:\\ | ||
| + | |||
| + | < | ||
| + | zpool create backup raidz2 / | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | | ||
| + | ===== Vytvoření block device - dataset ===== | ||
| + | Např. pro Xen VM | ||
| + | |||
| + | zfs create -V 40G vspool/ | ||
| + | | ||
| + | |||
| + | ==== Rozšíření prostoru pro block device - rozšíření datasetu - resize ==== | ||
| + | |||
| + | Zjištění stávající velikosti\\ | ||
| + | |||
| + | zfs get volsize vspool/ | ||
| + | | ||
| + | Nstavení nvé velikosti | ||
| + | | ||
| + | zfs set volsize=45G vspool/ | ||
| + | |||
| + | http:// | ||
| + | http:// | ||
| + | |||
| + | Pro rozšíření je nutné vypnout/ | ||
| + | |||
| + | Pro Windows systémy je diskový prostor možné rozšířit online v rámci nástroje **Správa disků**.\\ | ||
| + | |||
| + | Pro Linux systémy by měl být funkční následující postup:\\ | ||
| + | |||
| + | - Vypnout virtuální počítač | ||
| + | - Pomocí nástroje fdisk odstranit obkast pro swap (např. '' | ||
| + | - Smazat oblast 1 a následně vytvořit novou oblast. Ponechte prostor pro swap. | ||
| + | - Proveďte kontrolu nové oblasti 1 - '' | ||
| + | - Po úspěšně kontrole proveďte resize - '' | ||
| + | |||
| + | |||
| + | |||
| + | ==== Kopie block device do img souboru ==== | ||
| + | |||
| + | Block device(např. virtuální PC) lze zkopírovat pomocí příkazu '' | ||
| + | |||
| + | Např.: '' | ||
| + | ===== ZIL log a L2ARC cache ===== | ||
| + | |||
| + | |||
| + | ZFS with SSDs: Am I asking for a headache in the near future?\\ | ||
| + | https:// | ||
| + | |||
| + | I have no idea how the lack of TRIM in ZFS affects cache performance in the long term, but all SSDs have automatic garbage collection / maintenance routines, so I think the most important thing is to set aside some decent OP (over provision = unpartitioned space) area, like 15-20% of the capacity, and I reckon everything should be fine. | ||
| + | |||
| + | On 250 GB TLC drives, I would leave about 40-50 GB unpartitioned, | ||
| + | - 10 GB SWAP (mirrored on other drive) | ||
| + | - 10 GB ZIL (mirrored on other drive) | ||
| + | - 180 GB L2ARC (striped with other drive) | ||
| + | |||
| + | |||
| + | | ||
| + | Používaji se SSD disky. Pro ZIL log stačí menší prostor ideálně miror, pro L2ARC cache nemirorovaný.\\ | ||
| + | |||
| + | SSD disky se rozdělí na partition. Např pro 128GB SSD se nechá 8GB pro log a zbytek pro cache.\\ | ||
| + | |||
| + | |||
| + | zpool add vspool log mirror / | ||
| + | zpool add vspool cache / | ||
| + | |||
| + | Výsledek pak vypadá podobně jako na výpisu: | ||
| + | |||
| + | debian:~# zpool status | ||
| + | pool: vspool | ||
| + | state: ONLINE | ||
| + | scan: resilvered 0 in 0h33m with 0 errors on Tue May 17 14:41:08 2016 | ||
| + | config: | ||
| + | | ||
| + | vspool | ||
| + | mirror-0 | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXG1A95HA0A8 | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXG1A95HAH3C | ||
| + | logs | ||
| + | mirror-1 | ||
| + | ata-Samsung_SSD_850_PRO_128GB_S24ZNWAG942247J-part1 | ||
| + | ata-Samsung_SSD_850_PRO_128GB_S24ZNXAGA14082B-part1 | ||
| + | cache | ||
| + | ata-Samsung_SSD_850_PRO_128GB_S24ZNWAG942247J-part2 | ||
| + | ata-Samsung_SSD_850_PRO_128GB_S24ZNXAGA14082B-part2 | ||
| + | errors: No known data errors | ||
| + | |||
| + | |||
| + | ===== Zálohování pomocí snashotů ===== | ||
| + | |||
| + | |||
| + | |||
| + | Je použitý externí skrip zfSnap\\ | ||
| + | https:// | ||
| + | |||
| + | Pro Debian a Ubuntu existuje balíček '' | ||
| + | |||
| + | apt-get install zfsnap | ||
| + | |||
| + | '' | ||
| + | např: '' | ||
| + | |||
| + | < | ||
| + | 0 8-22/1 * * * / | ||
| + | 0 23 * * 1-5 / | ||
| + | 0 23 * * 6 / | ||
| + | 45 23 1 * * / | ||
| + | 0 1 * * * / | ||
| + | 10 */1 * * * / | ||
| + | </ | ||
| + | ===== Obnova ze snapshotu ===== | ||
| + | |||
| + | Lze použít buď příkaz **rollback** nebo **clone** | ||
| + | |||
| + | ==== Rolback ==== | ||
| + | |||
| + | **POZOR**, rollback snapshotu se vrátí do stavu pořízení snapshotu. Časově následující snapshoty jsou smazány. | ||
| + | |||
| + | zfs rollback -r vspool/ | ||
| + | |||
| + | ==== Clone, promote ==== | ||
| + | |||
| + | zfs clone vspool/ | ||
| + | | ||
| + | < | ||
| + | debian:/ | ||
| + | NAME USED AVAIL REFER MOUNTPOINT | ||
| + | vspool | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | </ | ||
| + | |||
| + | Byl vytvořen zapisovatelný snapshot '' | ||
| + | |||
| + | disk = [ ' | ||
| + | |||
| + | Jestliže jsou na disku očekávaná data, lze použít příkaz '' | ||
| + | |||
| + | zfs promote vspool/ | ||
| + | |||
| + | < | ||
| + | debian:/ | ||
| + | NAME USED AVAIL REFER MOUNTPOINT | ||
| + | vspool | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | vspool/ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Replikace pomocí zxfer ===== | ||
| + | |||
| + | **Pozor** skript standardně nepoužívá sysstémovou proměnou PATH, což může být problém při použití v cronu.\\ | ||
| + | V logu se objevovala hláška: //Failed to retrieve datasets from the destination// | ||
| + | |||
| + | '' | ||
| + | |||
| + | Po přidání '' | ||
| + | |||
| + | | ||
| + | Opět se jedná o externí skript.\\ | ||
| + | '' | ||
| + | | ||
| + | zxfer -dFkPv -g 376 -R vspool/ | ||
| + | | ||
| + | http:// | ||
| + | https:// | ||
| + | https:// | ||
| + | |||
| + | |||
| + | |||
| + | ===== Záloha na vyměnitelná média - USB disk ===== | ||
| + | |||
| + | zpool list | ||
| + | | ||
| + | NAME | ||
| + | vspool | ||
| + | zfsbck | ||
| + | |||
| + | |||
| + | |||
| + | zpool export zfsbck | ||
| + | | ||
| + | |||
| + | |||
| + | zpool list | ||
| + | | ||
| + | NAME | ||
| + | vspool | ||
| + | |||
| + | | ||
| + | zpool import zfsbck | ||
| + | | ||
| + | Pokud se použije příkaz '' | ||
| + | |||
| + | | ||
| + | zpool list | ||
| + | | ||
| + | NAME | ||
| + | vspool | ||
| + | zfsbck | ||
| + | |||
| + | ===== Obnova ze zálohy ===== | ||
| + | |||
| + | Před obnovou můžeme ověřit zálohu příkazem | ||
| + | |||
| + | zstreamdump < confluence.img | ||
| + | |||
| + | V rámci dvou zfs uložišť lze použít '' | ||
| + | Ale pokud např. uložíme zfs snapshot na Ext4 souborový systém příkazem\\ '' | ||
| + | |||
| + | Zde jsem chvíli tápal, domníval jsem se, že soubor cnfluence.img je již obraz virtuálního serveru. Ale není tomu tak.Jedná se o uložený dataset a jeden konkrétní snapshot. | ||
| + | |||
| + | Pro obnovu je potřeba příkazem '' | ||
| + | |||
| + | Např.: '' | ||
| + | |||
| + | < | ||
| + | zfs list -t all|grep vspool | ||
| + | |||
| + | vspool/ | ||
| + | vspool/ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Výměna vadného disku ===== | ||
| + | | ||
| + | http:// | ||
| + | |||
| + | Pomocí příkazu zdb zjistíme disk GUID a následně převedeme disk do stavu offline. | ||
| + | |||
| + | zpool offline vspool 8908311146390156902 | ||
| + | | ||
| + | Následně vyměníme vadný disk za nový a pak pomocí příkazu replace zařadíme do pool. | ||
| + | |||
| + | zpool replace vspool 8908311146390156902 / | ||
| + | | ||
| + | |||
| + | ===== Odstranění Logs a Cache device z pool ===== | ||
| + | |||
| + | Na serveru docházelo k chybám disku v Log a Cache | ||
| + | |||
| + | < | ||
| + | |||
| + | | ||
| + | vspool | ||
| + | raidz1-0 | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXA1A25RKPVC | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXG1A95HA0A8 | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXG1A95HAH3C | ||
| + | logs | ||
| + | mirror-1 | ||
| + | 6032371930805775579 | ||
| + | ata-Samsung_SSD_850_PRO_128GB_S24ZNXAGA14082B-part1 | ||
| + | cache | ||
| + | ata-Samsung_SSD_850_PRO_128GB_S24ZNWAG942247J-part2 | ||
| + | ata-Samsung_SSD_850_PRO_128GB_S24ZNXAGA14082B-part2 | ||
| + | | ||
| + | </ | ||
| + | | ||
| + | | ||
| + | Proto bylo nutné zrušit Logs a Cache.\\ | ||
| + | |||
| + | Vadný disk není možné odebrat, je nutné nejdříve provést detach. | ||
| + | |||
| + | zpool remove vspool ata-Samsung_SSD_850_PRO_128GB_S24ZNWAG942247J-part1 | ||
| + | cannot remove ata-Samsung_SSD_850_PRO_128GB_S24ZNWAG942247J-part1: | ||
| + | | ||
| + | zpool detach vspool ata-Samsung_SSD_850_PRO_128GB_S24ZNWAG942247J-part1 | ||
| + | |||
| + | |||
| + | Partititon zařazenou v Cache nebylo možné detach, ale bylo možné jí odebrat\\ | ||
| + | |||
| + | zpool detach vspool ata-Samsung_SSD_850_PRO_128GB_S24ZNWAG942247J-part2 | ||
| + | cannot detach ata-Samsung_SSD_850_PRO_128GB_S24ZNWAG942247J-part2: | ||
| + | | ||
| + | zpool remove vspool ata-Samsung_SSD_850_PRO_128GB_S24ZNWAG942247J-part2 | ||
| + | | ||
| + | zpool status pak vypadá následovně\\ | ||
| + | |||
| + | < | ||
| + | |||
| + | root@ubuntu: | ||
| + | pool: vspool | ||
| + | | ||
| + | scan: scrub repaired 0 in 0h0m with 0 errors on Sun Feb 12 00:24:13 2017 | ||
| + | config: | ||
| + | |||
| + | NAME | ||
| + | vspool | ||
| + | raidz1-0 | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXA1A25RKPVC | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXG1A95HA0A8 | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXG1A95HAH3C | ||
| + | logs | ||
| + | ata-Samsung_SSD_850_PRO_128GB_S24ZNXAGA14082B-part1 | ||
| + | cache | ||
| + | ata-Samsung_SSD_850_PRO_128GB_S24ZNXAGA14082B-part2 | ||
| + | |||
| + | errors: No known data errors | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Nyní je možné odstranit z pool dvě funkční partition | ||
| + | |||
| + | zpool remove vspool ata-Samsung_SSD_850_PRO_128GB_S24ZNXAGA14082B-part1 | ||
| + | zpool remove vspool ata-Samsung_SSD_850_PRO_128GB_S24ZNXAGA14082B-part2 | ||
| + | | ||
| + | < | ||
| + | root@ubuntu: | ||
| + | pool: vspool | ||
| + | | ||
| + | scan: scrub repaired 0 in 0h0m with 0 errors on Sun Feb 12 00:24:13 2017 | ||
| + | config: | ||
| + | |||
| + | NAME STATE READ WRITE CKSUM | ||
| + | vspool | ||
| + | raidz1-0 | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXA1A25RKPVC | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXG1A95HA0A8 | ||
| + | ata-WDC_WD7500BPKX-00HPJT0_WD-WXG1A95HAH3C | ||
| + | |||
| + | errors: No known data errors | ||
| + | |||
| + | </ | ||
| + | | ||
| + | |||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | ==== Odkazy ==== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | http:// | ||
| + | |||
| + | http:// | ||
| + | |||
| + | http:// | ||
| + | |||
| + | |||
| + | http:// | ||
| + | |||
| + | http:// | ||
| + | |||
| + | Xen domu storage\\ | ||
| + | http:// | ||
| + | |||
| + | Ubuntu ZFS install\\ | ||
| + | http:// | ||
| + | Ubuntu 16.4 ZFS install\\ | ||
| + | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | ZFS Raidz Performance, | ||
| + | https:// | ||
| + | http:// | ||
| + | |||
| + | ZVOL storage for VMs\\ | ||
| + | https:// | ||
| + | http:// | ||
| + | |||
| + | ===== Zapracovat do dokumentu ===== | ||
| + | |||
| + | zfs send tank/ | ||
| + | |||
| + | ===== Scrub ===== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | Na cca 3TB poli jsem spustil '' | ||
| + | Servery přestali reagovat a celý systém měl hrozně dlouhé odezvy. Nakonec jsem musel scrub ukončit '' | ||
| + | |||
| + | |||
| + | |||
