NFS

Од Сподели wiki
Прејди на прегледникот Прејди на пребарувањето

Споделувањето на датотеки под GNU/Linux оперативниот систем може да се оствари на неколку начини. Во зависност од вашите потреби и можности, споделување на податоци во мрежа може да се оствари помеѓу два или повеќе Linux системи, помеѓу еден Linux и еден Windows систем, итн. Во секој случај делењето на датотеки не е никаков проблем доколку се знаат неколку основни правила за конфигурирање на техниките кои тоа го овозможуваат.

Мрежниот датотечен систем, или NFS овозможува монтирање на цел датотечен систем од една точка на сосем друга. Пример, делови (или цел) од датотечниот систем на точката А да се монтира во точка за монтирање во точка Б што впрочем се наоѓа кај вас. Притоа локалниот систем точката на монтирање (Б) ја распознава како уште еден обичен директориум и ви ги презентира податоците и целата содржина од тој директориум како и за останатите.

NFS може да се конфигурира на многу начини, да обавува многу работи и задачи. Многу дистрибуции денес во себе имаат алатки за конфигурирање на делењата со другите компјутери од мрежата, кои во одредени ситуации прават нешто што вие не го знаете, затоа без конкретно објаснување на тоа како да ги споделите датотеките од вашиот систем или да ги видите датотеките на друг систем со користење на графичка алатка, ќе се свртиме кон употребата на конфигурирање од пониско ниво, преку уредување на датотеки и доделување адреси.

/etc/exports

Во оваа датотека стојат вредности т.е. правила кои одредуваат кои директориуми (а со тоа и целата под-директориумска содржина) може да се делат и на кој се му се дозволува пристап, кој се може да ги гледа, да чита, да запишува итн. На машина чии датотеки треба да се споделат со машина од друг крај на мрежата, треба да има активиран NFS сервер, кој впрочем чита од оваа датотека. Значи, во случај да вашиот компјутер треба да нуди читање на содржината на неговите директориуми од друга точка во мрежата, оваа датотека мора да е конфигурирана. Синтаксата за конфигурирање би одела некако вака:

<директориум кој го давате> <IP[на кој го давате]>/<netmask[по потреба]>(правила за вчитување[rw/ro/sync/async/...])

За да не биде така глупаво објасната синтаксата, еве конкретен пример. На адресата 10.0.0.3 (клиент) од локалната мрежа треба да му се понуди директориумот /home/user/music/ при што клиентот ќе има право да чита и да запишува во тој директориум. Во /etc/exports треба да додадете:

/home/user/music 10.0.0.3/255.255.255.0(rw,no_root_squash,sync)

Зачувајте ја датотеката и рестартирајте го серверот. На RPM базирани системи (RedHat, Fedora, SuSE, Mandriva, CentOS ...) тоа оди вака:

 # /etc/init.d/nfs* restart (или start)

(астерискот стои поради тоа што на некои системи скриптата за активирање на серверот се вика nfs, некаде nfs-kernel-server, и сл.). Сето тоа треба да го пушти серверот и (пре)вчита правилата од /etc/exports. Некогаш при мали измени на /etc/exports доволно е да ја извршите командата:

 # exportfs -r

При што промените ќе бидат применети.

Ако сето ова го направите, тогаш имате конфигуриран NFS сервер на вашата машина кој своите датотеки ги нуди на клиентот со адреса 10.0.0.3. Начинот на кој NFS серверот ќе се активира при пуштање на системот, кај различни дистрибуции е различен, тоа го оставаме на вас.

Еве уште еден пример за конфигурирање на NFS сервер кој нуди буквално се што има на датотечниот систем (/ - коренот):

Ова е се што треба да се стави во /etc/exports:

/ *(rw,async,no_root_squash)

Ова:

  • го извезува root датотечниот систем, /;
  • ги поставува дозволените мрежни клиенти на * (сите, се што е во мрежата);
  • го поставува датотечниот систем на читај/запишувај (rw) режим
  • и користење на несинхронизирани поврзувања (async) заради брзина;
  • дозвола на далечните root корисници да изведуваат функции како локален root корисник (no_root_squash).

Ова за мрежа со деловно опкружување, не е препорачливо, но за домашна употреба, брка работа.

Клиент

Што прави клиентот во случај да сака да стане сервер? Сосема истото како горе опишаното. А за да ја вчита содржината од 10.0.0.2 (серверот) потребно е да ја монтира таа содржина, некаде:

 # mkdir /mnt/network
 # mount -t nfs 10.0.0.1:/home/user/music/ /mnt/network 

Некогаш е потребно подолго време за завршување на оваа операција, а во случај да не се монтира правилно потребно е да проверите дали на серверската страна е вклучен сервисот portmap и nfs серверската скрипта.

Од клиентот може да го избегнете постојаното пишување на горната команда (mount) преку внесување на правило во /etc/fstab за дадената точка на монтирање. Може да го внесете ова на крајот од fstab:

10.0.0.2:/ /mnt/network nfs rw,rsize=8192,wsize=8192,timeo=14,intr 0 0

Зачувајте ја датотеката и пробајте (преку конзола):

 # mount /mnt/network/

Треба да се монтира и се да биде како што очекувате. На почеток можеби ќе наидете на проблеми кои може да ги решите со дополнителни читања на официјални документи за NFS (сервер/клиент).