ZFS

Подкрепен от OpenZFS NFS сървър Част 1 - Създаване на сървър

Подкрепен от OpenZFS NFS сървър Част 1 - Създаване на сървър
Ако сте запознати с OpenZFS, знаете всичко за неговия богат на функции интерфейс, гъвкава архитектура, надеждни контролни суми и механизми за COW. Може би го искате и на вашия работен плот, но не искате да преформатирате съществуващите си дискове и дялове. Може би все още използвате Windows 10, който не поддържа OpenZFS. Ами в тази публикация в блога ще обсъдя как можете да създадете мрежова файлова система или NFS, работеща в отделен сървър. След това това NFS устройство може да бъде монтирано на работната ви станция. По този начин можете да имате надеждността и стабилността на ZFS с удобството на потребителя на вашата любима настолна операционна система, тъй като NFS е наличен на всички платформи.

Ще опиша подробно създаването на точка за монтиране на NFS на клиент на Windows 10 в част 2 от тази серия. Засега нека се съсредоточим върху сървър на Ubuntu, предлагащ NFS съхранение и клиент на Ubuntu, който се опитва да се свърже с него.

Конфигурацията

Моят NFS сървър ще се основава на Ubuntu 18.04 LTS. Можете да използвате любимите си дистрибуции на Linux или FreeBSD, или всяка друга операционна система, която поддържа OpenZFS. Моята причина да използвам Ubuntu 18.04 е, че е доста популярен и би намалил значително бариерата за влизане.

Предполага се, че NFS е достъпен само в моята локална мрежа, която има маска на подмрежата 255.255.255.0 и 192.168.0.1 като шлюз по подразбиране. На обикновен английски това означава, че всички устройства, свързани към домашната ми мрежа (WiFi и Ethernet и др.), Ще имат IP адреси, вариращи от 192.168.0.2 до 192.168.0.254.

NFS сървърът ще бъде конфигуриран така, че да позволява на устройства само с гореспоменатия IP адрес да имат достъп до NFS сървъра. Това би гарантирало, че само устройства, които са се свързали с моята LAN, имат достъп до моите файлове и външният свят няма достъп до него. Ако имате настройка за „отворен Wifi“ или ако сигурността на крайната точка на вашия рутер е съмнителна, това няма да гарантира никаква сигурност.

Не бих препоръчал пускането на NFS през публичен интернет без допълнителни мерки за сигурност.

И накрая, командите, изпълнявани на NFS сървъра, имат подкана, сървър $, а командите, които трябва да се изпълняват от страна на клиента, имат подкана клиент $

Създаване на OpenZFS пул и набор от данни

1. Създаване на zpool

Ако вече имате zpool и работи, пропуснете тази стъпка. На моя NFS сървър, който работи с Ubuntu 18.04 LTS сървър, първо инсталирам OpenZFS.

сървър $ sudo apt инсталиране zfsutils-linux

След това ще изброим всички налични блокови устройства, за да видим новите дискове (и дялове), които чакат да бъдат форматирани с zfs.

$ lsblk
ИМЕ MAJ: МИН RM РАЗМЕР RO TYPE MOUNTPOINT
цикъл0 7: 0 0 89.5M 1 контур / щракване / ядро ​​/ 6130
цикъл1 7: 1 0 86.9M 1 контур / щракване / ядро ​​/ 4917
цикъл2 7: 2 0 91.1M 1 контур / щракване / ядро ​​/ 6259
sda 8: 0 0 50G 0 диск
├─sda1 8: 1 0 1M 0 част
└─sda2 8: 2 0 50G 0 част /
sdb 8:16 0 931G 0 диск
sdc 8:32 0 931G 0 диск
sr0 11: 0 1 1024M 0 rom

Типичен пример е показан по-горе, но вашата конвенция за именуване може да е диво различна. Ще трябва да използвате собствената си преценка и бъдете много внимателни за това. Не искате случайно да форматирате вашия OS диск. Например дялът sda1 очевидно има коренова файлова система като точка на монтиране, така че не е разумно да го докосвате. Ако използвате нови дискове, има вероятност те да нямат точка на монтиране или какъвто и да е дял.

След като знаете името на вашите устройства, ние ще използваме командата zpool create, за да форматираме няколко от тези блокови устройства (наречени sdb и sdc) в zpool с един vdev, съставен от два огледални диска.

сървър $ sudo zpool създаване на огледало за резервоар sdb sdc
сървър $ sudo zpool статус резервоар
zpool резервоар за състояние
басейн: резервоар
състояние: ОНЛАЙН
сканиране: не се изисква
конфиг:
ИМЕ ДЪРЖАВА ПРОЧЕТЕТЕ НАПИШЕТЕ CKSUM
резервоар ОНЛАЙН 0 0 0
огледало-0 ОНЛАЙН 0 0 0
sdb ОНЛАЙН 0 0 0
sdc ОНЛАЙН 0 0 0
грешки: Няма известни грешки в данните

Придвижвайки се напред, можете да добавяте дискове в набори от две (наречени vdev), за да увеличите размера на този zpool, новите дискове ще се покажат като mirror-1, mirror-2 и т.н. Не е нужно да създавате своя zpool по начина, по който го направих, можете да използвате огледално отразяване с повече дискове, можете да използвате ивици без излишък, но по-добра производителност, или можете да използвате RAIDZ. Можете да научите повече за това тук.

В крайна сметка важното е, че създадохме zpool на име tank. След което ще живее споделената NFS. Нека създадем набор от данни, който ще бъде споделен. Първо се уверете, че басейнът, наречен „резервоар“, е монтиран. Точката на монтиране по подразбиране е „/ резервоар“ .

сървър $ sudo zfs резервоар за монтиране
сървър $ sudo zfs създайте резервоар / nfsshare # създайте нов набор от данни в горната част на пула

Задаване на разрешения

Когато споделя NFS директория, суперпотребителят в клиентската система няма достъп до нищо в споделянето. Докато суперпотребителят от страна на клиента е способен да прави каквото и да е на клиентската машина, NFS монтирането технически не е част от клиентската машина. Така че разрешаването на операции от името на клиентския суперпотребител, картографиран като сървърен суперпотребител, може да доведе до проблеми със сигурността. По подразбиране NFS съпоставя действията на суперпотребителя от страна на клиента на никой: потребител и група потребители на nogroup. Ако възнамерявате да получите достъп до монтираните файлове като root, тогава набор от данни на нашия NFS сървър също трябва да има същите разрешения,

сървър $ sudo chown никой: nogroup / tank / nfsshare

NFS сървърът ще изпълнява всяко действие от страна на клиента като никой потребител, така че горното разрешение ще позволи на операциите да преминат.

Ако използвате различно (редовно) потребителско име, често е удобно да имате потребител със същото точно потребителско име от двете страни.

Създаване на споделяне на NFS

След като създадете Zpool, трябва да инсталирате nfs сървърния пакет от вашия мениджър на пакети:

сървър $ sudo apt инсталирайте nfs-kernel-server

Традиционно NFS сървърът използва / etc / export файл, за да получи като списък на одобрените клиенти и файловете, до които ще имат достъп. Ние обаче ще използваме вградената функция на ZFS, за да постигнем същото.

Просто използвайте командата:

сървър $ sudo zfs зададе sharenfs = ”on” / tank / nfsshare

По-рано споменах да дам достъп само на определени IP адреси. Можете да направите това, както следва:

сървър $ sudo zfs set sharenfs = "[имейл защитен] / 24" резервоар / nfsshare

'Rw' означава разрешения за четене и запис и това е последвано от обхвата на IP адресите. Уверете се, че номерата на портовете 111 и 2049 са отворени на вашата защитна стена. Ако използвате ufw, можете да проверите това, като изпълните:

сървър $ ufw статус

Запишете IP адреса на вашия сървър в локалната мрежа, като използвате командата ifconfig или ip addr. Нека го наречем сървър.ip

Монтаж от страна на клиента

След като дялът бъде създаден, можете да го монтирате на вашата клиентска машина, като изпълните командата:

клиент $ mount -t nfs сървър.ip: / tank / nfsshare / mnt

Това ще монтира споделянето на NFS в папката / mnt, но можете също толкова лесно да изберете всяка друга точка на монтиране по ваш избор.

Заключение

Споделянето на файлове е може би най-важният аспект на системната администрация. Подобрява вашето разбиране за стека за съхранение, работа в мрежа, потребителски разрешения и привилегии. Бързо ще осъзнаете важността на Принципа на най-малката привилегия - тоест, дайте само на потребителя възможно най-големия достъп, от който се нуждае, до работата си.

Също така ще научите за оперативната съвместимост между различните операционни системи. Потребителите на Windows имат достъп до NFS файлове, както и потребителите на Mac и BSD. Не можете да се ограничите до една операционна система, когато работите с мрежа от машини, всички със свои собствени конвенции и народен език. Затова продължете и експериментирайте с вашия NFS дял. Надявам се да сте научили нещо.

Контролирайте и управлявайте движението на мишката между множество монитори в Windows 10
Двоен дисплей на мишката ви позволява да контролирате и конфигурирате движението на мишката между множество монитори, като забавя движенията му близо ...
WinMouse ви позволява да персонализирате и подобрите движението на показалеца на мишката на компютър с Windows
Ако искате да подобрите функциите по подразбиране на показалеца на мишката, използвайте безплатна програма WinMouse. Той добавя още функции, за да ви ...
Бутонът на левия бутон на мишката не работи в Windows 10
Ако използвате специална мишка с вашия лаптоп или настолен компютър, но бутонът на левия бутон на мишката не работи на Windows 10/8/7 по някаква причи...