Olen ajatellut, että rakentaisin oman NAS:n ZFS poolin kokonaan uudestaan. Nyt käytössä neljä 8TB levyä kahden levyn mirroreina. En halua jatkaa kahden levyn mirroreiden lisäämistä, koska riskit tuntuvat hyötyjä suuremmilta.
Seuraavassa konfiguraatiossa olisi 8 8TB levyä (sis. nuo neljä aiempaa). Olen pyöritellyt pääasiassa kahta vaihtoehtoa. Kaksi neljän levyn mirroria tai yksi seitsemän levyn RaidZ2. Valitettavasti en varmaan saa tuota viimeistä levyä suoraan käyttöön tuon RaidZ2:n kanssa, koska vanhan poolin data pitää saada jonnekin talteen uuden poolin luomista varten. Mirroreiden kanssa vastaavaa ongelmaa ei tule.
Ilmeisesti ZFS:ään on suunnitteilla uusi ominaisuus, jolla voisi lisätä levyjä olemassaolevaan RaidZ-pooliin. Voin siis ihan hyvin odottaa tuota ominaisuutta, pahimmassa tapauksessa minulle jää yksi ylimääräinen levy varalle.
Onko näiden kahden välillä mitään selkeää parempaa vaihtoehtoa? Mitään elintärkeää dataa en säilö, kyseessä on oma mediakirjasto, mutta en nyt ihan mielellään haluaisi sitä kasata uudestaan. Ilmeisesti tuollainen 5+2 (ja 6+2) RaidZ2 alkaa olla jo vähän suositeltavan konfiguraation ylärajoilla. Kotelosta vaan loppuu tila näiden neljän levyn jälkeen, jonka vuoksi mietin vaihtoehtoa mirrorille.
Jatketaan tarinaa. Uudet levyt matkalla ja kohta pääsee toteuttamaan.
Aloin pohtimaan vähän omia tilatarpeita ja vanhojen levyjen ikää ja käänsin kelkan tuohon peilattuun kokoonpanoon. Menen siis aiemmasta 2x2 mirrorista 2x4 mirroriin. Olemassaolevan datan vuoksi prosessi pitää tehdä jotakuinkin seuraavasti:
- Uudet levyt koneeseen ja luodaan niistä väliaikainen pool
- Siirretään vanhasta 2x2 poolista data uuteen väliaikaiseen
- Tuhotaan vanha pool
- Exportataan uusi pool ja importataan takaisin vanhan nimellä
- Lisätään vanhan poolin levyt uudeksi mirroriksi samaan pooliin
Tuossa ongelmana on oikeastaan se, että nyt poolit menisivät tyyliin uudet levyt ja vanhat levyt. Vanhoilla on "ikää" 10000h eivätkä anna erroreita. Silti mietin, että olisi varmaan järkevämpää korvata tuossa vanhassa poolissa pari vanhaa levyä uusilla, jotta kummassakin lopullisessa poolissa olisi kaksi uutta ja kaksi vanhaa levyä.
Kysymyksiä on siis muutama:
- Mikä olisi "best practice" tuossa datan heittämisessä väliaikaiseen paikkaan, jotta nuo neljä vanhaa levyä voidaan organisoida yhdeksi mirroriksi? Onko tähän jotain kikkaa, jolla prosessi helpottuisi? (Olen jotain tietoa löytänyt zfs send/receive komentojen käytöstä, jolla snapshottien avulla saadaan dataa siirrettyä)
- Onko levyjä tarpeen sekoittaa, jotta kummassakin mirrorissa on uutta ja vanhaa levyä? Jos on, niin tuleeko tästä jotain oleellisia muutoksia prosessiin?
(- Onko tässä yhteydessä järkeä pyrkiä balansoimaan dataa tasaisesti mirroreiden välillä, kun se kerran kirjoitetaan uudestaan joka tapauksessa? Jos on, niin miten se kannattaisi tehdä?)
En tarvitse valmiita vastauksia kaikkeen, olen koittanut jotain vastaavaa projektia etsiä luettavaksi, mutta en ole vielä löytänyt. Sellainen kelpaa tukimateriaaliksi loistavasti.