Ubuntu NFS export med HDD-pooling

Permalänk
Hedersmedlem

Ubuntu NFS export med HDD-pooling

Jag sitter i slutskedet med att testa i VMs hur jag ska bygga upp min mediaserver. Jag har dock kommit till en punkt som jag är lite kluven till, nämligen hur jag ska dela min HDD-pool på bästa sätt till några andra VMs som kommer att existera på servern (bl.a. Media Browser Server, OwnCloud).

Jag har kommit fram till några olika alternativ:

1. Aufs + NFS på HOST
+ Kernel-baserad, snabba överföringshastigheter
+ Placerar filer på den HDD med mest utrymme på, jämn fördelning mellan HDD
- Verkar vara ett krux att få att fungera med NFS
- Verkar strula med borttagning och flytt av filer ibland. För att lösa detta måste jag göra en custom kernel.

2. mhddfs + NFS på HOST
+ Fungerar med NFS
- FUSE-baserad, långsammare överföringshastigheter än Aufs
- Placerar filer i en hårddisk tills den är full, ojämn fördelning mellan HDD

3. NFS på HOST, Aufs på GUEST
+ Samma fördelar som 1.
- Fler punkter att ändra på vid en utökning av poolen (1 per GUEST)
- Custom kernel för varje GUEST

Vad skulle vara den bästa och enklaste lösningen på mitt problem? Finns det något smidigare alternativ? Jag har bara hållit på med Linux i ett år eller så, så ha i åtanke att jag inte är den mest rutinerade Linuxanvändaren.

Visa signatur

"The more you learn, the more you realize how little you know."

Permalänk
Medlem

Om jag inte tolkat dina behov helt fel, hade det inte varit mycket smidigare och köra LVM istället?

Visa signatur

Intel Core i7 7700K | Asus ROG Strix Z270H | EVGA GeForce GTX 1080 Ti SC | Corsair Vengeance LPX 32GB 3000MHz | Corsair HX 650W

Permalänk
Hedersmedlem
Skrivet av Christoffer_A:

Om jag inte tolkat dina behov helt fel, hade det inte varit mycket smidigare och köra LVM istället?

Kanske skulle ha bidragit med lite mer information. Vad jag är ute efter är alltså ett sätt att klumpa ihop hårddiskarna till en virtuell volym, men behålla filsystemet intakt på varje hårddisk, d.v.s. en fil ska inte delas upp i fragment över flera hårddiskar som i en RAID. Jag kommer att använda SnapRAID som redundans ifall en hårddisk skulle krascha. Denna logiska enhet ska gå att dela med NFS på ett enkelt sätt.

Om LVM klarar av det jag nämnt hur sker i så fall fördelningen av filerna man lägger till i poolen?

Korrigering: logisk -> virtuell volym
Visa signatur

"The more you learn, the more you realize how little you know."

Permalänk
Medlem

Hade du inte bara kunnat symlinka de olika diskarna till /exports ?

Permalänk
Medlem

Tror att btrfs har ett läge som gör att de inte delar på filer. Det har också stöd för att bygga pooler av diskar. Hittar det inte nu men någon annan kanske har ett rakare svar ^^

Permalänk
Hedersmedlem
Skrivet av theailer:

Hade du inte bara kunnat symlinka de olika diskarna till /exports ?

Jag är linuxnoob så jag vet inte om jag missat något, men hur kommer pooling av HDDs in i bilden? Och varför symlinka diskar när man kan länka de direkt?

Skrivet av liten1:

Tror att btrfs har ett läge som gör att de inte delar på filer. Det har också stöd för att bygga pooler av diskar. Hittar det inte nu men någon annan kanske har ett rakare svar ^^

Det lilla jag undersökt nu på morgonen så verkar det som att det alltid blir någon form av RAID när man börjar poola ihop hårddiskar, vilket är något som jag inte vill. Dessutom så känns det onödigt avancerat för de enkla krav på funktioner jag söker. Alla diskar i poolen kommer att användas som lagringsdiskar av media, dokument etc., d.v.s. relativt stationära typer av filer. Redundansen kommer att skötas helt av SnapRAID så alla liknande funktioner på den fronten är överflödiga.

Finns det någon som kör HDD-pooling à la JBOD på Linux?

Visa signatur

"The more you learn, the more you realize how little you know."

Permalänk
Skrivet av Casgar:

Jag är linuxnoob så jag vet inte om jag missat något, men hur kommer pooling av HDDs in i bilden? Och varför symlinka diskar när man kan länka de direkt?

Det lilla jag undersökt nu på morgonen så verkar det som att det alltid blir någon form av RAID när man börjar poola ihop hårddiskar, vilket är något som jag inte vill. Dessutom så känns det onödigt avancerat för de enkla krav på funktioner jag söker. Alla diskar i poolen kommer att användas som lagringsdiskar av media, dokument etc., d.v.s. relativt stationära typer av filer. Redundansen kommer att skötas helt av SnapRAID så alla liknande funktioner på den fronten är överflödiga.

Finns det någon som kör HDD-pooling à la JBOD på Linux?

Kör för tillfället mhddfs i Debian Wheezy. Det fungerar sådär enligt mina erfarenheter. Av någon anledning brukar mhddfs krascha vid mycket läsningar eller skrivningar vilket gör att jag måste montera om allt som rör mhddfs poolen. Hade jag inte haft behov av ACLs hade jag förmodligen kört aufs då det både verkar stabilare och snabbare.

Du kanske har möjlighet att köra OverlayFS?

Permalänk
Hedersmedlem
Skrivet av PanicOutPut:

Du kanske har möjlighet att köra OverlayFS?

Det där såg intressant ut, även om jag tycker det är bristfälligt med konkret information som inte flyger över huvudet på mig.

Har du testat OverlayFS själv?

Visa signatur

"The more you learn, the more you realize how little you know."

Permalänk
Skrivet av Casgar:

Det där såg intressant ut, även om jag tycker det är bristfälligt med konkret information som inte flyger över huvudet på mig.

Har du testat OverlayFS själv?

Jag har lekt lite med det, och med det menar jag att jag har monterat två mappar som en. Det blev ungefär tio minuters erfarenhet (som enbart gick ut i att testa det lite)!

Tyvärr verkar det ju svårt att hitta någon direkt dokumentation över det hela, och som jag förstår det verkar det vara begränsat till två mappar per pool. Man kan ju dock montera dom i en kedja. Och för att göra det hela ännu enklare behöver man dessutom version 3.18 av kärnan eller nyare tror jag.

Permalänk
Hedersmedlem
Skrivet av PanicOutPut:

Jag har lekt lite med det, och med det menar jag att jag har monterat två mappar som en. Det blev ungefär tio minuters erfarenhet (som enbart gick ut i att testa det lite)!

Tyvärr verkar det ju svårt att hitta någon direkt dokumentation över det hela, och som jag förstår det verkar det vara begränsat till två mappar per pool. Man kan ju dock montera dom i en kedja. Och för att göra det hela ännu enklare behöver man dessutom version 3.18 av kärnan eller nyare tror jag.

Självfallet! Då behöver jag bara lära mig att byta kärna innan jag kan testa, men det är väl det kanske lite av halva nöjet med projektet i och för sig.

För tillfället så känns det som att det börjar lutar åt mhddfs. Hur menar du förresten med att mhddfs brukar krascha vid mycket läsningar och skrivningar? Stora momentana dataöverföringar på en gång eller stor mängd data över en längre tid?

För övrigt, vad är ACL?

Visa signatur

"The more you learn, the more you realize how little you know."

Permalänk
Skrivet av Casgar:

Självfallet! Då behöver jag bara lära mig att byta kärna innan jag kan testa, men det är väl det kanske lite av halva nöjet med projektet i och för sig.

För tillfället så känns det som att det börjar lutar åt mhddfs. Hur menar du förresten med att mhddfs brukar krascha vid mycket läsningar och skrivningar? Stora momentana dataöverföringar på en gång eller stor mängd data över en längre tid?

För övrigt, vad är ACL?

Haha, det är bara till att vara positiv!

Det krashar helt enkelt så att att monteringen inte är tillgänglig längre. Försöker man nå monteringen möts jag av "Transport endpoint is not connected”. Jag har för mig att jag lyckades framkalla det senast när jag verifierade en torrent på 100 GB. Det är väldigt svårt att exakt säga när det sker för min del, men jag upplever att jag kan "framkalla" en krash genom något sådant. Men i gengäld behöver det ju inte bli så för din del. Jag skulle nog testa någon av dem och se om jag blir nöjd. Det är ju inte så svårt att byta från den ena till den andra

Det går väl att säga att ACL är mer utförliga rättigheter för filer: https://wiki.archlinux.org/index.php/Access_Control_Lists

Permalänk
Hedersmedlem

Tja, nu kan man väl inte begära så mycket mer skulle jag tro. Compile AUFS with 3.18.6 kernel, hnotify, and NFS exportability

Blir att testa när jag får tid.

Visa signatur

"The more you learn, the more you realize how little you know."