NFSv4 vahid şəbəkə girişini təmin edir. Təhlükəsizlik tədbirləri. NFS müştəri hissəsinin quraşdırılması və konfiqurasiyası

NFS
Səviyyə (OSI modelinə görə):Tətbiq olunub
Ailə:TCP/IP protokol yığını
Port/ID:67, 68/UDP
Protokolun məqsədi:Şəbəkə konfiqurasiyası əldə edilir
Spesifikasiya:RFC 2131
Əsas tətbiqlər (serverlər):dhcpd, ISC DHCP Server, Infoblox
qüvvəyə minib: 1990

NFS həm server, həm də müştəri fayl sistemi növlərindən uzaqlaşır və müxtəlif əməliyyat sistemləri və aparat arxitekturaları üçün çoxlu NFS server və müştəri tətbiqləri mövcuddur. NFS-in ən yetkin versiyası v.4-dür, o, müxtəlif autentifikasiya vasitələrini (xüsusən, RPCSEC GSS protokolundan istifadə edən Kerberos və LIPKEY) və girişə nəzarət siyahılarını (həm POSIX, həm də Windows növləri) dəstəkləyir.

Ümumi NFS Təşkilatı

NFS müştəriləri təmin edir şəffaf giriş serverin fayllarına və fayl sisteminə. FTP-dən fərqli olaraq, NFS protokolu faylın yalnız proses tərəfindən əldə edilən hissələrinə daxil olur və onun əsas üstünlüyü bu girişi şəffaf etməsidir. Bu o deməkdir ki, işləyə bilən istənilən müştəri tətbiqi yerli fayl, proqramın özündə heç bir dəyişiklik etmədən NFS faylı ilə eyni müvəffəqiyyətlə işləyə bilər.

NFS müştəriləri serverə RPC sorğuları göndərməklə NFS serverindəki fayllara daxil olurlar. Bu, normal istifadəçi proseslərindən istifadə etməklə həyata keçirilə bilər - yəni NFS müştəri serverə xüsusi RPC zəngləri edən istifadəçi prosesi ola bilər ki, bu da istifadəçi prosesi ola bilər.

NFS standartının (v4.1) ən son versiyasının mühüm hissəsi paralel tətbiqi təmin etməyə yönəlmiş pNFS spesifikasiyası idi. ictimai çıxış fayllara, sistemin ölçüsünə və paralellik dərəcəsinə mütənasib olaraq məlumat ötürmə sürətini artırmaq.

Hekayə

NFS protokolunun öz tarixində 4 versiyası var.

İlk versiya yalnız üçün istifadə edilmişdir daxili istifadə eksperimental məqsədlər üçün Günəşə. 2-ci versiya 1989-cu ilin martında buraxıldı, ilkin olaraq tamamilə işləyirdi UDP protokolu. Tərtibatçılar daxili vəziyyət məlumatlarını protokol daxilində saxlamamağa qərar verdilər, məsələn, əsas protokoldan kənarda həyata keçirilən kilidləmə. Yaradılışda iştirak edən insanlar NFS versiyası 2 - Rusty Sandberg, Bob Lyon, Bill Joy və Steve Kleiman.

NFSv3 1995-ci ilin iyununda buraxıldı, o, 64 bayta qədər dəyişən ölçülü fayl deskriptorları üçün dəstək əlavə etdi (2-ci versiyada - sabit ölçülü 32 bayt massiv), RPC oxuma və yazma zənglərində 8192 bayt məhdudiyyətini aradan qaldırdı (beləliklə, zənglərdə ötürülən blokun ölçüsü yalnız UDP datagramı üçün limitlə məhdudlaşır - 65535 bayt), böyük fayllar üçün dəstək həyata keçirilir, dəstəklənir asinxron zənglər yazma əməliyyatları, READ və WRITE prosedurlarına zənglər ACCESS-ə (fayl giriş hüquqlarını yoxlamaq), MKNOD-a (yaratmaq) əlavə edilmişdir. xüsusi fayl Unix), READDIRPLUS (kataloqdakı faylların adlarını atributları ilə birlikdə qaytarır), FSINFO (qaytarır) statistik məlumat fayl sistemi məlumatı), FSSTAT (dinamik fayl sistemi məlumatını qaytarır), PATHCONF (POSIX.1 fayl sistemi məlumatını qaytarır) və COMMIT (davamlı yaddaşa əvvəllər edilmiş asinxron yazıları yerinə yetirir). 3-cü versiyanın tətbiqi zamanı TCP protokolunun tərtibatçıları arasında populyarlıq artdı. Bəzi müstəqil tərtibatçılar müstəqil olaraq NFS versiyası 2-yə nəqliyyat protokolu kimi TCP dəstəyi əlavə etdilər, Sun Microsystems 3-cü versiyaya əlavələrdən birində NFS-ə TCP dəstəyi əlavə etdi. TCP dəstəyi NFS-dən geniş ərazi şəbəkələrində istifadənin praktiki mümkünlüyünü artırdı.

NFSv4 AFS və CIFS-dən təsirlənərək 2000-ci ilin dekabrında buraxıldı və performans və təhlükəsizlik təkmilləşdirmələrini ehtiva edir. Versiya 4 Internet Engineering Task Force (IETF) ilə birgə hazırlanmış ilk versiya idi. NFS v4.1 IESG tərəfindən 2010-cu ilin yanvarında təsdiq edilmişdir ( yeni spesifikasiya, 612 səhifəlik, IETF tərəfindən təsdiqlənmiş ən uzun sənəd kimi tanındı). 4.1 versiyasında mühüm yenilik pNFS-in spesifikasiyasıdır - Paralel NFS, çoxsaylı paylanmış NFS serverlərindən verilənlərə paralel NFS müştəri çıxışı mexanizmi. Şəbəkə fayl sistemi standartında belə bir mexanizmin olması paylanmış qurmağa kömək edəcəkdir bulud saxlama və informasiya sistemləri.

İnkişaf Məqsədləri

NFS-nin inkişafı üçün ilkin tələblər bunlar idi:

  • NFS serverləri və müştəriləri müxtəlif əməliyyat sistemlərində həyata keçirmək üçün müxtəlif əməliyyat sistemləri üçün potensial dəstək (yalnız UNIX deyil);
  • protokol hər hansı xüsusi aparatdan asılı olmamalıdır;
  • server və ya müştəri nasazlığı halında sadə bərpa mexanizmləri həyata keçirilməlidir;
  • proqramlar xüsusi yol adları və ya kitabxanalardan istifadə etmədən və yenidən tərtib edilmədən uzaq fayllara şəffaf girişə malik olmalıdır;
  • UNIX semantikası UNIX müştəriləri üçün dəstəklənməlidir;
  • NFS performansı yerli disklərin performansı ilə müqayisə edilməlidir;
  • həyata keçirilməsi avtomobildən asılı olmamalıdır.

NFS necə işləyir

NFS uyğun olaraq qurulur heç olmasa iki əsas hissədən ibarətdir: server və bir və ya daha çox müştəri. Müştəri serverdə yerləşən məlumatlara uzaqdan giriş rejimində daxil olur. Bunun düzgün işləməsi üçün bir neçə prosesin konfiqurasiyası və işə salınması lazımdır. NFS tətbiqi bir neçə komponentdən ibarətdir. Onların bəziləri ya serverdə, ya da müştəridə lokallaşdırılıb, bəziləri isə əlaqənin hər iki tərəfində istifadə olunur. Bəzi komponentlər əsas funksionallığı təmin etmək üçün tələb olunmur, lakin genişləndirilmiş NFS interfeysinin bir hissəsini təşkil edir.

NFS protokolu müştəri tərəfindən serverə göndərilə bilən sorğular (əməliyyatlar) toplusunu, həmçinin bu sorğuların hər biri üçün bir sıra arqumentlər və qaytarılan dəyərləri müəyyən edir. Bu protokolun 1-ci versiyası yalnız Sun Microsystems-in dərinliklərində mövcud idi və heç vaxt buraxılmadı. Bütün NFS tətbiqləri (NFSv3 daxil olmaqla) ilk dəfə 1985-ci ildə SunOS 2.0 ilə buraxılmış NFS versiyası 2-ni (NFSv2) dəstəkləyir. Protokolun 3-cü versiyası 1993-cü ildə nəşr olunub və bir neçə təchizatçı tərəfindən həyata keçirilib.

Uzaqdan Prosedur Zəngi (RPC) protokolu müştəri və server arasındakı bütün qarşılıqlı əlaqənin formatını müəyyən edir. Hər bir NFS sorğusu RPC paketi kimi göndərilir. Serverdə aşağıdakı demonlar işləyir:

  • rpc.nfsd - Əsas NFS server daemonu nfsd-dir (yeni versiyalarda bəzən nfsd4 adlanır). Bu daemon NFS müştərilərinin sorğularına xidmət edir. Debian-da /etc/default/nfs-kernel-server faylında RPCNFSDCOUNT parametri və RedHat-da /etc/sysconfig/nfs faylında NFSDCOUNT işə salınacaq demonların sayını müəyyən edir (defolt olaraq 8-dir). (RPC proqramı 100003)
  • rpc.mountd - NFS montaj demonu qovluqların quraşdırılması üçün müştəri sorğularını emal edir. Quraşdırılmış demon NFS serverlərində işləyir. (RPC proqramı 100005)
  • rpc.statd - Şəbəkə statusunun monitorinqi demonu (aka Şəbəkə Status Monitoru, aka NSM). Bu, qəzadan/yenidən başladıqdan sonra kilidi düzgün ləğv etməyə imkan verir. Bir uğursuzluq barədə məlumat vermək üçün /usr/sbin/sm-notify proqramından istifadə edir. Statd demonu həm serverlərdə, həm də müştərilərdə işləyir. Əvvəllər bu server rpc.lockd-un işləməsi üçün lazım idi, lakin nüvə artıq kilidlənməyə cavabdehdir. (RPC proqramı 100021 və 100024 - yeni versiyalarda)
  • rpc.lockd - Kilidlənmiş daemon (aka NFS kilid meneceri (NLM)) fayl kilidi sorğularını idarə edir. Kilidləmə demonu həm serverlərdə, həm də müştərilərdə işləyir. Müştərilər faylın kilidlənməsini tələb edir və serverlər buna icazə verir. (köhnəlmişdir və yeni paylanmalarda demon kimi istifadə edilmir. Onun müasir paylanmalarda funksiyaları (2.2.18-dən köhnə kernellə) nüvələr (lockd) tərəfindən yerinə yetirilir). (RPC proqramı 100024)
  • rpc.idmapd - Serverdə NFSv4 üçün idmapd demonu istifadəçilərin yerli uid/gid-ini name@domain formatına çevirir və müştəridəki xidmət ad@domain formatında istifadəçi/qrup adlarını yerli istifadəçi və qrup identifikatorlarına çevirir. (/etc/idmapd konfiqurasiya faylına .conf uyğun olaraq).

Müştəri həmçinin nfsiod adlı bir daemon işlədə bilər. nfsiod NFS serverindən server tərəfi sorğulara xidmət edir. Bu isteğe bağlıdır və performansı artırır, lakin normal və düzgün əməliyyat tələb olunmur. NFSv4-də Kerberos istifadə edərkən əlavə demonlar işə salınır:

  • rpc.gssd - NFSv4 demonu GSS-API (Kerberos autentifikasiyası) vasitəsilə autentifikasiya üsullarını təmin edir. Müştəri və server üzərində işləyir.
  • rpc.svcgssd - server tərəfində müştəri autentifikasiyasını təmin edən NFSv4 server demonu.

Köhnə versiya demonları (NFS v.3 və aşağıda):

  • nfslogd - NFS log demonu ixrac edilmiş fayl sistemləri üçün fəaliyyəti qeyd edir, NFS serverlərində işləyir
  • rpc.rquotad - uzaq kvota serveri uzaq fayl sistemlərində istifadəçi kvotaları haqqında məlumat verir, həm serverlərdə, həm də müştərilərdə işləyə bilər.

Yuxarıdakı paketlərə əlavə olaraq, NFSv2 və v3 tələb olunur əlavə paket portmap (daha yeni paylamalarda adı dəyişdirilmiş rpcbind ilə əvəz edilmişdir). Sun RPC RPC (Remote Procedure Call) proqram nömrələrini TCP/UDP port nömrələrinə çevirən serverdir.

portmap bir neçə obyektdə işləyir:

  • RPC zəngləri və ya sorğuları
  • TCP/UDP portları, protokol versiyası (tcp və ya udp)
  • proqram nömrələri və proqram versiyaları

Portmap demonu NFS xidmətləri başlamazdan əvvəl /etc/init.d/portmap skripti tərəfindən işə salınır.

RPC (Remote Procedure Call) serverinin işi yerli və uzaq proseslərdən RPC zənglərini (RPC prosedurları adlanan) emal etməkdir. RPC zənglərindən istifadə edərək, xidmətlər port xəritəçisinə (portmap, portmapper, yeni versiyalarda rpcbind kimi də tanınır) qeydiyyatdan keçir və ya özlərini silir və müştərilər RPC zənglərindən istifadə edərək, lazımi məlumatları əldə etmək üçün portmapperə sorğular göndərirlər.

RPC serverinin işləməsi aşağıdakı addımlarla təmsil oluna bilər:

  1. Port çeviricisi əvvəlcə sistem işə salındıqda başlamalıdır. Bu, TCP son nöqtəsi yaradır və 111 nömrəli TCP portunu açır. O, həmçinin UDP dataqramının UDP 111 portuna gəlməsini gözləyən UDP son nöqtəsi yaradır.
  2. Başlanğıcda, RPC serverindən keçən proqram proqramın hər bir dəstəklənən versiyası üçün TCP son nöqtəsi və UDP son nöqtəsi yaradır. (RPC serveri çoxsaylı versiyaları dəstəkləyə bilər. Müştəri RPC çağırışı edərkən tələb olunan versiyanı müəyyən edir.) Xidmətin hər bir versiyasına dinamik olaraq təyin edilmiş port nömrəsi təyin edilir. Server müvafiq RPC çağırışı edərək hər bir proqramı, versiyanı, protokolu və port nömrəsini qeyd edir.
  3. RPC müştəri proqramı lazımi məlumatları əldə etməli olduqda, göstərilən proqram, versiya və protokol üçün dinamik olaraq təyin edilmiş port nömrəsini əldə etmək üçün port həlledici rejimini çağırır.
  4. Bu sorğuya cavab olaraq şimal liman nömrəsini qaytarır.
  5. Müştəri 4-cü addımda əldə edilmiş port nömrəsinə RPC sorğusu mesajı göndərir. Əgər UDP istifadə edilərsə, müştəri sadəcə olaraq sorğu edilən xidmətin işlədiyi UDP port nömrəsinə RPC çağırış mesajını ehtiva edən UDP dataqramını göndərir. Cavab olaraq xidmət RPC cavab mesajı olan UDP dataqramını göndərir. TCP istifadə olunarsa, müştəri istədiyiniz xidmətin TCP port nömrəsinə aktiv bir açılış həyata keçirir və sonra RPC zəng mesajı göndərir. qurulmuş əlaqə. Server əlaqədə RPC cavab mesajı ilə cavab verir.

RPC serverindən məlumat əldə etmək üçün rpcinfo yardım proqramı qeydiyyatdan keçmiş proqram nömrəsini, versiyasını, protokolunu, portunu və adını göstərir; Siz həmçinin rpcinfo-dan proqramın qeydiyyatını silmək və ya fərdi RPC xidməti haqqında məlumat əldə etmək üçün istifadə edə bilərsiniz. Siz -p host parametrlərini təyin etdiyiniz zaman proqram host hostda qeydə alınmış bütün RPC proqramlarının siyahısını göstərir. Hostu göstərmədən proqram localhost-da xidmətləri göstərəcək.

NFS serveri (daha doğrusu, rpc.nfsd demonu) müştəridən 2049-cu portda UDP dataqramları şəklində sorğular qəbul edir. NFS serverə dinamik təyin edilmiş portlardan istifadə etməyə imkan verən port həlledicisi ilə işləməsinə baxmayaraq, UDP port 2049 əksər tətbiqlərdə NFS-ə sərt kodlaşdırılıb.

NFS serverində yerləşən fayla daxil olma prosesinin təsviri:

  • Müştəri (istifadəçi prosesi) yerli fayla və ya NFS faylına daxil olub-olmamasına əhəmiyyət vermir. Kernel kernel modulları və ya daxili sistem zəngləri vasitəsilə aparatla qarşılıqlı əlaqədə olur.
  • NFS müştəri funksiyalarını yerinə yetirən kernel/fs/nfs/nfs.ko nüvə modulu TCP/IP modulu vasitəsilə NFS serverinə RPC sorğuları göndərir. NFS adətən UDP-dən istifadə edir, lakin daha yeni tətbiqlər TCP-dən istifadə edə bilər.
  • NFS serveri müştəridən sorğuları 2049-cu portda UDP dataqramları kimi qəbul edir. Baxmayaraq ki, NFS serverə dinamik olaraq təyin edilmiş portlardan istifadə etməyə imkan verən port həlledicisi ilə işləyə bilsə də, UDP port 2049 əksər tətbiqlərdə NFS ilə kodlaşdırılıb.
  • NFS serveri müştəridən sorğu qəbul etdikdə, o, fayla girişi təmin edən yerli fayl giriş rejiminə keçir. yerli disk serverdə.
  • Diskə girişin nəticəsi müştəriyə qaytarılır.

NFS serverinin qurulması

Serverin bütövlükdə qurulması /etc/exports faylında uzaq sistemlər tərəfindən quraşdırılmasına icazə verilən yerli qovluqların qurulmasından ibarətdir. Bu fəaliyyət kataloq iyerarxiyasının ixracı adlanır. İxrac edilmiş kataloqlar haqqında əsas məlumat mənbələri aşağıdakı fayllardır:

Kök qovluq quruluşu

  1. /etc/exports ixrac edilmiş qovluqların konfiqurasiyasını saxlayan əsas konfiqurasiya faylıdır. NFS işə salındıqda və exportfs yardım proqramı tərəfindən istifadə olunur.
  2. /var/lib/nfs/xtab - Uzaq müştərilər tərəfindən quraşdırılmış kataloqların siyahısını ehtiva edir. Müştəri iyerarxiyanı quraşdırmağa cəhd etdikdə (montaj girişi yaradılır) rpc.mountd demonu tərəfindən istifadə olunur.
  3. /var/lib/nfs/etab - uzaq sistemlər tərəfindən quraşdırıla bilən, ixrac edilmiş kataloqların bütün parametrlərini göstərən qovluqların siyahısı.
  4. /var/lib/nfs/rmtab - hazırda ixrac olunmayan qovluqların siyahısı.
  5. /proc/fs/nfsd - NFS serverini idarə etmək üçün xüsusi fayl sistemi (kernel 2.6).
  6. /proc/net/rpc - nfsstat, eləcə də müxtəlif keşlər vasitəsilə əldə edilə bilən xam statistik məlumatları ehtiva edir.
  7. /var/run/portmap_mapping - RPC-də qeydiyyatdan keçmiş xidmətlər haqqında məlumat.

İxrac faylı aşağıdakı ümumi seçimlərdən istifadə edir:

  • auth_nlm (no_auth_nlm) və ya təhlükəsiz_kilidlər (təhlükəsiz_kilidlər) - serverin kilid sorğularının autentifikasiyasını tələb etməli olduğunu bildirir (NFS Lock Manager protokolundan istifadə etməklə).
  • nohide (gizlət) - əgər server biri digərinin içərisinə daxil edilmiş (quraşdırılmış) olmaqla iki kataloq iyerarxiyasını ixrac edirsə. Müştəri açıq şəkildə ikinci (alt) iyerarxiyanı quraşdırmalıdır, əks halda uşaq iyerarxiyasının bağlama nöqtəsi boş qovluq kimi görünəcək. Nohide seçimi açıq bir montaj olmadan ikinci kataloq iyerarxiyası ilə nəticələnir.
  • ro - Yalnız oxumaq sorğularına icazə verir.
  • rw - Yazı sorğularına imkan verir.
  • təhlükəsiz (təhlükəsiz) - NFS sorğularının təhlükəsiz portlardan gəlməsini tələb edir (< 1024), чтобы программа без прав root не могла монтировать иерархию каталогов.
  • subtree_check (no_subtree_check) - Əgər bütün fayl sistemi deyil, fayl sisteminin alt kataloqu ixrac edilirsə, server tələb olunan faylın ixrac edilmiş alt kataloqda olub-olmadığını yoxlayır. Doğrulamanın söndürülməsi təhlükəsizliyi azaldır, lakin məlumat ötürmə sürətini artırır.
  • sinxronizasiya (async) - serverin sorğulara yalnız həmin sorğular tərəfindən edilən dəyişikliklər diskə yazıldıqdan sonra cavab verməli olduğunu müəyyən edir. Async seçimi serverə məlumatın diskə yazılmasını gözləməməyi bildirir, bu da performansı artırır, lakin etibarlılığı azaldır, çünki Bağlantı kəsildikdə və ya avadanlıq nasaz olarsa, məlumat itirilə bilər.
  • wdelay (no_wdelay) - Sonrakı yazma sorğusu gözlənildiyi halda, verilənlərin daha böyük bloklara yazılması üçün serverə yazma sorğularının icrasını gecikdirməyi əmr edir. Bu, yazma əmrlərinin böyük növbələrini göndərərkən performansı yaxşılaşdırır. no_wdelay yazma əmrinin icrasını gecikdirməməyi təyin edir ki, bu da server çoxlu sayda əlaqəsiz əmrlər aldıqda faydalı ola bilər.

NFS Server İdarəetmə

NFS serveri aşağıdakı utilitlərdən istifadə etməklə idarə olunur:

  • nfsstat
  • showmsecure (təhlükəsiz) montaj
  • ixracat

Nfsstat yardım proqramı RPC və NFS serverlərinin statistikasına baxmaq imkanı verir.

nümayiş

Showmount yardım proqramı uzaq hostda rpc.mountd demonuna quraşdırılmış fayl sistemləri haqqında sorğular göndərir. Varsayılan olaraq, müştərilərin çeşidlənmiş siyahısı qaytarılır. Komandalar:

  • --all - müştərilərin siyahısını və müştərinin kataloqu harada quraşdırdığını göstərən quraşdırma nöqtələrini göstərir. Bu məlumat etibarlı olmaya bilər.
  • --directories - montaj nöqtələrinin siyahısını göstərir.
  • --exports - nfsd baxımından ixrac edilmiş fayl sistemlərinin siyahısını göstərir.

Arqumentlər olmadan showmount proqramının icrası yerli qovluqların quraşdırılmasına icazə verilən sistemlər haqqında məlumatı konsolda çap edəcək.

ixracat

Bu əmr /etc/exports faylında göstərilən ixrac edilmiş qovluqları /var/lib/nfs/xtab faylı ilə sinxronlaşdırır və mövcud olmayan qovluqları xtab-dan silir. exportfs nfsd demonu -r arqumenti ilə işə salındıqda yerinə yetirilir. 2.6 kernel rejimində exportfs utiliti /var/lib/nfs/ kataloqundakı fayllar vasitəsilə rpc.mountd demonu ilə əlaqə qurur və nüvə ilə birbaşa əlaqə saxlamır. Parametrlər olmadan, hazırda ixrac edilmiş fayl sistemlərinin siyahısını göstərir. exportfs parametrləri:

  1. [müştəri:kataloq adı] - göstərilən müştəri üçün göstərilən fayl sistemini əlavə edin və ya silin)
  2. -v - daha çox məlumatı göstərin
  3. -r - bütün qovluqları yenidən ixrac edin (/etc/exports və /var/lib/nfs/xtab sinxronizasiya edin)
  4. -u - ixrac edilənlər siyahısından çıxarın
  5. -a - bütün fayl sistemlərini əlavə edin və ya silin
  6. -o - vergüllə ayrılmış seçimlər (/etc/exports-da istifadə olunan seçimlərə bənzər; yəni artıq quraşdırılmış fayl sistemlərinin seçimlərini dəyişə bilərsiniz)
  7. -i - əlavə edərkən /etc/exports istifadə etməyin, yalnız cari komanda xətti seçimləri
  8. -f - kernel 2.6-da ixrac edilmiş sistemlərin siyahısını yenidən qurun.

Şəbəkə Fayl Sisteminin montaj əmri ilə quraşdırılması

Faylı quraşdırmaq üçün mount əmrinin nümunəsi NFS sistemləri Debian-da:

FAYLLAR~# mount -t nfs arxivi:/archiv-small /archivs/archiv-small FAYLLAR~# mount -t nfs -o ro arxivi:/archiv-big /archivs/archiv-big FILES ~ # montaj ....... arxiv:/archiv-kiçik on /archivs/archiv-kiçik tipli nfs (rw,addr=10.0.0.6) arxiv:/archiv-big on /archivs/archiv-big tip nfs (ro,addr=10.0.0.6)

Birinci əmr, ixrac edilmiş /archiv-small kataloqunu arxiv serverindəki yerli quraşdırma nöqtəsinə /archivs/archiv-small-a standart seçimlərlə (yəni oxumaq-yazmaq) quraşdırır. İkinci əmr, arxiv serverində ixrac edilmiş /archiv-big kataloqunu yalnız oxumaq üçün (ro) seçimi ilə yerli /archivs/archiv-big kataloquna quraşdırır. montaj əmri parametrlər olmadan, bizə montaj nəticəsini aydın şəkildə göstərir. Yalnız oxumaq üçün (ro) seçiminə əlavə olaraq, NFS quraşdırarkən digər əsas seçimləri təyin etmək mümkündür:

  • nosuid - Bu seçim quraşdırılmış kataloqdan setuid proqramlarının icrasının qarşısını alır.
  • nodev (cihaz yoxdur) - Bu seçim simvolların istifadəsini qadağan edir və xüsusi faylları cihazlar kimi bloklayır.
  • lock (nolock) - NFS kilidini aktivləşdirir (standart). nolock NFS kilidini söndürür (kilidlənmiş demonu işə salmır) və NFS kilidini dəstəkləməyən köhnə serverlərlə işləyərkən faydalıdır.
  • mounthost=name - NFS montaj demonunun - mountd - işlədiyi hostun adı.
  • mountport=n - mountd demon tərəfindən istifadə edilən port.
  • port=n - NFS serverinə qoşulmaq üçün istifadə edilən port (rpc.nfsd daemon RPC serverində qeydiyyatdan keçməyibsə, standart 2049-dur). Əgər n=0 (defolt) olarsa, NFS portu müəyyən etmək üçün serverdəki portmapı sorğulayır.
  • rsize=n (oxumaq blokunun ölçüsü - blok ölçüsünü oxumaq) - NFS serverindən bir anda oxunan baytların sayı. Standart - 4096.
  • wsize=n (yazma blokunun ölçüsü - blokun ölçüsünü yaz) - NFS serverinə bir anda yazılan baytların sayı. Standart - 4096.
  • tcp və ya udp - NFS-ni quraşdırmaq üçün müvafiq olaraq TCP və ya UDP protokolundan istifadə edin.
  • bg - Serverə girişi itirsəniz, yenidən cəhd edin fon, sistemin açılış prosesini bloklamamaq üçün.
  • fg - Serverə girişi itirsəniz, prioritet rejimdə yenidən cəhd edin. Bu seçim quraşdırma cəhdlərini təkrarlayaraq sistemin yükləmə prosesini bloklaya bilər. Bu səbəbdən, fg parametri ilk növbədə sazlama üçün istifadə olunur.
  • NFS qurğularında atribut keşinə təsir edən seçimlər
  • inod-da saxlanılan fayl atributları ( inodes), modifikasiya vaxtı, ölçüsü, sərt keçidlər, sahibi kimi adətən adi fayllar üçün nadir hallarda və qovluqlar üçün daha az dəyişir. Kernel keşdəki modifikasiya vaxtını və faylın özünün modifikasiya vaxtını müqayisə edərək keşin köhnəldiyini müəyyən etmək üçün faylın modifikasiya vaxtından istifadə edir.

Atribut önbelleği müəyyən edilmiş parametrlərə uyğun olaraq vaxtaşırı yenilənir:

  1. ac (noac) (attribut keşi - atributun keşləşdirilməsi) - Atributun keşləşdirilməsinə imkan verir (standart olaraq). Noac seçimi serveri yavaşlatsa da, birdən çox müştəri aktiv şəkildə ümumi iyerarxiyaya məlumat yazarkən atributun köhnəlməsinin qarşısını alır.
  2. acdirmax=n (atribut keş kataloq faylı maksimum - kataloq faylı üçün maksimum atributun keşləşdirilməsi) - Maksimum miqdar NFS-nin kataloq atributlarını yeniləməzdən əvvəl gözlədiyi saniyə (standart 60 saniyə)
  3. acdirmin=n (atribut keş qovluğu faylı minimumu - kataloq faylı üçün minimum atribut keşi) - NFS-nin kataloq atributlarını yeniləməzdən əvvəl gözlədiyi minimum saniyə sayı (defolt olaraq 30 saniyə)
  4. acregmax=n (atribut keşi adi fayl maksimumu - adi fayl üçün maksimum atribut keşi) - NFS-nin adi faylın atributlarını yeniləməzdən əvvəl gözlədiyi maksimum saniyə sayı (defolt olaraq 60 san.)
  5. acregmin=n (atribut keşi adi fayl minimumu - adi fayl üçün minimum atribut keşi) - NFS-nin adi faylın atributlarını yeniləməzdən əvvəl gözlədiyi minimum saniyə sayı (defolt olaraq 3 saniyə)
  6. actimeo=n (atribut keşinin fasiləsi) - Yuxarıdakı bütün seçimlər üçün dəyərləri əvəz edir. Əgər actio göstərilməyibsə, yuxarıdakı dəyərlər standart dəyərləri qəbul edir.

NFS Xətası İdarəetmə Seçimləri

Aşağıdakı seçimlər serverdən cavab almadıqda və ya giriş/çıxış xətaları baş verdikdə NFS-nin nə edəcəyini idarə edir:

  • fg (bg) (ön plan - ön plan, arxa plan - arxa plan) - Uğursuz NFS-ni ön planda/fonda quraşdırmaq cəhdləri.
  • sərt (yumşaq) - fasiləyə çatdıqda konsola "server cavab vermir" mesajı göstərir və cəhdləri quraşdırmaqda davam edir. Yumşaq seçim müəyyən edildikdə, fasilə zamanı əməliyyatı çağıran proqrama I/O xətası haqqında məlumat verir.
  • nointr (intr) (kesinti yoxdur) - Böyük bir fasiləyə çatdıqda, sabit quraşdırılmış kataloq iyerarxiyasında fayl əməliyyatlarını dayandırmaq üçün siqnalların qarşısını alır. intr - kəsilməyə imkan verir.
  • retrans=n (təkrar ötürülmə dəyəri - dəyər təkrar ötürülmə) - n kiçik fasilədən sonra NFS böyük vaxt aşımı yaradır (defolt 3). Böyük bir fasilə əməliyyatları dayandırır və ya sərt/yumşaq seçiminin göstərilməsindən asılı olaraq konsola "server cavab vermir" mesajını çap edir.
  • retry=n (yenidən cəhd dəyəri) - NFS xidmətinin imtina etməzdən əvvəl quraşdırma əməliyyatlarını təkrarlayacağı dəqiqələrin sayı (defolt 10000).
  • timeo=n (zaman aşımı dəyəri) - RPC və ya kiçik fasilə zamanı NFS xidmətinin təkrar ötürmədən əvvəl gözlədiyi saniyənin onda biri (defolt 7). Bu dəyər hər bir fasilə ilə maksimum 60 saniyəyə qədər və ya böyük fasilə yaranana qədər artır. Məşğul şəbəkə, yavaş server və ya sorğu birdən çox marşrutlaşdırıcı və ya şlüzdən keçdikdə, bu dəyəri artırmaq performansı yaxşılaşdıra bilər.

Təkmilləşdirilmiş NFS performansı

NFS performansına bir neçə parametr təsir edə bilər, xüsusən də yavaş bağlantılar üzərində işləyərkən. Yavaş və çox yüklənmiş bağlantılarla işləyərkən, fasilələrin proqramların işini dayandırmasına səbəb olmaması üçün sərt parametrdən istifadə etmək məsləhətdir. Ancaq bilməlisiniz ki, fayl sistemini NFS vasitəsilə fstab vasitəsilə hard parametrlə quraşdırsanız və uzaq hosta əlçatmaz olarsanız, yüklənərkən sistem donacaq.

NFS performansını yaxşılaşdırmağın bir yolu bir anda ötürülən baytların sayını artırmaqdır. 4096 bayt ölçüsü müasir sürətli bağlantılar üçün çox kiçikdir, bu dəyəri 8192 və ya daha çox artırmaq optimal sürət üçün eksperimental olaraq tapıla bilər.

Həmçinin, vaxt aşımı parametrlərini də nəzərdən qaçırmamalısınız. NFS, timeo seçimində göstərilən müddət ərzində məlumat ötürülməsinə cavab gözləyir. Məşğul və yavaş bağlantılarda, bu vaxt serverin cavab vaxtından və kommunikasiya bağlantısının tutumundan az ola bilər, nəticədə performansı yavaşlatan lazımsız təkrar ötürmələr, standart olaraq, timeo 0,7 saniyədir (700 millisaniyədir). əlaqənin 700 ms ərzində kəsildiyini aşkar etdikdən sonra server yenidən ötürəcək və gözləmə müddətini 1,4 saniyəyə ikiqat artıracaq, timeo-da artım maksimum 60 saniyəyə qədər davam edəcək.

NFS (Şəbəkə Fayl Sistemi)- Linux/UNIX ƏS ailəsində məşhur olan NFS serverinin fayllarına və fayl sisteminə, eləcə də müxtəlif saxlama sistemlərinə daxil olmaq üçün şəbəkəyə giriş protokolu. Microsoft həmçinin rəqiblərindən geri qalmaq istəməyərək Windows Server 2003 R2-də əsas NFS server funksionallığını təqdim etdi. Sonrakı versiyalarda server platformaları Daxili NFS Windows serverinin Microsoft imkanları genişləndi, ortaya çıxdı yeni funksionallıq və nəzarət edir. Windows Server 2012-də NFS serveri bu texnologiyanın inkişafında başqa bir mərhələdir.

Microsoft tərtibatçıları bu məhsulda bizə hansı yenilikləri təklif edir? Windows Server 2012-də yeni NFS server xüsusiyyətləri:

  1. NFS v4.1 standart dəstəyi. NFS 4.1-in ən son versiyasına dəstək Windows Server 2012-də əsas yeniliklərdən biridir. NFS v3 ilə müqayisədə bu protokol təmin edir. artan təhlükəsizlik, performans və uyğunluq, RFC 5661-in bütün aspektlərini tam şəkildə həyata keçirir.
  2. Qutudan kənar performans. Yeni RPC-XDR nəqliyyat infrastrukturundan istifadə etməklə, sistem parametrlərini tənzimləməyə ehtiyac olmadan, optimal NFS server performansına dərhal nail olmaq olar. Optimal performans, keşin avtomatik tənzimlənməsi, işçi proseslərin hovuzlara bölünməsi və onların yükü əsasında hovuzların dinamik şəkildə idarə edilməsi ilə əldə edilir.
  3. Sadələşdirilmiş yerləşdirmə və idarəetmə. Bu fakt sayəsində əldə edilmişdir:
    • — NFS serverinin qurulması və paylaşılan qovluqların idarə edilməsi üçün 40-dan çox PowerShell cmdletləri
    • - sadə GUI həm SMB, həm də NFS paylaşımlarını, eləcə də faylların yoxlanılması parametrlərini və .
    • — firewallların quraşdırılması asanlığı üçün RPC portunu (port 2049) düzəltmək
    • - yeni WMI v2 provayderi
    • — düz xəritələmə faylı sayəsində sadələşdirilmiş identifikasiya
  4. NFSv3-də təkmilləşdirmələr. NSM (Şəbəkə Vəziyyəti Monitoru) vasitəsilə müştərilərə uğursuzluq bildirişləri göndərməklə, köhnə NFS müştəriləri uğursuzluqları daha yaxşı və daha sürətli idarə edir, bu da daha az dayanma müddəti deməkdir.

Xülasə, Windows Server 2012-də NFS Server yerləşdirmə asanlığı, genişlənmə qabiliyyəti, sabitlik, əlçatanlıq, etibarlılıq, təhlükəsizlik və uyğunluq baxımından əhəmiyyətli dərəcədə təkmilləşdirilmişdir. Paylaşılan qovluqlara eyni vaxtda SMB və NFS protokolları vasitəsilə daxil olmaq olar, yəni Windows istifadə edərək Server 2012 heterojen şəbəkələrdə saxlama kimi.

Windows Server 2012-də NFS serveri GUI və Powershell istifadə edərək quraşdırıla bilər. GUI-dən istifadə edərək NFS serverini quraşdırmaq üçün rolları açın və daxil edin fayl serveri(Fayl və Saxlama Xidmətləri) komponenti yoxlayın NFS üçün server.

NFS komponentinin quraşdırılması başa çatdıqdan sonra server yenidən işə salınmalıdır.

Powershell istifadə edərək eyni rolu quraşdırmaq da asandır, sadəcə əmri yerinə yetirin:

Əlavə et-WindowsFeature "FS-NFS-Service"

Windows Server 2012-də NFS paylaşımının qurulması

Sonra, quraşdırdığımız roldan istifadə edərək NFS paylaşımını (paylaşılan qovluq) necə yaratdığımızı göstərəcəyik Windows server. Yenidən NFS paylaşımını bir neçə yolla yarada bilərsiniz: qrafik interfeys və ya Powershell-dən istifadə etməklə.

Server Manager konsolundan istifadə edərək NFS paylaşımı yaradın

Konsolunuzu açın Server meneceri , bölməsinə keçin Paylaşım idarəetməsi(rolun içərisində yerləşir Fayl və Saxlama Xidmətləri).
Kontekst menyusunda Yeni Paylaşılan Kataloq Yaratmaq Sihirbazını işə salın - Yeni Paylaşım...

Balon növünü seçin NFSPaylaş -Tez

Sonra NFS müştəriləri üçün autentifikasiya növünü təyin etməlisiniz: həm Kerberos autentifikasiyasından, həm də anonimdən istifadə etmək mümkündür.

Fərz edək ki, yaradılan NFS resursunun istehlakçısı NFS bağlantılarını autentifikasiya etmək imkanı olmayan ESXi virtualizasiya serveri olacaq (ESXi NFSv4-ü dəstəkləmir). Buna görə identifikasiya növü olacaq Server Doğrulaması yoxdur, seçimləri də qeyd edin Xəritəsiz istifadəçi girişini aktivləşdirinXəritəsiz istifadəçi girişinə UID/GID ilə icazə verin.

Yaradılmış NFS paylaşımını üçüncü tərəflərin girişindən bir qədər qorumaq üçün müştərinin IP ünvanı ilə NFS resursuna girişi məhdudlaşdıracağıq.

Ev sahibi: 192.168.1.100
Dil Kodlaşdırması: BÖYÜK5
Paylaşma İcazələri: Oxu/Yaz
Kök girişinə icazə verin: Bəli

Bundan sonra, NTFS səviyyəsində qoşulan istifadəçinin xəritələndiyi istifadəçinin oxumaq/yazmaq imkanına malik olduğunu yoxlamaq qalır (istifadə etmək qərarına gəlsəniz anonim giriş, siz Everyone istifadəçisinə NTFS səviyyəsində tam r/w hüquqlarını verməli olacaqsınız).

Powershell istifadə edərək NFS paylaşımını necə yaratmaq olar

Gəlin yeni NFS paylaşımı yaradaq:

New-NfsShare -Ad "NFS " -Yol "d:\paylaşımlar\nfr" -AllowRootAccess $true -Oxuma icazəsi -Autentifikasiya sistemi

192.168.1.100 IP ünvanı üçün paylaşıma girişə icazə verək və BIG5 kodlamasını təyin edək (ESXi müştərisi üçün NFS paylaşımlarının məzmununa baxmaq imkanı).

Grant-NfsSharePermission -Ad "NFS" -ClientName 192.168.1.100 -ClientType host -LanguageEncoding BIG5

Yaradılmış NFS paylaşımı, məsələn, virtuallaşdırma mühitində NFS-məlumat anbarı kimi və ya Unix-ə bənzər digər müştərilərin məlumatlarına daxil olmaq üçün istifadə edilə bilər. NFS payını Windows müştərilərinə necə quraşdırmaq məqalədə təsvir edilmişdir.

Gələndə kompüter şəbəkələri, siz tez-tez NFS haqqında danışa bilərsiniz. Bu abbreviatura nə deməkdir?

Bu, ilk olaraq 1984-cü ildə Sun Microsystems tərəfindən hazırlanmış paylanmış fayl sistemi protokoludur və müştəri kompüterindəki istifadəçiyə şəbəkə üzərindən fayllara daxil olmaq imkanı verir. yerli saxlama. NFS, bir çox digər protokollar kimi, Open Network Computing Remote Procedure Call (ONC RPC) sisteminə əsaslanır.

Başqa sözlə, NFS nədir? Bu açıq standart, hər kəsə protokolu həyata keçirməyə imkan verən Şərhlər üçün Sorğuda (RFC) müəyyən edilmişdir.

Versiyalar və variasiyalar

İxtiraçı öz eksperimental məqsədləri üçün yalnız ilk versiyadan istifadə etdi. İnkişaf qrupu orijinal NFS-ə əhəmiyyətli dəyişikliklər əlavə etdikdə və onu Sunun mülkiyyətindən kənarda buraxdıqda, təyin etdilər yeni versiya v2 kimi, beləliklə, paylamalar arasında qarşılıqlı əlaqə sınaqdan keçirilə və geri dönüş yaradıla bilər.

NFS v2

Versiya 2 əvvəlcə yalnız İstifadəçi Datagram Protokolu (UDP) üzərində işləyirdi. Onun tərtibatçıları əsas protokoldan kənarda həyata keçirilən bloklanmadan server tərəfini saxlamaq istəyirdilər.

Virtual fayl sistemi interfeysi sadə bir protokolda əks olunan modul tətbiqetməyə imkan verir. 1986-cı ilin fevralına qədər Eunice istifadə edərək System V buraxılışı 2, DOS və VAX/VMS kimi əməliyyat sistemləri üçün həllər nümayiş etdirildi. NFS v2 32-bit məhdudiyyətlər səbəbindən yalnız ilk 2 GB faylın oxunmasına icazə verdi.

NFS v3

Sun Microsystems-də NFS 3-ün versiyasını hazırlamaq üçün ilk təklif ikinci paylamanın buraxılmasından qısa müddət sonra elan edildi. Əsas motivasiya sinxron qeydin performans problemini azaltmağa çalışmaq idi. 1992-ci ilin iyul ayına qədər praktiki təkmilləşdirmələr NFS versiyası 2-nin bir çox çatışmazlıqlarını aradan qaldırdı və yalnız qeyri-kafi fayl dəstəyini (64 bitlik fayl ölçüləri və fayl ofsetləri) buraxdı.

  • 2 gigabaytdan (GB) daha böyük məlumatların işlənməsi üçün 64 bitlik fayl ölçüləri və ofsetlər üçün dəstək;
  • performansı yaxşılaşdırmaq üçün serverdə asinxron qeyd üçün dəstək;
  • bir çox cavablarda əlavə fayl atributları onları yenidən götürməmək üçün;
  • Kataloq skan edərkən fayl adları ilə yanaşı məlumat və atributları əldə etmək üçün READDIRPLUS əməliyyatı;
  • bir çox digər təkmilləşdirmələr.

3-cü versiyanın tətbiqi zamanı nəqliyyat səviyyəsinin protokolu kimi TCP-yə dəstək artmağa başladı. WAN üzərindən NFS-dən istifadə etməklə həyata keçirilən məlumat ötürmə vasitəsi kimi TCP-dən istifadə ötürməyə imkan verməyə başladı böyük ölçülər baxmaq və qeyd etmək üçün fayllar. Bunun sayəsində tərtibatçılar İstifadəçi Datagram Protokolu (UDP) tərəfindən qoyulmuş 8 KB məhdudiyyətlərini aşa bildilər.

NFS v4 nədir?

Endres Fayl Sistemi (AFS) və Server Mesaj Blokundan (SMB, CIFS də adlanır) təsirlənən 4-cü versiya performans təkmilləşdirmələrini ehtiva edir, daha yaxşı təhlükəsizlik təmin edir və uyğunluq protokolunu təqdim edir.

Versiya 4, ildə hazırlanmış ilk paylama idi Hədəf qrupu Sun Microsystems-dən sonra İnternet Mühəndisliyi İşçi Qrupu (IETF) protokol işlənməsini kənardan almışdır.

NFS versiyası 4.1, çoxlu serverlər arasında paylanmış fayllara genişlənə bilən paralel girişi təmin etmək imkanı da daxil olmaqla, qruplaşdırılmış server yerləşdirmələrindən istifadə etmək üçün protokol dəstəyini təmin etmək məqsədi daşıyır (pNFS genişləndirilməsi).

Ən yeni fayl sistemi protokolu NFS 4.2 (RFC 7862) rəsmi olaraq 2016-cı ilin noyabrında buraxıldı.

Digər uzantılar

Standartın inkişafı ilə onunla işləmək üçün müvafiq vasitələr meydana çıxdı. Beləliklə, 2 və 3-cü versiyalar üçün genişləndirmə olan WebNFS, Şəbəkə Fayl Sistemi Giriş Protokoluna veb-brauzerlərə daha asan inteqrasiya etməyə və firewalllar üzərində işləməyə imkan verir.

Müxtəlif üçüncü tərəf protokolları da NFS ilə əlaqələndirilmişdir. Onlardan ən məşhurları bunlardır:

  • Bayt protokol dəstəyi ilə Şəbəkə Kilidi Meneceri (NLM) (UNIX System V fayl kilidləmə API-ni dəstəkləmək üçün əlavə edilmişdir);
  • NFS istifadəçilərinə NFS serverlərində yaddaş kvotalarına baxmaq imkanı verən Uzaqdan Kvota (RQUOTAD);
  • RDMA üzərindən NFS ötürmə mühiti kimi uzaqdan birbaşa yaddaş girişindən (RDMA) istifadə edən NFS-nin uyğunlaşdırılmasıdır;
  • NFS-Ganesha istifadəçi məkanında işləyən və libcephfs istifadə edərək CephFS FSAL (Fayl Sistemi Abstraksiya Layeri) dəstəkləyən NFS serveridir.

Platformalar

Şəbəkə Fayl Sistemi tez-tez Unix əməliyyat sistemləri (Solaris, AIX, HP-UX kimi), Apple-ın MacOS və Unix-ə bənzər əməliyyat sistemləri (Linux və FreeBSD kimi) ilə istifadə olunur.

O, həmçinin Acorn RISC OS, OpenVMS, MS-DOS, Microsoft Windows, Novell NetWare və IBM AS/400 kimi platformalar üçün də mövcuddur.

Alternativ uzaqdan fayl giriş protokollarına Server Mesaj Bloku (SMB, CIFS də deyilir), Apple Transfer Protokolu (AFP), əsas protokol NetWare (NCP) və OS/400 server fayl sistemi (QFileSvr.400).

Bu, daha çox Unix-ə bənzər “mərmilərə” yönəlmiş NFS tələbləri ilə bağlıdır.

Eyni zamanda SMB protokolları və NetWare (NCP) işləyən sistemlərdə NFS-dən daha çox istifadə olunur Microsoft tərəfindən idarə olunur Windows. AFP ən çox platformalarda istifadə olunur Apple Macintosh, və QFileSvr.400 OS/400-də ən çox yayılmışdır.

Tipik icra

Bir kompüterin (müştəri) digərində (NFS serverində) saxlanılan məlumatlara giriş tələb etdiyi tipik Unix tipli ssenarini fərz etsək:

  • Server öz məlumatlarını müştərilərə açıq etmək üçün standart olaraq nfsd kimi işləyən Şəbəkə Fayl Sistemi proseslərini həyata keçirir. Server administratoru adətən /etc/exports konfiqurasiya faylı və exportfs əmrindən istifadə edərək kataloq adlarının və parametrlərinin necə ixrac ediləcəyini müəyyən edir.
  • Server təhlükəsizliyini idarə etmək onun təsdiqlənmiş müştərini tanıya və təsdiq edə bilməsini təmin edir. Onun şəbəkə konfiqurasiyası uyğun müştərilərin istənilən firewall sistemi vasitəsilə onunla danışıqlar apara bilməsini təmin edir.
  • Müştəri maşını adətən əmr verməklə ixrac edilmiş məlumatlara giriş tələb edir. O, NFS portundan istifadə edən serveri (rpcbind) sorğulayır və sonra ona qoşulur.
  • Hər şey səhvsiz baş verərsə, istifadəçilər müştəri maşını icazə verilən parametrlər daxilində serverdə quraşdırılmış fayl sistemlərinə baxa və onlarla qarşılıqlı əlaqədə ola biləcək.

Onu da qeyd etmək lazımdır ki, Şəbəkə Fayl Sistemi prosesinin avtomatlaşdırılması da baş verə bilər - ola bilsin, etc/fstab və/və ya digər oxşar vasitələrdən istifadə etməklə.

Bu günə qədər inkişaf

21-ci əsrdə rəqabət aparan DFS və AFS protokolları Şəbəkə Fayl Sistemi ilə müqayisədə heç bir böyük kommersiya uğuru əldə etməmişdi. Əvvəllər yuxarıda göstərilən texnologiyaların bütün kommersiya hüquqlarını əldə edən IBM, 2000-ci ildə AFS mənbə kodunun böyük hissəsini azad proqram təminatı cəmiyyətinə bağışladı. Layihə Açıq AFS bu gün də mövcuddur. 2005-ci ilin əvvəlində IBM AFS və DFS satışlarının başa çatdığını elan etdi.

Öz növbəsində, 2010-cu ilin yanvarında Panasas paralel məlumat əldə etmək imkanlarını təkmilləşdirən texnologiyaya əsaslanan NFS v 4.1-i təklif etdi. Şəbəkə Fayl Sistemi v 4.1 protokolu fayl sistemi metadatasını xüsusi faylların yerindən ayırmaq üçün metodu müəyyən edir. Beləliklə, sadə ad/məlumat ayrılmasından kənara çıxır.

Praktikada bu versiyanın NFS nədir? Yuxarıdakı xüsusiyyət onu serverə bir əlaqə altında faylların adlarını və onların məlumatlarını ehtiva edən ənənəvi protokoldan fərqləndirir. Şəbəkə Fayl Sistemi v 4.1 ilə bəzi fayllar çox qovşaqlı serverlər arasında paylaşıla bilər, lakin metadata və məlumatların paylaşılmasında müştərinin iştirakı məhduddur.

Protokolun dördüncü paylanmasını həyata keçirərkən NFS serveri dəstdir server resursları və ya komponentlər; onların metadata serveri tərəfindən idarə olunduğu güman edilir.

Müştəri hələ də ad məkanını keçmək və ya qarşılıqlı əlaqə yaratmaq üçün tək metadata serveri ilə əlaqə saxlayır. Faylları serverə və serverdən köçürdükcə o, birbaşa NFS qrupuna aid olan məlumat dəsti ilə qarşılıqlı əlaqədə ola bilər.

Lokal şəbəkə daxilində faylların yayılması üçün aşağıdakı texnologiyaları ayırd etmək olar (Linux əsaslı sistemlər nəzərə alınır):

  • Network File System (NFS) - fayl sistemləri üçün şəbəkəyə giriş protokolu;
  • Shell protokolu (FISH) üzərindən ötürülən fayllar və ya istifadə edən bir şəbəkə protokoludur RSH kompüterlər arasında faylları ötürmək;
  • Secure SHell FileSystem (SSHFS) - quraşdırma üçün fayl sistemi müştərisi disk cihazları uzaq sistemlərdə, uzaq sistemlə qarşılıqlı əlaqə üçün istifadə olunur SFTP;
  • Samba sizə daxil olmağa imkan verən proqram paketidir şəbəkə sürücüləri və SMB/CIFS protokolu vasitəsilə müxtəlif əməliyyat sistemlərində printerlər;

Bu qeyddə biz danışacağıq NFS.

NFS (Şəbəkə Fayl Sistemi) faylları/kataloqları şəbəkədəki hər kəsə yaymaq lazım olduqda faydalıdır. ilə şəffaflığa daxil olun NFS müştərilərə uzaq fayl sistemini yerli qovluq kimi quraşdırmaq imkanı verir və fayl sistemləri ola bilər müxtəlif növlər. Bu o deməkdir ki, yerli fayl ilə işləyə bilən hər hansı bir müştəri proqramı vasitəsilə qoşulmuş fayl ilə eyni dərəcədə asanlıqla işləyə bilər NFS, proqramın özünə heç bir dəyişiklik etmədən.

Faydalara NFS aid edilə bilər:

  • prosessorun yükünü azaltmaq;
  • paylaşılan resursların sistemdə müntəzəm kataloqlar kimi göstərilməsi;
  • Hazırda mövcuddur NFS v4.1, yeni bir xüsusiyyət təqdim etdi pNFS fayl paylaşımının həyata keçirilməsini paralelləşdirməyə imkan verir. NFS 2 və 3 üçün bir uzantı da var - WebNFS, veb-brauzerlərə daha asan inteqrasiya və firewall vasitəsilə işləmək imkanı verir.

    Əməliyyat sxemi NFS protokol.

    Linux altında NFS serverinin quraşdırılması və konfiqurasiyası

    Sistemin NFS-i dəstəklədiyini yoxlayaq

    Cat /proc/fayl sistemləri | grep nfs

    Altında Arch Linux server və müştəri eyni paketdədir

    Yaourt -S nfs-utils

    Serveri quraşdırmaq üçün ( nfs-kernel-server) və müştəri ( nfs-ümumi) altında Ubuntu lazım olan paketlər

    Sudo apt-get quraşdırma nfs-kernel-server nfs-common portmap

    Bu qeyddə daha sonra IP server üçün istifadə olunacaq 192.168.1.100 . Eyni IP-nin həmişə serverə təyin edilməsi üçün DHCP serverində (adətən marşrutlaşdırıcıda) müəyyən bir IP-nin müəyyən bir MAC ünvanına paylanmasını müəyyən etmək lazımdır. Yoxsa sizinkini qaldırın yerli DNS server. Məsələn və ya.

    MAC ünvanını ifconfig (sahə efir V Arch Linux).

    NFSv4 güman edir ki, kök kataloqu var, onun daxilində paylanma üçün fayllar artıq yerləşmişdir. Məsələn, /srv/nfs- kök, /srv/nfs/audio- musiqinin yayılması üçün kataloq. Əgər versiyada bu yeni təlimata əməl etmirsinizsə 4 , onda müştəri tərəfindən qoşulduqda xəta ala bilərsiniz:

    Mount.nfs: 192.168.1.100:/home/proft/torrents quraşdırarkən server tərəfindən giriş rədd edildi

    Hələ də serverdə kök kataloqu olmayan yanaşmadan istifadə etmək istəyirsinizsə NFS, sonra müştəri tərəfindən montaj edərkən, versiyanı açıq şəkildə göstərməlisiniz 3

    # montaj əmri üçün mount -o "vers=3" 192.168.1.100:/home/proft/torrents /home/proft/nfs/torrents # fstab 192.168.1.100 üçün:/home/proft/torrents /home/proft/nfs / torrents nfs soft,nfsvers=3 0 0

    istifadə edəcəm NFSv4 kök kataloqu ilə /srv/nfs/ və mount --bind istifadə edərək alt kataloqların quraşdırılması.

    Tutaq ki, istəyirik

    • kataloqu paylayın ~/torrent ilə rwüçün giriş hamı yerli şəbəkə daxilində;
    • kataloqu paylayın ~/şəkillər ilə ro IP ilə host üçün giriş 192.168.1.101 ;

    Əvvəlcə yaradaq kök kataloqu və lazımi əlavələr.

    Sudo mkdir -p /srv/nfs/(torrent,şəkillər)

    Mövcud qovluqları quraşdırın torrent, şəkillər V /srv/nfs.

    # sudo vim /etc/fstab /home/proft/torrents /srv/nfs/torrents heç biri bağlanmır 0 0 /home/proft/photos /srv/nfs/photos heç biri bağlanmır 0 0

    Gəlin redaktə edək /etc/exportsüçün bütün qovluqları təsvir edən paylaşma

    # sudo vim /etc/exports # fayl formatı: kataloq icazəli-hosts(seçimlər) /srv/nfs/torrents 192.168.1.1/24(rw,async) /srv/nfs/photos 192.168.1.101(ro,async)

    Qeyd edək ki, arasında boşluq yoxdur icazə verilən hostlar(seçimlər). Məkanın olması qaydaların fərqli şərhini təqdim edir.

    Mövcud seçimlər:

    • ro (rw) - yalnız oxumaq üçün girişə icazə verin (oxumaq/yazmaq);
    • subtree_check (no_subtree_check) - bəzi hallarda bütün bölməni deyil, yalnız bir hissəsini ixrac etmək lazımdır. Bu halda, server NFS Müştəri sorğularının yalnız müvafiq alt kataloqlarda yerləşən fayllara daxil olmağa cəhd etmələrini təmin etmək üçün əlavə yoxlamalar aparmalıdır. Bu alt ağac nəzarəti ( alt ağac yoxlamaları) müştərilərlə qarşılıqlı əlaqəni bir qədər ləngidir, lakin bundan imtina etsəniz, bu, sistemin təhlükəsizliyi ilə bağlı problemlər yarada bilər. Seçimdən istifadə edərək alt ağaca nəzarəti ləğv edə bilərsiniz alt ağac_yoxlan. Seçim alt ağac_yoxlanışı, bu cür nəzarəti ehtiva edir, defolt olaraq qəbul edilir. İxrac edilmiş kataloq disk bölməsi ilə eyni olarsa, alt ağacın yoxlanılması buraxıla bilər;
    • sinxronizasiya (async) - serverin sorğulara yalnız həmin sorğular tərəfindən edilən dəyişikliklər diskə yazıldıqdan sonra cavab verməli olduğunu müəyyən edir. Seçim async serverə məlumatın diskə yazılmasını gözləməməyi deyir, bu da performansı artırır, lakin etibarlılığı azaldır, çünki əlaqə nasazlığı və ya avadanlıq nasazlığı halında məlumat itkisi baş verə bilər;
    • noaccess - göstərilən kataloqa girişi rədd edir. Əgər siz əvvəllər bütün şəbəkə istifadəçiləri üçün müəyyən bir kataloqa giriş təyin etsəniz və indi alt kataloqa girişi yalnız bəzi istifadəçilər üçün məhdudlaşdırmaq istəsəniz faydalı ola bilər;
    • no_root_squash – standart istifadəçi kök müştəri maşınında serverdəki kataloq üçün eyni hüquqlara malik olmayacaq. Bu seçim bu məhdudiyyəti aradan qaldırır;
    • gizlən- NFS yerli olmayan resursları avtomatik göstərmir (məsələn, mount --bind istifadə edərək quraşdırılmışdır), bu seçim belə resursların göstərilməsinə imkan verir;
    • etibarsız - imtiyazsız portların istifadəsi (> 1024);

    NFS serverinin işə salınması

    # archlinux altında sudo systemctl start rpc-idmapd.service rpc-mountd.service # ubuntu sudo altında /etc/init.d/nfs-kernel-server start

    Gələcəkdə, konfiqurasiya faylını dəyişdirərkən, sadəcə əmrlə onu yenidən oxuyun:

    Sudo exportfs -rav

    rpcinfo -p | əmri grep nfs serverin uğurla işə salınıb-başlamadığını yoxlamağa imkan verir.

    Linux üçün müştəri

    Quraşdırma

    # archlinux altında yaourt -S nfs-utils # ubuntu altında sudo apt-get quraşdırma portmap nfs-common

    Montaj üçün kataloqlar yaradaq şəbəkə resursları torrentlərfotolar

    Mkdir -p ~/nfs/(torrentlər, şəkillər)

    Əl ilə montaj üçün biz edəcəyik

    Sudo mount -t nfs -o rw,soft 192.168.1.100:/srv/nfs/torrents /home/proft/nfs/torrents sudo mount -t nfs -o rw,soft 192.168.1.100:/srpho/srv/s /proft/nfs/fotolar

    Seçim yumşaq müəyyən bir müddətdən sonra paylaşımı birləşdirmək cəhdlərini səssizcə ləğv etməyi müəyyən edir (vaxt seçim ilə müəyyən edilir retrans). Ətraflı təfərrüatlarda man nfs.

    Bu üsul çox rahat deyil, çünki hər dəfə yenidən başladıqdan sonra bu əmrləri yerinə yetirməli olacaqsınız. Quraşdırmanı avtomatik edək.

    Avtomatik quraşdırmaq üçün faylı redaktə edin /etc/fstab

    # sudo vim /etc/fstab 192.168.1.100:/srv/nfs/torrents /home/proft/net/torrents nfs rw,soft 0 0 192.168.1.100:/srv/nfs/photos/home/profts ro, yumşaq 0 0

    Ancaq bu metodun çatışmazlıqları da var, məsələn, server mövcud deyilsə, NFS serverinə qoşulmaq cəhdləri səbəbindən müştərinin yüklənməsi dondurula bilər. Bunu düzəltmək üçün aşağıya baxın AutoFS.

    AutoFS - avtomatik qoşulmaşəbəkə resursları

    Quraşdırmaq mümkündür uzaq resurs istifadə etməklə AutoFS ilk girişdə və heç bir fəaliyyət olmadıqda avtomatik olaraq ayırın.

    AutoFS-də yerləşən şablonlardan istifadə edir /etc/autofs. Əsas şablon adlanır auto.master, üçün bir və ya bir neçə digər şablona işarə edə bilər spesifik növlər daşıyıcılar.

    Quraşdırma

    # archlinux altında yaourt -S autofs # altında ubuntu sudo apt-get install autofs

    Avtomatik quraşdırma metodlarını təyin etməyin bir neçə yolu var. Mən bunu istifadə edirəm: in /home/proft/nfs NFS serverinin adı ilə avtomatik olaraq qovluq yaradılır, serverdə əlçatan kataloqlar avtomatik olaraq yaradılır.

    # sudo vim /etc/autofs/auto.master /home/proft/nfs /etc/autofs/auto.nfs --timeout=60

    Əlavə parametr fasilə cihazın ayrılacağı saniyələrin sayını təyin edir. Parametr kabus konfiqurasiya edilmiş resursların yalnız mövcud olduqda deyil, həmişə göstəriləcəyini müəyyən edir (bu seçim standart olaraq burada aktivdir. AutoFS 5)

    -də təsvir edəcəyik /etc/autofs/auto.nfs NFS serveri və kök kataloqu.

    # sudo vim /etc/autofs/auto.nfs nfsserver 192.168.1.100:/srv/nfs

    İndi ilk zəngdə /home/proft/nfs/torrents baş verəcək avtomatik montaj NFS resursu.

    Autofs xidmətini yenidən başladaq:

    # archlinux altında sudo systemctl yenidən başladın autofs # ubuntu altında sudo /etc/init.d/autofs yenidən başladın

    Siz həmçinin NFS resursunun əlçatan olması üçün gözləmə vaxtını təyin edə bilərsiniz. Bunu etmək üçün dəyərləri dəyişdirməlisiniz MOUNT_WAIT.

    # archlinux altında # sudo vim /etc/conf.d/autofs MOUNT_WAIT=5 # ubuntu altında sudo /etc/default/autofs MOUNT_WAIT=5

    NFS v3 istifadəsini məcbur etmək

    Bəzi hallarda NFSv4 yavaş işləyə bilər. Bunu düzəltmək üçün onu üçüncü versiyadan istifadə etməyə məcbur edə bilərsiniz.

    "və "şəbəkə fayl sistemi", onun imkanları və təhlükəsizlik dərəcəsi haqqında artıq təsəvvürünüz var. Bununla belə, bu məqalədə hər şey əsasən müştəri nöqteyi-nəzərindən başa düşüldü... amma öz NFS serverinizə sahib olmaq istəyirsinizsə nə etməli? (qeyd: “fuck” “sındırmaq” demək deyil, “quraşdır və konfiqurasiya et” deməkdir).

    Yaxşı, əgər belə bir arzunuz varsa, özünüzə verməli olduğunuz ilk sual budur: "Keçiyə akkordeon nə lazımdır?" Evdə NFS server quraşdırmaq üçün
    tamamilə mənasızdır - heç kim bunu qiymətləndirməyəcək, ancaq "qara paltarlı kişilər" ofisində və ya yeni açılmış "admin" olmaq şansınız varsa HOME şəbəkəsi“Onda bu tamam başqa məsələdir...

    Serverin işə salınması olduqca sadə bir məsələdir, əgər əvvəlki məqaləni oxusanız, onu çox yaxşı idarə edə bilərsiniz. Beləliklə, aşağıdakı demonlara ehtiyacınız olacaq:

    • nfsd - birbaşa protokol xidməti
      NFS;
    • mountd - montaj əməliyyatlarına xidmət;
    • rpc.portmap - RPC port demonu; lazımdır, çünki NFS serverinə sorğular paketlər şəklində göndərilir
      RPC;

    Bunu necə etmək olar? Çox sadədir - “/etc/rc.d/rc.inet2” faylına keçin və müvafiq sətirləri şərhdən çıxarın. Hər şeyi belə hesab etmək olar ilkin buraxılış istehsal olunarsa, bütün bunları konfiqurasiya etmək bir az daha çətin olacaq...
    Qərar verilməli olan ilk şey bu və ya digər məlumatla bağlı kimin hansı hüquqlara malik olmasıdır. Bu, /etc/exports faylı vasitəsilə konfiqurasiya edilir. “oxumaq” və “oxumaq-yazmaq” icazələri var. Bunun necə qurulacağı "Əsaslar" bölməsində təsvir edilmişdir.
    NFS".

    İkincisi, əlbəttə ki, serverdəki yükdür, yəni. aktiv istifadəçilərin sayı və onların təxmini sorğuları. NFS serverinə edilən sorğular adətən iki növə bölünür: birincisi, müştəri atributlarla işlədiyi zaman, ikincisi müştərinin birbaşa məlumatları tələb etməsidir. Birinci növ sorğular fayl axtarışı, icazələrin siyahısını oxumaq və s., əlbəttə ki, onların şəbəkəni yüngül yüklədiyini başa düşürsən. İkinci növ sorğular fayl məzmununun birbaşa müştəridən ötürülməsi və qəbulu; və burada sual yaranır: "nə və nə qədər tez-tez ötürüləcək?" 10 Mbit/s şəbəkəniz varsa (yaxşı, sadə dillə desək, standart rus şəbəkəsi) varsa, bu xüsusilə aktualdır. Əgər bilirsinizsə, onda 10 Mbit/san saniyədə 1 MB-dan bir az artıqdır; Təbii ki, onlarla meqabaytlıq fayllar daim ötürülürsə, şəbəkə sadəcə öləcək. Əgər bu sizin vəziyyətinizdirsə, o zaman müştəri maşınında (biod daemon) məlumatların keşləşdirilməsini quraşdırmalı olacaqsınız. Sonra, bir dəfə bir fayl tələb etdikdən və ona yenidən daxil olduqdan sonra, müştəri onu yenidən serverdən "yükləməyəcək", onu öz keşindən götürəcək; eyni zamanda serverdəki faylın dəyişib-dəyişmədiyi mütəmadi olaraq yoxlanılacaq və dəyişiklik faktı aşkar edilərsə, keşdəki fayl “təzə versiya” ilə əvəz olunacaq.
    (başa düşdüyünüz kimi, “fayl dəyişib” yoxlanılması “atributlara görə” sorğusudur ki, bu da çox vaxt faylın özündən yüzlərlə dəfə kiçikdir).

    Yaxşı: NFS serverini işə saldıq, giriş icazələrini təyin etdik, yüklə məşğul olduq... İndi qalan şey vinti lazımi məlumatla doldurmaq və ondan istifadə etməkdir.
    NFS imkanları tam...

    Nəticə əvəzinə:

    Şəbəkədə məlumat mübadiləsinin təşkili sualı ilə qarşılaşırsınızsa, NFS-i seçməkdən çəkinməyin - NFS ondan üç baş yüksəkdir.
    FTP Windows "balonları" üzərində baş və çiyinlərdir və onu qurmaq o qədər də çətin deyil...