NAS med ZFS
Postat: 15 januari 2019, 14:14:02
Jag har en filserver hemma som jag håller på att uppdatera & uppgradera. När jag började såg den ut så här:
* Virtuell installation av OpenMediaVault (omv-0.5.48, en riktigt gammal version) - systemet på en 4 GiB virtuell disk backad av en SSD och datadisk i form av en 3 TB WD Red.
* Hårdvaran under är ett Supermicro A1SAi-2550F (4 core Atom C2000) med 16 GiB ECC-RAM.
* Virtualisering med libvirt (KVM+Qemu).
Jag behöver egentligen inte mer plats just nu men däremot var det hög tid för uppdatering av mjukvaran, och så kändes det olustigt att inte ha någon form av redundans. Allt viktigt bör i och för sig finnas på offline-backup, men det vore ändå besvärligt att bli av med rippade filmer med mera. Bland annan efter att ha läst xxargs inlägg här så blev jag intresserad av ZFS och Btrfs - både möjligheten till redundans och skydd mot "bitröta" känns som bra grejer!
Efter att ha läst på lite valde jag ZFS. Även om Btrfs funkar bra för många så verkar det också vara en hel del som plötsligt får problem på olika sätt. ZFS verkar mer beprövat. Nackdelen med ZFS är att det inte finns i Linuxkärnan utan man måste installera det separat, vilket gör framtida stöd osäkert (och gör installationen krångligare). Men hellre det än ett filsystem som plötsligt inte funkar. Så jag patchade kärnan för ZFS och har lekt runt lite med "pooler" skapade från lokala filer för att testa hur det funkar.
Häromdan köpte jag också en ny disk, en Seagate ST6000DM003. Det är en disk på 6 TB. Jag valde den på grund av lågt pris per TB och - kanske viktigare - lågt ljud och låg effekt, och på grund av att den var tillgänglig i butik (just hårddiskar vill jag inte att posten ska slänga omkring). Lustigt nog blev det mycket billigare att köpa en extern lagringsenhet - STEL6000200 (1539:-) - och plocka ur disken, än att köpa disken löst (1990:-). Priserna är de billigaste som finns tillgängliga i butik i närheten av mig. Tyvärr gick det inte att plocka ur disken utan att delvis förstöra kabinettet - det var typ kassaskåpssäkert!
Denna disk ger mig redundans genom spegling samt 3 TB i reserv inför framtiden.
Ett problem med C2000-chipsetet är att det inte stödjer VT-d - det går alltså inte att "skicka vidare" SATA-kontrollern till en virtuell maskin. Hittills har jag löst det genom att skicka med den råa diskenheten som en virtuell disk till OpenMediaVault. ZFS trivs dock inte med virtuella enheter - direkt åtkomst till SATA-kontrollern rekommenderas starkt, som jag har förstått det bland annat för att säkerställa att data verkligen skrivs till disk (och inte fastnar i cache), för att hantera diskfel, och för att kolla SMART-data. Så jag kör ZFS på hosten och tanken har varit att skapa en zvol (en "ZFS-diskenhet" ovanpå ZFS-poolen) och skicka med den till OpenMediaVault, som då får skapa sitt egna filsystem (ext4?) ovanpå. Men nu har jag börjat fundera på om det inte vore smidigare att helt enkelt installera samba (cifs-server) direkt på hosten istället. Vi får se hur det blir, måste fundera lite.
* Virtuell installation av OpenMediaVault (omv-0.5.48, en riktigt gammal version) - systemet på en 4 GiB virtuell disk backad av en SSD och datadisk i form av en 3 TB WD Red.
* Hårdvaran under är ett Supermicro A1SAi-2550F (4 core Atom C2000) med 16 GiB ECC-RAM.
* Virtualisering med libvirt (KVM+Qemu).
Jag behöver egentligen inte mer plats just nu men däremot var det hög tid för uppdatering av mjukvaran, och så kändes det olustigt att inte ha någon form av redundans. Allt viktigt bör i och för sig finnas på offline-backup, men det vore ändå besvärligt att bli av med rippade filmer med mera. Bland annan efter att ha läst xxargs inlägg här så blev jag intresserad av ZFS och Btrfs - både möjligheten till redundans och skydd mot "bitröta" känns som bra grejer!
Efter att ha läst på lite valde jag ZFS. Även om Btrfs funkar bra för många så verkar det också vara en hel del som plötsligt får problem på olika sätt. ZFS verkar mer beprövat. Nackdelen med ZFS är att det inte finns i Linuxkärnan utan man måste installera det separat, vilket gör framtida stöd osäkert (och gör installationen krångligare). Men hellre det än ett filsystem som plötsligt inte funkar. Så jag patchade kärnan för ZFS och har lekt runt lite med "pooler" skapade från lokala filer för att testa hur det funkar.
Häromdan köpte jag också en ny disk, en Seagate ST6000DM003. Det är en disk på 6 TB. Jag valde den på grund av lågt pris per TB och - kanske viktigare - lågt ljud och låg effekt, och på grund av att den var tillgänglig i butik (just hårddiskar vill jag inte att posten ska slänga omkring). Lustigt nog blev det mycket billigare att köpa en extern lagringsenhet - STEL6000200 (1539:-) - och plocka ur disken, än att köpa disken löst (1990:-). Priserna är de billigaste som finns tillgängliga i butik i närheten av mig. Tyvärr gick det inte att plocka ur disken utan att delvis förstöra kabinettet - det var typ kassaskåpssäkert!
Denna disk ger mig redundans genom spegling samt 3 TB i reserv inför framtiden.
Ett problem med C2000-chipsetet är att det inte stödjer VT-d - det går alltså inte att "skicka vidare" SATA-kontrollern till en virtuell maskin. Hittills har jag löst det genom att skicka med den råa diskenheten som en virtuell disk till OpenMediaVault. ZFS trivs dock inte med virtuella enheter - direkt åtkomst till SATA-kontrollern rekommenderas starkt, som jag har förstått det bland annat för att säkerställa att data verkligen skrivs till disk (och inte fastnar i cache), för att hantera diskfel, och för att kolla SMART-data. Så jag kör ZFS på hosten och tanken har varit att skapa en zvol (en "ZFS-diskenhet" ovanpå ZFS-poolen) och skicka med den till OpenMediaVault, som då får skapa sitt egna filsystem (ext4?) ovanpå. Men nu har jag börjat fundera på om det inte vore smidigare att helt enkelt installera samba (cifs-server) direkt på hosten istället. Vi får se hur det blir, måste fundera lite.