Apropå samba, finns det ingen nyare version än 3.4.8 i ports? Trodde version 3.5.4 var senaste stabila samba?
Jag har nu importerat min opensolaris raidz1 och det gick bra. Får dock upp någon varning om korrupt sekundär partitionstabell, använder den primära partitionstabellen på dessa hårddiskarna men scrub hittade inga fel så det verkar OK ändå. Uppgraderade till zpool version 14 (dessa diskar körde version 13).
Kopplade in de sista hårddiskarna också. Med alla 11 diskar inkopplade får jag felmeddelande från datorns bios tror jag (verkar komma innan boot):
error66 lba32
error66 lba1
error66 lba32
error66 lba1
Meddelandet om korrupt partitionstabell kom upp efter att detta inträffade så det kan finnas ett samband.
Dessa felmeddelanden verkar försvinna när jag kopplar ur hårddiskarna som är anslutna till Highpoint Rocket 620 kontrollern. Men även med diskarna inkopplade bootar systemet upp och allting verkar fungera trots dessa felmeddelanden vid uppstarten. Testade ändra från AHCI till IDE-läge på hårddiskarna i moderkortets bios och då kommer inte dessa felen upp. Finns även en option att ställa IDE på endast två av sata-portarna i moderkortets bios, men när jag testade det försvann inte felmeddelandet. Lustigt nog är det ändå bara två av hårddiskarna som försvinner från camcontrol devlist när jag inaktiverat AHCI för alla diskar i bios trots att det är 6 stycken hårddiskar anslutna till moderkortet. De två som försvinner från camcontrol hamnar under atacontrol istället. Ska man tolka det som att resterande 4 diskar ändå använder AHCI eftersom de listas under camcontrol? Kanhända det är något vajsing med AHCI på mitt moderkort, det funkade ju inte alls på opensolaris men jag får väl prova och se hur det blir.
Hursomhelst, ZFS har ju koll på eventuella korrupta filer så jag har satt på AHCI igen i moderkortts bios och kör vidare, ignorerar dessa fel så länge för att se om ZFS detekterar några fel. För att få till min 7-diskars raidz2 körandes med endast 5 stycken verkliga hårddiskar så använde jag mig av minnesdiskar som någon tipsade om i tråden. Använder även glabel på 2TB-diskarna för att ge dem trevliga namn (label/disk7, label/disk8, label/disk9 och label/disk10). Då sparas dessa labels som metadata på hårddisken så det blir lättare att identifiera diskarna.
Funkade i alla fall bra att skapa raidz2 med 5 verkliga diskar plus två minnesdiskar md0 och md1. Den nya poolen heter nu nytank. Den gamla heter tank. md0 och md1 är vardera på 1 TB men mitt RAM är inte så stort så det första jag gjorde var att försöka sätta md1 och md0 offline innan jag fyller på med data. Men sedan gick det inte att sätta md0 offline när md1 redan är offline för zpool vägrar låta mig ta bort all redundans. Då fick jag helt enkelt ta bord md0 med malloc -d -u 0 och den blev UNAVAIL i zpool status, men poolen funkar fortfarande dock utan redundans. Min gamla tank har fortfarande 1 disk redundans så det är ingen fara.
Nu har jag alltså två pooler. tank med raidz1 5x1 TB. nytank med 7-diskars raidz2 som körs degraderad på 5 diskar (varav några 2 TB och några 1 TB så utrymmet är just nu 5 TB för lagring på nytank).
Så duplicerar jag tank till nytank:
zfs snapshot -r tank@transfer
zfs send -R tank@transfer | zfs receive -vFd nytank
Verkar funka smidigt, tar snapshots på alla filsystem på tank och skickar dem allihopa till nytank. Är förhoppningsvis färdigt framåt kvällen. När det är färdigt så ska tank ha klonats till nytank.
Framtidsplaner:
Om överföringen går bra - exportera tank och ta en 1TB-disk därifrån till nytank så man får redundans där istället (ersätt md1).
Går det bra ta ytterligare 1 TB-disk från tank (då förstörs tank men filerna är säkrade på nytank istället) och ersätt md0
Då har jag 7 diskars raidz2 med alla diskar online. Dock är vissa diskar bara 1TB. Det får fixas:
Sätt en 1 TB-disk offline, kombinera ihop den med 1TB-disk från förstörda tank med gconcat och ersätt disk i nytank.
fortsätt så tills alla diskar är 2 TB (varav vissa är 1TB-diskar parvis i jbod med gconcat).
Slutligen zpool export och import för att få 7x2TB raidz2...
Trevligt med funktioner som gconcat så att man kan återanvända sina 1TB-diskar parvis så de upplevs som 2TB-diskar.
Men jag har en känsla av att det kommer att ta ganska lång tid att hålla på ersätta en disk i taget, vänta på resilver och så vidare men så småningom ska det väl bli färdigt. Känns ändå bra att gå över från raidz1 till raidz2 och jag kan nog behöva det med lagring på 10 stycken hårdiskar.
Intressant fakta kan vara att de 2 TB hårddiskar jag köpte nu kostade lika mycket som 1TB-diskar kostade i december 2008 när jag byggde min filserver. Så 2012 kan man kanske få 4TB-diskar för för en tusenlapp. Då får jag väl konkatenera 2TB-diskarna istället och fylla på med 4 TB-diskar. På så sätt kan man återanvända en del gamla diskar. Blir nog en enklare procedur när man kör raidz2 jämfört med raidz1. Plocka ur en disk och ersätt med dubbelt så stor. Plocka ur nästa disk, konkatenera denna bortkopplade disk med den tidigare bortkopplade disken och ersätt. Nästa disk ersätter man med en ny dubbelt så stor och så vidare.
Detta kanske kan ge idéer till er som idag sitter med typ en 6-diskars raidz2 med 1TB-diskar och vill utöka utrymmet. Köp till 3 stycken 2TB-diskar och konkatenera till en 6 diskars raidz2 som består av 3 äkta 2TB-diskar och 3 stycken jbod-par på 1TB. Då får ni 8 TB utrymme istället för 4TB. Visst ni kunde istället ha lagt till en 3-diskars raidz1 med 2TB-diskar och fått samma utrymme men då kan ni ha oturen om två stycken hårddiskar i raidz1 går sönder istället för om dessa hade suttit i raidz2-arrayen. Å andra sidan blir det snabbare med flera vdev så man kanske hellre köper 4 stycken 2TB och lägger till en raidz2 till sin existerande pool men det blir ju dyrare också och tar en extra hårddiskplats i utrymme i chassit.
En nackdelen jag ser med att köra jbod är väl att risken blir större att hårddiskar faller bort ur arrayen. Är ju dubbelt så stor risk att någon disk i ett hårddiskpar går sönder jämfört med en ensam disk. Men jag tycker jag har kompenserat detta genom att gå från raidz1 till raidz2.