"Arkitektur" på lagring.

Permalänk

"Arkitektur" på lagring.

Behöver lite hjälp med vilken väg jag ska gå när det gäller arkitektur/design av lagringen på min nya server.

Den har i dagsläget:

- 1st WD Black 1TB SSD (OS disk)
- 1st WD Red 1TB SSD
- 4st WD Red Plus 4TB

Servern kör Proxmox och är tänkt att bl.a. host:a Plex/Jellyfin och ett Kubernetes kluster (där jag tänkt köra diverse tjänster som *arr, NextCloud, Bitwarden, etc.).

Det mesta av plex content gör inget om jag tappar, går alltid att få tag på igen.

Däremot kommer jag använda en del av lagringen som backup för bilder, dokument etc. Detta kommer i sin tur även sparas i S3/Glacier och/eller Backblaze. Här kan det eventuellt vara aktuellt med nån slags redundans.

Så, hur bör jag design:a detta?

Har kikat lite på MergerFS+SnapRAID samt ZFS - men det är lite av en djungel.

Tillägg: Jag kan utöka kapaciteten redan nu (HDD och/eller SSD) om det gör arkitekturen "enklare".

Tillägg2: När det här väl är uppe och snurrar så kommer jag ha 1st WD Red Plus 1TB och 1st WD Red Plus 4TB över som jag kan använda. De sitter i min lastgamla QNAP Nas i dagsläget.

Permalänk
Medlem

Vad är du ute efter?
Ska dina VMs ligga på OS-disken eller på lagringsdiskarna?
Är prestanda viktigt (duger prestandan från din NAS idag?)
RAID?

Som referens, jag kör en liknande setup som du tänkt när det gäller VMs, jag kör alla mina VMs på samma disk som OS, med daglig backup till lagringsdiskarna.
Lagringspoolen jag kör är en BTRFS pool i RAID 1 med en salig blandning diskar på allt från 2 till 14 TB.
All media i Plex ligger också på lagringspoolen och inte OS-disken.

Permalänk
Medlem

Personligen tycker inte jag man behöver krångla till det i onödan om man inte vill såklart. Jag skulle satt upp det såhär SSD med OS vanlig ext4 installation. Lägg in backup till WD Red SSD med rsync varje natt.

Lägg WD Red Plus diskar i raid1 med två diskar i varje. Det blir två ext4 enheter på 4TB styck. Du väljer själv vad du vill använda dessa till genom att skapa symboliska länkar i dit systemfilsystem / .

Permalänk
Skrivet av Xcorp:

Vad är du ute efter?
Ska dina VMs ligga på OS-disken eller på lagringsdiskarna?
Är prestanda viktigt (duger prestandan från din NAS idag?)
RAID?

Som referens, jag kör en liknande setup som du tänkt när det gäller VMs, jag kör alla mina VMs på samma disk som OS, med daglig backup till lagringsdiskarna.
Lagringspoolen jag kör är en BTRFS pool i RAID 1 med en salig blandning diskar på allt från 2 till 14 TB.
All media i Plex ligger också på lagringspoolen och inte OS-disken.

Helt ärligt vet jag inte riktigt vad som är bäst för min situation, dvs. "vad jag är ute efter". Då hade jag ju satt upp det så. Utan ställer frågan för att få vägledning kring hur jag kan tänka och inspiration. Främst är jag ute efter att lära mig.

Eftersom "raid inte är backup" har jag god lust att skippa raid helt och hållet. Allt som jag är rädd om kommer som sagt backas upp offsite. Samtidigt är det ju enklare att återställa "lokalt" om en disk pajjar mha. raid.

Apropå VMs. Jag vet inte, vad är bäst här? Ska de ligga på OS-disken? På den andra SSD:n? Mtp. performance ska de nog inte ligga på de mekaniska. Min ursprungliga plan var att använda Red SSD:n som cache. T.ex. för Plex och/eller Kubernetes. Men vet inte om det kommer ge mig något.

Prestandan från min NAS (nästan 20 år gammal) duger inte. Egentligen kanske det inte NAS:en som är flaskhalsen, utan den 11 år gamla Mac Minin som kör Plex osv idag.

Har du partionerat OS-disken eller är det bara en stor disk?

Jag kanske har missförstått, men tappar du inte halva lagringsutrymmet om du kör RAID1?

Skrivet av Meto:

Personligen tycker inte jag man behöver krångla till det i onödan om man inte vill såklart. Jag skulle satt upp det såhär SSD med OS vanlig ext4 installation. Lägg in backup till WD Red SSD med rsync varje natt.

Lägg WD Red Plus diskar i raid1 med två diskar i varje. Det blir två ext4 enheter på 4TB styck. Du väljer själv vad du vill använda dessa till genom att skapa symboliska länkar i dit systemfilsystem / .

Är inte villig att tappa halva lagringsutrymmet. Framförallt inte eftersom väldigt lite av det som kommer ligga där är "viktigt".

Ska nämna också att jag kör IaC (Terraform, Ansible), så all config osv. ligger på Github.

Permalänk
Medlem
Skrivet av TheRealBeyondEvil:

Helt ärligt vet jag inte riktigt vad som är bäst för min situation, dvs. "vad jag är ute efter". Då hade jag ju satt upp det så. Utan ställer frågan för att få vägledning kring hur jag kan tänka och inspiration. Främst är jag ute efter att lära mig.

Eftersom "raid inte är backup" har jag god lust att skippa raid helt och hållet. Allt som jag är rädd om kommer som sagt backas upp offsite. Samtidigt är det ju enklare att återställa "lokalt" om en disk pajjar mha. raid.

Apropå VMs. Jag vet inte, vad är bäst här? Ska de ligga på OS-disken? På den andra SSD:n? Mtp. performance ska de nog inte ligga på de mekaniska. Min ursprungliga plan var att använda Red SSD:n som cache. T.ex. för Plex och/eller Kubernetes. Men vet inte om det kommer ge mig något.

Prestandan från min NAS (nästan 20 år gammal) duger inte. Egentligen kanske det inte NAS:en som är flaskhalsen, utan den 11 år gamla Mac Minin som kör Plex osv idag.

Har du partionerat OS-disken eller är det bara en stor disk?

Jag kanske har missförstått, men tappar du inte halva lagringsutrymmet om du kör RAID1?

Är inte villig att tappa halva lagringsutrymmet. Framförallt inte eftersom väldigt lite av det som kommer ligga där är "viktigt".

Ska nämna också att jag kör IaC (Terraform, Ansible), så all config osv. ligger på Github.

Jo, jag tappar halva utrymmet med RAID1, men väljer att betala för det för att skydda mot just enskilt diskhaveri som du säger.

Vad som är bästa angående placering av VMs beror på vilken typ av miljö och vad för krav som finns. Hemma, absolut kör jag på samma disk, har i princip noll prestandabehov för just disk hemma samt att dom backas till lagringspoolen. Krashar OS-disken får jag installera om och återställa från backup. Har tankar på att köpa en till OS-disk som lite säkerhet mot disk-krash.

Ett förslag från mig;
OS kör du på ZFS (proxmox installer gör detta default om jag inte minns helt fel, annars finns det som val i den)
Lagring kör du på en ZFS RAIDZ med 4 diskar, detta motsvarar RAID5 det ger dig ca 10TB utrymme och du kan tappa en disk utan att förlora data.

Vill du ha upp läsprestanda på lagringen så sätter du RED disken som en read-cache på lagringspoolen.
Vill du sova lite bättre på natten så kör du båda SSDs i ZFS mirror för proxmox (ganska säker på att installern hanterar detta också, annars är det lätt att lägga till i efterhand)
Läsprestanda kommer inte vara ett problem om det i första hand handlar om en eller några få strömmar från plex, detta är i princip sekventiell läsning och dina diskar kommer mer än väl fylla en Gbit lina.

Varför kör jag själv inte ZFS för min lagring?
När jag satte upp poolen för 10+ år sedan så hade ZFS inte stöd för att ta bort diskar ur poolen (egentligen vdevs, men håller det enkelt), samt att alla diskar du speglar måste vara lika stora om du kör mirror/raidz (zfs motsvarighet till RAID1/RAID5)
BTRFS har stöd för att lägga till/ta bort diskar hur som helst och inga krav på att diskarna måste vara lika stora för att kunna nyttja allt utrymme.

root@vm2:~# df -h /files/ Filesystem Size Used Avail Use% Mounted on /dev/sdh 31T 24T 7.0T 77% /files root@vm2:~# btrfs filesystem show /files/ Label: none uuid: 8374a738-91fd-4120-afad-5fb506e15642 Total devices 10 FS bytes used 23.03TiB devid 1 size 7.28TiB used 5.90TiB path /dev/sdh devid 2 size 9.10TiB used 7.73TiB path /dev/sdb devid 3 size 3.64TiB used 2.26TiB path /dev/sdj devid 4 size 2.73TiB used 1.36TiB path /dev/sdi devid 5 size 7.28TiB used 5.92TiB path /dev/sdd devid 6 size 3.64TiB used 2.27TiB path /dev/sdf devid 7 size 3.64TiB used 2.28TiB path /dev/sda devid 8 size 2.73TiB used 1.37TiB path /dev/sde devid 9 size 7.28TiB used 5.92TiB path /dev/sdc devid 10 size 12.73TiB used 11.38TiB path /dev/sdg

Inser nu också att jag ljög förut, den minsta disken jag har kvar är 3TB

Idag har ZFS stöd för att ta bort diskar/vdevs, men kan fortfarande inte blanda storlekar hej vilt, och det går inte heller att köra mirror på ett ojämnt antal diskar (det går men du kommer få 3 kopior då).

Lite varningar
Du vill INTE köra något annat än RAID1 eller RAID10 på BTRFS, RAID5/6 är trasigt!
Oavsett om du väljer att köra ZFS/BTRFS eller något annat COW-filsystem, se till att ALDRIG fylla det helt, det blir jobbigt

Permalänk
Medlem
Skrivet av TheRealBeyondEvil:

Är inte villig att tappa halva lagringsutrymmet. Framförallt inte eftersom väldigt lite av det som kommer ligga där är "viktigt".

Ska nämna också att jag kör IaC (Terraform, Ansible), så all config osv. ligger på Github.

Om det ändå bara är på skoj kan det vara roligt att snabbt kunna återställa när det blir fel. 1TB SSD räcker långt som systemdisk för alla maskiner med tjänster och lite till. Du kan använda SSD2 till annat också så länge inte systemdisken är full.

Permalänk
Medlem

Jag kan inte säga vad du ska göra, men jag tycker ju personligen inte det är värt att hålla på att härja med lagringen på det sättet du tycks vilja göra. Det kommer vara krångligare att sätta upp, kräva mer underhåll, du kommer aldrig riktigt kunna lita på det hela, och det blir jobbigt att uppgradera.

Jag skulle helt enkelt köra ZFS med 2 st vdev:s med vardera 2 st speglade 4 TB. Då får du totalt 8 TB utrymme. Du kan lätt utöka genom att köpa två diskar till i valfri storlek, eller byta ut två diskar mot större om du har ont om disk-platser. Vidare får du ett utrymme du kan lita på, och du kan göra ögonblickliga snapshots. RAID är inte backup, men det är jävligt skönt att inte behöva krångla en massa om (läs när) en disk går sönder, och ZFS skyddar även mot "silent corruption" (en disk läser/skriver data felaktigt istället för att rapportera att något gick snett). Gör du regelbundna snapshots har du även visst skydd mot användarfel (råka trycka delete på fel mapp etc) och malware/ransomware.

För SSD:erna samma sak, spegling. Eventuellt partitionera dem så att du t ex kan ha 100 GB cache till hårddiskarna (L2ARC).

En annan grej angående ditt ursprungliga inlägg. Såvida det inte är väldigt små datamängder du tänker lägga i S3/Glacier så tänk även på återställningskostnaden. Det kostar ca 1000 kr / TB såvitt jag förstår. Det känns som en sista utväg, man vill ha en annan backup-lösning man kan använda innan dess.

Permalänk
Skrivet av trudelutt:

Jag kan inte säga vad du ska göra, men jag tycker ju personligen inte det är värt att hålla på att härja med lagringen på det sättet du tycks vilja göra. Det kommer vara krångligare att sätta upp, kräva mer underhåll, du kommer aldrig riktigt kunna lita på det hela, och det blir jobbigt att uppgradera.

Ja, därav tråden. Har liksom en magkänsla att jag övertänker det. Framförallt mtp. att en majoritet av datat inte är viktigt. Filmer, serier osv. går alltid att ladda ner igen.

Skrivet av trudelutt:

Jag skulle helt enkelt köra ZFS med 2 st vdev:s med vardera 2 st speglade 4 TB. Då får du totalt 8 TB utrymme. Du kan lätt utöka genom att köpa två diskar till i valfri storlek, eller byta ut två diskar mot större om du har ont om disk-platser. Vidare får du ett utrymme du kan lita på, och du kan göra ögonblickliga snapshots. RAID är inte backup, men det är jävligt skönt att inte behöva krångla en massa om (läs när) en disk går sönder, och ZFS skyddar även mot "silent corruption" (en disk läser/skriver data felaktigt istället för att rapportera att något gick snett). Gör du regelbundna snapshots har du även visst skydd mot användarfel (råka trycka delete på fel mapp etc) och malware/ransomware.

Läste precis denna, ang. just spegling: https://jrs-s.net/2015/02/06/zfs-you-should-use-mirror-vdevs-...

Jag har inte ont om diskplatser, kör ett Fractal Design 7 i "storage" mode, så har plats för 18 diskar (+4 nvme på moderkortet). Däremot har jag bara 4st SATA på moderkortet, och eftersom jag försöker bygga en server som drar så lite ström så möjligt i idle, så vill jag helst undvika att slänga på ett PCI med fler SATA.

Jag behöver läsa på om snapshots. Fattar ju konceptet, har jobbat med det i produktionsmiljöer. Men förstår inte riktigt poängen med det i relation till ZFS. Inte nog med att jag tappar 50% av mitt utrymme - ska jag dessutom behöva sätta av _ytterligare_ utrymme till snapshots?

Skrivet av trudelutt:

För SSD:erna samma sak, spegling. Eventuellt partitionera dem så att du t ex kan ha 100 GB cache till hårddiskarna (L2ARC).

Funderade på om jag skulle köpa en till WD Red 1TB SSD, så att jag kan spegla den jag har - och dela upp dessa i L2ARC och ZIL.
Likt han gör här: https://www.youtube.com/watch?v=Dmjmm0zAotI

Skrivet av trudelutt:

En annan grej angående ditt ursprungliga inlägg. Såvida det inte är väldigt små datamängder du tänker lägga i S3/Glacier så tänk även på återställningskostnaden. Det kostar ca 1000 kr / TB såvitt jag förstår. Det känns som en sista utväg, man vill ha en annan backup-lösning man kan använda innan dess.

Behöver inte kosta så mycket (det finns olika konfigurationer, lite förenklat), men absolut, kommer köra en standard 123backup.

Permalänk
Medlem
Skrivet av TheRealBeyondEvil:

Jag behöver läsa på om snapshots. Fattar ju konceptet, har jobbat med det i produktionsmiljöer. Men förstår inte riktigt poängen med det i relation till ZFS. Inte nog med att jag tappar 50% av mitt utrymme - ska jag dessutom behöva sätta av _ytterligare_ utrymme till snapshots?

Snapshots tar inget utrymme i sig. Det är först när du tar bort eller ändrar en fil som den börjar ta plats i snapshottet så att säga, iom att den fortfarande ligger oförändrad i ditt snapshot.

Har du nerladdade youtube-videos eller liknande som du kontinuerligt tar bort och laddar ner nya är det dumt att ta snapshots av dem. Nöj dig med att göra det på saker du själv gjort - foton, projekt osv som du antagligen vill ha kvar "för alltid".

Skrivet av TheRealBeyondEvil:

Funderade på om jag skulle köpa en till WD Red 1TB SSD, så att jag kan spegla den jag har - och dela upp dessa i L2ARC och ZIL.
Likt han gör här: https://www.youtube.com/watch?v=Dmjmm0zAotI

Skippa SLOG. Det mest ökar risken för problem och gör antagligen ingen större skillnad för en hemmaserver ändå. Jag tror det är bättre du försöker lägga VM:ar, databaser och andra prestandakänsliga/prestandaintensiva saker på dina SSD:er direkt istället.