DoreK | 2019-09-03 19:33:23 UTC | #1
NFS (Network File System) to protokół zdalnego udostępniania systemu plików. Tłumacząc najprościej można uznać że jest to sieciowy dysk, który można wykorzystać do np. kopii zapasowych. Ponieważ NFS został wycofany z oferty lvlup.pro, możemy skorzystać z własnego VPS’a i na nim skonfigurować NFS tak, by mieć dostęp do niego z innych systemów opartych na linuxie.
Aby zrozumieć dalszą część poradnika, wyjaśnię dwa pojęcia:
serwer NFS
- serwer który udostępnia zasoby
klient NFS
- klient, który “odbiera” zasoby z serwera NFS
Wygląda to mniej więcej w taki sposób, że serwer udostępnia folder xyz
który jest widoczny i udostępniony klientowi :)
Żeby wytłumaczyć działanie NFS, posłużę się przykładem:
VPS1 = VPS, na którym zainstalowany jest serwer NFS
VPS2 = VPS, na którym zainstalowany jest klient NFS
Na VPS1 znajduje się katalog backup
który chcę udostępnić VPS2. W konfiguracji NFS na VPS1 dodaję dostęp katalogowi backup
serwerowi VPS2, a na VPS2, gdzie też jest katalog backup
, montuję zasoby z serwera NFS znajdującego się na VPS1. Oznacza to, że mogę wgrywać dane z poziomu VPS2 na katalog backup
który tak na prawdę znajduje się na VPS1.
W tym poradniku wykorzystany został VPS z pojemnością dysku twardego 256 GB (spoza oferty lvlup.pro) z systemem Ubuntu oraz VPS KVM FR (lvlup.pro) z systemem Ubuntu.
:warning: Informacja: Jeżeli korzystasz z konta root
, nie musisz dodawać sudo
do komendy!
Pierw zaczniemy przygotowywać VPS, na którym ma być zainstalowany serwer NFS.
Wykonaj komendę
sudo apt install nfs-kernel-server nfs-common portmap -y
Załóżmy, że chcemy utworzyć katalog backup
, z którego będziemy chcieli korzystać na innym VPSie. W tym celu korzystamy z poniższej komendy:
sudo mkdir -p /backup
Katalogowi należy ustawić odpowiednie uprawnienia (i należy o tym pamiętać w przypadku gdy utworzymy w nim kolejne katalogi). W tym celu wystarczy użyć polecenia
sudo chmod -R 777 /backup
Wykonujemy komendę
sudo nano /etc/exports
Zobaczymy takie okienko:
Objaśnię jak korzystać z konfiguracji NFS na moim przykładzie:
/katalog adres1(właściwości) adres2(właściwości)
/katalog
- katalog, który chcemy udostępnić
adres1
- adres VPS’a, któremu chcemy udostępnić katalog
adres2
- adres kolejnego VPS’a, któremu chcemy udostępnić katalog (niewymagane)
właściwości
- funkcje, które chcemy zastosować
Wyjaśnienie niektórych funkcji:
rw
- prawo do odczytu i zapisu
ro
- prawo tylko do odczytu
Uznajmy, że VPS, który ma mieć dostęp do katalogu backup
ma adres 1.2.3.4
, w związku z czym do pliku dopiszemy poniższą konfigurację:
/backup 1.2.3.4(rw)
Całość będzie wyglądać tak:
W celu zapisania zmian, korzystamy ze skrótu klawiszowego Ctrl+X
, po czym klikamy Y
oraz zatwierdzamy Enterem.
Po odpowiedniej konfiguracji wystarczy zrestartować usługę za pomocą polecenia
sudo /etc/init.d/nfs-kernel-server restart
Teraz czas na przygotowanie kolejnego VPS’a, który ma mieć dostęp do wcześniej skonfigurowanego katalogu backup
.
Należy skorzystać z polecenia
sudo apt install nfs-common portmap -y
Na tym VPSie też należy utworzyć katalog - może znajdować się w innym miejscu i mieć inną nazwę, jednak dla uproszczenia skorzystamy z takiej samej lokalizacji i nazwy, czyli backup
znajdujący się w głównym katalogu VPS’a. W tym celu użyjemy komendy
sudo mkdir -p /backup
Teraz wystarczy zamontować zasoby z serwera NFS tak, by znajdowały się w katalogu backup
. W tym celu przechodzimy do pliku etc/fstab
za pomocą komendy
sudo nano /etc/fstab
I w nowej linii dodajemy odpowiednią konfigurację, przykład:
AdresSerweraNFS:/UdostępnionyKatalog /UtworzonyKatalog nfs rsize=8192,wsize=8192,timeo=14,intr
Objaśnienie:
AdresSerweraNFS
- adres VPS’a, na którym znajduje się serwer NFS
UdostępnionyKatalog
- katalog, który został utworzony na VPSie, na którym znajduje się serwer NFS
UtworzonyKatalog
- katalog, który został utworzony na VPSie, na którym znajduje się klient NFS
W przypadku tego poradnika załóżmy, że serwer NFS znajduje się na VPSie z adresem 4.3.2.1
. Wcześniej utworzyliśmy oba katalogi o nazwie backup
, zatem do pliku, w nowej linii należy dodać
4.3.2.1:/backup /backup nfs rsize=8192,wsize=8192,timeo=14,intr
Teraz pora zapisać plik - korzystamy z kombinacji Ctrl+X
, po czym klikamy Y
i potwierdzamy Enterem.
Ostatnim krokiem jest zamontowanie tego, co jeszcze nie jest zamontowane za pomocą polecenia
sudo mount -a
Wykonujemy komendę
df -h
Powinniśmy uzyskać coś takiego (adres mojego vps’a został zamazany):
Jak widać, linijka
Świadczy o tym, że zasoby są dostępne i poprawnie zamontowane, więc kopie zapasowe czy inne, niewrażliwe dane możemy wrzucać do katalogu backup
:)
Jakub | 2019-08-26 17:42:59 UTC | #2
Bardzo fajny poradnik :slight_smile: