Kolejnym przydatnym narzędziem do pracy w środowisku GNU/Linux jest NFS (Network File System). Dzięki niemu możliwa jest wymiana plików pomiędzy użytkownikami, stworzenie centralnego magazynu plików czy miejsca na przechowywanie dysków maszyn wirtualnych.
Usługi wchodzące w skład NFS
W skład pakietu NFS wchodzą poniższe usługi:
– rpcbind – pozwala na odbieranie zdalnych zapytań do serwera NFS,
– nfs-server – zezwala klientom na dostęp do zasobów NFS,
– nfs-lock/rpc-statd – tworzy tzw. lock na plikach w przypadku problemów z działaniem serwera NFS lub w przypadku restartu,
–nfs-idmap – tłumaczy ID użytkowników oraz grup na nazwy
Pliki konfiguracyjne NFS
/etc/exports – główny plik konfiguracyjny, który decyduje jakie parametry zostaną wyeksportowane do klientów,
/etc/fstab – pozwala na automatyczne zamontowanie udziału NFS po restarcie maszyny,
/etc/sysconfig/nfs – nadzoruje pracę portów NFS,
/etc/hosts.allow oraz /etc/hosts.deny – kontrolują, które adresy IP mogą dostać się do serwera NFS a które nie
Przygotowanie środowiska NFS
Do testów, użyj dwóch maszyn opartych o Centos 7 bez środowiska graficznego.
Serwer NFS:
nfsserver.beitadmin.local
192.168.100.1
Klient NFS:
nfsclient.beitadmin.local
192.168.100.2
Konfiguracja NFS Serwera
Zainstaluj paczkę NFS.
1 |
yum install -y nfs-utils |
Uruchom oraz włącz na stałe usługi nfs-server oraz rpcbind.
1 |
systemctl start nfs-server rpcbind |
1 |
systemctl enable nfs-server rpcbind |
Tworzenie udziału NFS
Utwórz udział, który będzie udostępniał dane innym.
1 |
mkdir /nfs |
Nadaj pełne uprawnienia do tego katalogu.
1 |
chmod 777 /nfs/ |
Dodaj konfigurację dla udziału.
1 |
nano /etc/exports |
Wewnątrz pliku dodaj następujący wiersz.
1 |
/nfs 192.168.100.2(rw,sync,no_root_squash) |
/nfs – udostępniany katalog
192.168.100.2 – adres IP maszyny klienta. Możesz użyć jego nazwy lub dodać zakres adresów z podsieci np. 192.168.100.0/24
rw – prawo do odczytu oraz zapisu dla katalogu /nfs
sync – wszystkie zmiany są pokazywane w katalogu,
no_root_squash – dostęp do plików w udostępnionym zasobie nie wymaga uprawnień root’a
Więcej opcji dostępnych jest w man exports lub na stronie z opisem polecenia.
Po zapisaniu wiersza należy te ustawienia aktywować.
1 |
exportfs -r |
Konfiguracja firewall’a na NFS Serwer
Dodać poniższe wyjątki do firewall’a, aby zapewnić dostęp klientów do zasobu.
1 |
firewall-cmd --permanent --add-service mountd |
1 |
firewall-cmd --permanent --add-service rpc-bind |
1 |
firewall-cmd --permanent --add-service nfs |
1 |
firewall-cmd --reload |
Konfiguracja klienta NFS
Zainstaluj klienta nfs.
1 |
yum install -y nfs-utils |
Sprawdź czy udział jest widoczny.
1 |
showmount -e 192.168.100.2 |
w odpowiedzi otrzymasz:
1 |
Export list for 192.168.100.1: |
1 |
/nfs 192.168.100.2 |
Extra:
showmount -e – pokaż wszystkie dostępne udziały NFS na lokalnym komputerze,
showmount -e <IP lub hostname> – sprawdzenie udziałów NFS na zdalnej maszynie
Montowanie udziału na kliencie
Utwórz katalog nfs w katalogu /mnt
1 |
mkdir /mnt/nfs |
Użyj polecenia mount do zamontowania udziału na kliencie.
1 |
mount 192.168.100.1:/nfs /mnt/nfs |
Udział powinien być widoczny.
1 |
mount | grep nfs |
1 |
…... |
1 |
192.168.100.1:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.100.2,local_lock=none,addr=192.168.100.1) |
Możesz również użyć innego polecenia, aby sprawdzić zamontowane udziały.
1 |
df -hT |
W zamontowanym udziale utwórz testowy plik, aby sprawdzić czy wszystko działa poprawnie.
1 |
touch /mnt/nfs/test |
Automatyczne montowanie udziału NFS
Jeżeli wcześniejsze kroki przebiegły bez problemu, na koniec dodaj na kliencie możliwość automatycznego montowania udziału.
1 |
nano /etc/fstab |
Na końcu pliku dodaj wpis, najlepiej w jednym wierszu.
1 |
192.168.100.1:/nfs /mnt/nfs nfs nosuid,rw,sync,hard,intr 0 0 |
Zapisz plik i uruchom ponownie klienta.
1 |
reboot |
Po restarcie sprawdź czy udział został zamontowany.
1 |
mount | grep nfs |
W odpowiedzi powinien pojawić się na liście udział /nfs.
1 |
192.168.100.1:/nfs on /mnt/nfs type nfs4 (rw,nosuid,relatime,sync,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.100.2,local_lock=none,addr=192.168.100.1) |
Aby odmontować udział należy użyć polecenia.
1 |
umount /mnt/nfs |
lub usunąć wpis do /etc/fstab i wykonać restart maszyny.
W kolejnym wpisie przedstawię informacje pomagające w zarządzaniu usługami.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).