Jakým způsobem mít /home na LAN?

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Jakým způsobem mít /home na LAN?
« kdy: 14. 03. 2014, 15:52:05 »
Zdravíčko, zase já a zase s dobrou ptákovinou :-)

Budu teď kupovat dva 3TB disky (RAID1) do stroje, kterej pojede 24/7 a bude na Gbit LAN. Současně s tím z mého desktopu odejdou oba HDD (nyní v RAID1) a tím pádem řeším, co udělat s tím desktopem.

Mám poruce postarší 80GB 2,5" HDD a pohrávám si s myšlenkou, že bych na něj nalil systém, swap a nic víc. /home bych pak měl na tom stroji s 3TB disky. Možná bych na to 80GB měl nějakou základní konfiguraci /home, abych byl schopnej naject a opravovat, kdyby se něco podělalo na síťovym spojení. Kdyby síť byla ok, tak by se /home přemountoval tím síťovým...

Co by v /home bylo? Hudba, nějaký ten film, fotky a .steam adresář (hry)
Co mi to dá? Velkej prostor na discích, který by jinak nebyly až tak využitý
Co mi to vezme? Rychlost... Gbit LAN je pořád méně, než HDD přímo na desce.

Otázky do pléna:
Je to úplná hovadina? (nemyslím si)
Jak /home připojit? Resp. jakým protokolem/službou? NFS, SSHFS, ??? ? SSHFS bych rád, ale šifrování vezme spoustu rychlosti s sebou (dá to cca 45MB/s). NFS jsem už dřív zkoušel, nevyhovoval mi pouze požadavek shodných UID a GID.
Má to někdo podobně?


Zopper

  • *****
  • 917
    • Zobrazit profil
Re:Jakým způsobem mít /home na LAN?
« Odpověď #1 kdy: 14. 03. 2014, 16:05:51 »
.steam adresář (hry)
Pokud nikde jinde, tak narazíš tady. Filmům a podobně stačí vysoká propustnost, ale u her potřebuješ i latenci. I když asi záleží na tom, co za hry tam bude. Nejnáročnější budou open-world věci typu TES: Skyrim, různá MMO...

Takže já bych v desktopu ty 1TB disky nechal (nebo jen jeden z nich), měl na tom pracovní data, hry, ... a dělal si automatické zálohy na ten síťový (třeba přes owncloud). Filmy pak můžeš mít jen na síti. Tohle řešení ti navíc dává důležitá data na dva různé stroje, takže když klekne raid na síťovém disku, tak pořád máš ještě desktop.

Ad protokol, zkus ještě sambu a pak se poděl o výstup. :-)

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Jakým způsobem mít /home na LAN?
« Odpověď #2 kdy: 14. 03. 2014, 16:21:16 »
...
Minimálně zkusit to chci. To určitě. O zálohu se nebojím, důležitý věci budou na těch dvou discích, který vykradu z desktopu. Takže to důležitý bude na 2x 3TB doma a na 2x 1TB geograficky jinde. Synchronizováno (třeba) denně po netu.

Takže o ty dva 1TB disky "přijdu" určitě. Budu mít v ruce (ze zásob) pouze 1x 80GB 2,5" a 1x 60GB 2,5". První PATA, druhej SATA. No, mohl bych je dát do RAID1 ;D

Do samby na 199% nepůjdu, protože jedu na Gentoo a zbytečný jebání se s protokolem reverzně inženýrovanym z jinýho OS moc nechci. Jinak řečeno - očekávám minimálně stejnej výkon od NFS, spíš lepší. A zatím to vidím osobně nejspíš právě na NFS.

Re:Jakým způsobem mít /home na LAN?
« Odpověď #3 kdy: 14. 03. 2014, 16:56:13 »
Jak /home připojit? Resp. jakým protokolem/službou? NFS, SSHFS, ...? NFS jsem už dřív zkoušel, nevyhovoval mi pouze požadavek shodných UID a GID. Má to někdo podobně?
NFS. Podobně to mají uživatelé unixů už desítky let. S ohledem na to byla i navržena standardní struktura unixových adresářů - aby nutná část mohla být lokálně a zbytek (včetně /home) na síti. To jenom desktopové počítače jsou taková anomálie, kde jde vše v lokálním počítači.

UID a GID nemusí být shodné, je možnost mapovat je podle jmen. Je k tomu potřeba podpora na obou stranách, ale Linux to podporuje. Problém by mohl nastat, pokud by ten server byl nějaký NAS, tam ne vždy mají podporu mapování zapnutou.

u her potřebuješ i latenci
Latence při čtení nebo zápisu na disk? U her? Co by ta hra z disku pořád četla nebo na něj dokonce zapisovala?

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Jakým způsobem mít /home na LAN?
« Odpověď #4 kdy: 14. 03. 2014, 17:09:51 »
NFS. Podobně to mají uživatelé unixů už desítky let. S ohledem na to byla i navržena standardní struktura unixových adresářů - aby nutná část mohla být lokálně a zbytek (včetně /home) na síti. To jenom desktopové počítače jsou taková anomálie, kde jde vše v lokálním počítači.

UID a GID nemusí být shodné, je možnost mapovat je podle jmen. Je k tomu potřeba podpora na obou stranách, ale Linux to podporuje. Problém by mohl nastat, pokud by ten server byl nějaký NAS, tam ne vždy mají podporu mapování zapnutou.
Server je klasický železo, v pohodě s ním můžu dělat co chci. Pr mě bude i nejjednodušší sjednotit si UID a GID. Je blbej nápad mít na lokálním disku alespoň mini /home, kde by bylo jen pár souborů, aby naskočilo prostředí a byla možnost fungovat? S tím, že kdyby síť jela, přemountoval by se /home tim síťovym.

Blbá otázka: Co se stane, když na /home, kde je namountovanej třeba /dev/sda3, namountuju pomocí NFS něco vzdálenýho? Udělá se umount /dev/sda3 nebo ne? Jaký soubory v /home uvidím? Já se domnívám, že se prostě ten lokální home překreje tim z NFS a všechno pojede. Nepovažuju to za košer postup, jen se ptám.

Latence při čtení nebo zápisu na disk? U her? Co by ta hra z disku pořád četla nebo na něj dokonce zapisovala?
Ač to zní nepravděpodobně, má Honza pravdu. U openworld her to furt něco dělá s diskem. Na druhou stranu - síť je jen místo SATA kabelu, takže ta hra tak jako tak bude viset a odezvě samotnýho disku. Chci říct, že by NFS na to nemělo mít vliv, ale že je pravda že u her na odezvě záleží.


Jimm

Re:Jakým způsobem mít /home na LAN?
« Odpověď #5 kdy: 14. 03. 2014, 17:11:18 »
Když o tom nic nevíte, nekecejte do toho... Velké hry (například Arma) loadují textury v jednom kuse, přemístění na SSD zvedne FPS ze 30 na 70. A není to jen Arma, začal jsem postupně všechny hry tlačit na SSD, takový rozdíl jsem absolutně neočekával. Takže co se týká hraní, neblbni a nech si nějaký HDD v tom stroji. :)

Jinak bych šel do NFS, pokud si jsi ovšem jist že nebudeš potřebovat přístup i z jiných mašin.

Latence při čtení nebo zápisu na disk? U her? Co by ta hra z disku pořád četla nebo na něj dokonce zapisovala?

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Jakým způsobem mít /home na LAN?
« Odpověď #6 kdy: 14. 03. 2014, 17:31:14 »
Přístup odjinud neplánuju, bude to fakt jen detašovanej diskovej prostor :-)

Co se těch her týče - tak jako tak je ta odleju a pak teprve uvidím, jak je to použitelný. Většinou jde o pitomosti nebo sto let starý věci (Oblivion), ale bude tam třeba X3, to už by mohlo být horší... Uvidíme, dokud to nezkusím, tak nebudu vědět. Nějaký delší načítání a podobný blbosti, to je mi úplně jedno.

Mimochodem:
Server = C1037U + 4GB + 2x 3TB, Gbit LAN
Desktop = i5-750 + 8GB + 1x 60-80GB, Gbit LAN

Nynější rychlost mezi nima po SSHFS je 45MB/s a na obou strojích vyletí jedno ráno na max = omezení výkonem CPU. Při NFS očekávám atakování maximální propustnosti (mínus režie, samozřejmě).

Re:Jakým způsobem mít /home na LAN?
« Odpověď #7 kdy: 14. 03. 2014, 17:36:22 »
Je blbej nápad mít na lokálním disku alespoň mini /home, kde by bylo jen pár souborů, aby naskočilo prostředí a byla možnost fungovat?
Spíš je otázka, jaký problém by takové řešení mělo řešit. Když se ti nějak pokazí systém, tak stejně potřebuješ roota, takže řešit home uživatele je celkem zbytečný.

Blbá otázka: Co se stane, když na /home, kde je namountovanej třeba /dev/sda3, namountuju pomocí NFS něco vzdálenýho? Udělá se umount /dev/sda3 nebo ne? Jaký soubory v /home uvidím? Já se domnívám, že se prostě ten lokální home překreje tim z NFS a všechno pojede. Nepovažuju to za košer postup, jen se ptám.
To je náhodou dobrá otázka. Starý mount se neodmountuje. A navíc pokud na něm budeš mít v okamžiku mountování otevřený nějaký soubor, zůstane dál otevřený. Takže z pohledu aplikace se může stát, že čte/zapisuje do ~/home/.aplikace/xy na lokále, ale když si otevře (z jejího pohledu) jiný soubor v tom stejném adresáři, tak už bude na NFS, čili někde úplně jinde => potenciální nekonzistence těch dvou souborů.

Samozřejmě nic z toho se nestane, pokud se /home namountuje ještě před tím, než se přihlásíš, což by tak rozhodně být mělo.

Pavel 'TIGER' Růžička

Re:Jakým způsobem mít /home na LAN?
« Odpověď #8 kdy: 14. 03. 2014, 17:40:23 »
No já osobně /home pouze rsyncuji. Nicméně pokud nemáš GB síť, tak bych tuto myšlenku raději zcela opustil

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Jakým způsobem mít /home na LAN?
« Odpověď #9 kdy: 14. 03. 2014, 17:47:18 »
No já osobně /home pouze rsyncuji. Nicméně pokud nemáš GB síť, tak bych tuto myšlenku raději zcela opustil
Gbit LAN mám. Já bych klidně rsyncoval, ale problém je v tom, že disky budou fyzicky v jinym stroji (potřebuju, aby byly se pořád točily, aby data byly pořád přístupný, bude to domácí "NAS"). A takovej boháč, abych měl doma víc X terabajtových disků, to teda zase nejsem :-D

Spíš je otázka, jaký problém by takové řešení mělo řešit. Když se ti nějak pokazí systém, tak stejně potřebuješ roota, takže řešit home uživatele je celkem zbytečný.
Ta myšlenka se mi líbí. Máš pravdu, od toho a 95% upustím.

To je náhodou dobrá otázka. Starý mount se neodmountuje. A navíc pokud na něm budeš mít v okamžiku mountování otevřený nějaký soubor, zůstane dál otevřený. Takže z pohledu aplikace se může stát, že čte/zapisuje do ~/home/.aplikace/xy na lokále, ale když si otevře (z jejího pohledu) jiný soubor v tom stejném adresáři, tak už bude na NFS, čili někde úplně jinde => potenciální nekonzistence těch dvou souborů.

Samozřejmě nic z toho se nestane, pokud se /home namountuje ještě před tím, než se přihlásíš, což by tak rozhodně být mělo.
Pokud od lokální /home "kopie" upustím, je to vyřešený :-) NFS samozřejmě bude ve fstabu, takže bude namountováno jakmile to bude technicky možný (po startu sítě). To už jsem takhle kdysi měl. Doplňující otázka - jak vyřešit vzdálený přihlášení pomocí SSH klíče, když by se /home nenamountovalo? To by sice uživatel v systému existoval, ale jeho domovská složka, kde by byl veřejnej SSH klíč, by v tu dobu nebyla... Ten desktop není geekovskej, je to běžnej domácí počítač, může přijít situace, kdy si k němu sedne manželka a zrovna se to celý pokurví (známe tyhle situace, že? ;D )

Re:Jakým způsobem mít /home na LAN?
« Odpověď #10 kdy: 14. 03. 2014, 18:10:45 »
Co se stane, když na /home, kde je namountovanej třeba /dev/sda3, namountuju pomocí NFS něco vzdálenýho? Udělá se umount /dev/sda3 nebo ne? Jaký soubory v /home uvidím? Já se domnívám, že se prostě ten lokální home překreje tim z NFS a všechno pojede. Nepovažuju to za košer postup, jen se ptám.
Nic se neodmountuje, jednotlivé mounty se vrství přes sebe - mount jenom změní to, co je vidět v adresářové struktuře. Košer postup to je, takhle mountování funguje. Už při mountování toho /dev/sda3 na /home překryjete soubory a adresáři v /home na kořenovém disku.

Velké hry (například Arma) loadují textury v jednom kuse, přemístění na SSD zvedne FPS ze 30 na 70.
Kolik taková hra zabírá na disku? Myslel jsem, že bude mít vše potřebné v cache... "V jednom kuse" znamená fakt, že se z disku čte neustále (a není tedy šance něco načíst dopředu), nebo ře se čte hodně často, pak by ale latenci mělo řešit přednačítání dat.

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Jakým způsobem mít /home na LAN?
« Odpověď #11 kdy: 14. 03. 2014, 18:42:47 »
Kolik taková hra zabírá na disku? Myslel jsem, že bude mít vše potřebné v cache...
To je ta správná otázka. Třeba X3 má kolem 7,5GB. Mám 8GB RAM, takže teoreticky dobrý. Ale... Ta hra neumí RAM využívat, takže nazdar bazar... Takhle je to se spoustou věcí. Mít ten prostor je jedna věc, mít prostředky na jeho využití je věc druhá, bohužel :-(

Jimm

Re:Jakým způsobem mít /home na LAN?
« Odpověď #12 kdy: 14. 03. 2014, 19:14:09 »
Arma má u mě na disku 38GB se všemi mody co jsou třeba. A je to 32-bitová aplikace. Při dohledu 10 Km věřte že se textury nevejdou... :)

Re:Jakým způsobem mít /home na LAN?
« Odpověď #13 kdy: 14. 03. 2014, 19:15:35 »
Ta hra neumí RAM využívat, takže nazdar bazar...
Jak by RAM měla hra umět využívat? Disková keš je záležitost operačního systému.

Chápu, že něčí empirická zkušenost říká, že SSD výrazně pomohlo (i když pak stále nevíme, zda pomohla menší latence nebo větší propustnost, případně obojí). Ale není mi jasné, proč to tak je.

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Jakým způsobem mít /home na LAN?
« Odpověď #14 kdy: 14. 03. 2014, 19:50:50 »
Filip: Jde o to, že mam velkou RAM. Hra má dost možná v sobě jakousi blokaci, která omezuje maximální využitou paměť. Navzdory tomu, že by se celá hra vešla do RAM... Smutné, ale pravda.

Mrknu se zpět do minulosti, myslím si, že to dokazuje něco o latenci - Oblivion na notebooku. Systém na interním disku (řádově 60-70MB/s?), Oblivion na externím (řádově max. 30MB/s). Ta hra jela místo 20fps (kdy to bylo na interním disku) najednou 30fps (když byla na externím). V čem je rozdíl? No jasně - systém si swapoval a k tomu načítal data hry, takže to bylo napikaču. Jakmile swapoval na jednom disku a data bral odjinud, jelo to krásně.