ZFS

OpenZFS zálohovaný server NFS Část 1 - Vytvoření serveru

OpenZFS zálohovaný server NFS Část 1 - Vytvoření serveru
Pokud jste obeznámeni s OpenZFS, víte vše o jeho funkčně bohatém rozhraní, flexibilní architektuře, spolehlivých kontrolních součtech a mechanismech COW. Možná to chcete také na ploše, ale nechcete přeformátovat své stávající disky a diskové oddíly. Možná používáte Windows 10, který zatím nepodporuje OpenZFS. V tomto příspěvku na blogu budu diskutovat o tom, jak můžete vytvořit síťový systém souborů nebo NFS běžící na samostatném serveru. Toto zařízení NFS lze poté připojit k pracovní stanici. Tímto způsobem můžete mít spolehlivost a robustnost ZFS s uživatelskou přívětivostí svého oblíbeného Desktop OS, protože NFS je k dispozici na všech platformách.

V části 2 této série podrobně uvedu vytvoření bodu připojení NFS na klientovi Windows 10. Prozatím se zaměřme na server Ubuntu nabízející úložiště NFS a klienta Ubuntu, který se k němu pokouší připojit.

Nastavení

Můj server NFS bude založen na Ubuntu 18.04 LTS. Můžete použít své oblíbené linuxové distribuce nebo FreeBSD nebo jakýkoli jiný operační systém, který podporuje OpenZFS. Můj důvod pro použití Ubuntu 18.04 je, že je velmi populární a výrazně by snížil bariéru vstupu.

NFS má být k dispozici pouze v mé síti LAN, která má masku podsítě 255.255.255.0 a 192.168.0.1 jako výchozí brána. V jednoduché angličtině to znamená, že všechna zařízení připojená k mé domácí síti (WiFi a Ethernet atd.) Budou mít adresy IP v rozmezí od 192.168.0.2 až 192.168.0.254.

Server NFS bude nakonfigurován tak, aby umožňoval přístup k serveru NFS pouze zařízením s pouze výše uvedenou adresou IP. Tím by bylo zajištěno, že pouze zařízení, která se připojila k mé síti LAN, přistupují k mým souborům a vnější svět k nim nemá přístup. Pokud máte nastavení „otevřené Wifi“ nebo pokud je zabezpečení koncového bodu routeru pochybné, nezaručuje to žádné zabezpečení.

Nedoporučoval bych provozovat NFS přes veřejný internet bez dalšího bezpečnostního opatření.

Nakonec příkazy spouštěné na serveru NFS mají výzvu, server $ a příkazy, které se mají spouštět na straně klienta, mají výzvu klienta $

Vytváření fondu OpenZFS a datové sady

1. Vytváření zpoolu

Pokud již máte zpool spuštěný, tento krok přeskočte. Na mém serveru NFS, na kterém běží Ubuntu 18.04 LTS server, nejprve instaluji OpenZFS.

server $ sudo apt install zfsutils-linux

Dále uvedeme seznam všech dostupných blokových zařízení, abychom viděli nové disky (a oddíly) čekající na formátování pomocí zfs.

$ lsblk
JMÉNO MAJ: MIN RM VELIKOST RO TYP MOUNTPOINT
loop0 7: 0 0 89.5M 1 smyčka / snap / jádro / 6130
loop1 7: 1 0 86.9M 1 smyčka / snap / jádro / 4917
loop2 7: 2 0 91.1M 1 smyčka / snap / jádro / 6259
sda 8: 0 0 50G 0 disk
├─sda1 8: 1 0 1M 0 díl
└─sda2 8: 2 0 50G 0 díl /
sdb 8:16 0 931G 0 disk
sdc 8:32 0 931G 0 disk
sr0 11: 0 1 1024M 0 rom

Typický příklad je uveden výše, ale vaše konvence pojmenování se může divoce lišit. Budete muset použít svůj vlastní úsudek a být velmi opatrní. Nechcete náhodou naformátovat disk s operačním systémem. Například oddíl sda1 má jednoznačně kořenový souborový systém jako svůj přípojný bod, takže není rozumné se ho dotknout. Pokud používáte nové disky, je pravděpodobné, že nebudou mít přípojný bod nebo jakýkoli druh rozdělení.

Jakmile znáte název svých zařízení, použijeme příkaz zpool create k naformátování několika těchto blokových zařízení (nazývaných sdb a sdc) na zpool s jediným vdev, který je tvořen dvěma zrcadlenými disky.

server $ sudo zpool vytvořit tank zrcadlo sdb sdc
server $ sudo zpool status tank
stavová nádrž zpool
bazén: nádrž
stát: ONLINE
skenování: není požadováno
konfigurace:
JMÉNO STÁT ČTĚTE NAPISTE CKSUM
nádrž ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
errors: Žádné známé chyby dat

Pohybem vpřed můžete přidat disky v sadách po dvou (nazývaných vdev), abyste zvětšili velikost tohoto zpoolu, nové disky se zobrazí jako mirror-1, mirror-2 atd. Nemusíte vytvářet svůj zpool tak, jak jsem to udělal já, můžete použít zrcadlení s více disky, můžete použít prokládání bez redundance, ale lepšího výkonu, nebo můžete použít RAIDZ. Více se o něm dozvíte zde.

Na konci dne záleží na tom, že jsme vytvořili zpool s názvem tank. Poté bude sdílený NFS fungovat. Vytvořme datovou sadu, která bude sdílena. Nejprve se ujistěte, že je nainstalován bazén s názvem „tank“. Výchozí bod připojení je '/ tank' .

server $ sudo zfs mount tank
server $ sudo zfs create tank / nfsshare #vytvoření nové datové sady v horní části bazénu

Nastavení oprávnění

Při sdílení adresáře NFS nemá superuživatel v klientském systému přístup k ničemu ve sdílené položce. Zatímco superuser na straně klienta je schopen na klientském počítači dělat cokoli, připojení NFS není technicky součástí klientského počítače. Povolení operací jménem superusera na straně klienta mapovaného jako superuser na straně serveru by tedy mohlo vést k problémům se zabezpečením. Ve výchozím nastavení NFS mapuje akce superuživatele na straně klienta na nikoho: uživatele a skupinu uživatelů podskupiny. Pokud máte v úmyslu přistupovat k připojeným souborům jako root, pak by datová sada na našem serveru NFS měla mít také stejná oprávnění,

server $ sudo chown nikdo: nogroup / tank / nfsshare

Server NFS spustí jakoukoli akci kořenem na straně klienta jako nikdo, takže výše uvedené oprávnění umožní operacím projít.

Pokud používáte jiné (běžné) uživatelské jméno, je často vhodné mít uživatele se stejným přesným uživatelským jménem na obou stranách.

Vytváření sdílení NFS

Jakmile vytvoříte Zpool, měli byste nainstalovat balíček serveru nfs ze svého správce balíčků:

server $ sudo apt nainstalovat nfs-kernel-server

Server NFS tradičně používá soubor / etc / exporty k získání seznamu schválených klientů a souborů, ke kterým budou mít přístup. Abychom toho dosáhli, budeme však používat vestavěnou funkci ZFS.

Jednoduše použijte příkaz:

server $ sudo zfs nastavit sharenfs = ”on” / tank / nfsshare

Dříve jsem narážel na poskytnutí přístupu pouze určitým adresám IP. Můžete to udělat následovně:

server $ sudo zfs set sharenfs = "[chráněno e-mailem] / 24" tank / nfsshare

Znak „rw“ znamená oprávnění ke čtení a zápisu a za ním následuje řada IP adres. Zkontrolujte, zda jsou na bráně firewall otevřené porty číslo 111 a 2049. Pokud používáte ufw, můžete to zkontrolovat spuštěním:

stav $ ufw serveru

Poznamenejte si IP vašeho serveru v LAN pomocí příkazu ifconfig nebo ip addr. Říkejme tomu server.ip

Montáž na straně klienta

Jakmile je sdílená položka vytvořena, můžete ji připojit ke svému klientskému počítači spuštěním příkazu:

klient $ mount -t server nfs.ip: / tank / nfsshare / mnt

Tím se připojí sdílená složka NFS ve složce / mnt, ale stejně snadno jste mohli vybrat jakýkoli jiný připojovací bod podle vašeho výběru.

Závěr

Sdílení souborů je pravděpodobně nejdůležitějším aspektem správy systému. Zlepšuje vaše chápání zásobníku, sítě, uživatelských oprávnění a oprávnění. Rychle si uvědomíte důležitost principu nejméně privilegovaného přístupu - to znamená, že uživateli poskytnete jen ten nejmenší možný přístup, který ke své práci potřebuje.

Dozvíte se také o interoperabilitě mezi různými operačními systémy. Uživatelé systému Windows mají přístup k souborům NFS, stejně tak uživatelé Mac a BSD. Nemůžete se omezit na jeden OS, když pracujete se sítí strojů, které mají své vlastní konvence a lidovou mluvu. Takže do toho a experimentujte se svým sdílením NFS. Doufám, že jste se něco naučili.

Hry Nejlepší hry pro ruční sledování
Nejlepší hry pro ruční sledování
Oculus Quest nedávno představil skvělou myšlenku ručního sledování bez ovladačů. S neustále se zvyšujícím počtem her a aktivit, které provádějí podpor...
Hry Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Jak zobrazit překrytí OSD v linuxových aplikacích a hrách na celou obrazovku
Hraní her na celou obrazovku nebo používání aplikací v režimu celé obrazovky bez rozptýlení vás mohou odříznout od příslušných systémových informací v...
Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...