• NFS: síťový souborový systém. Síťová souborová služba

    Pro sdílení souborů uvnitř lokální síť můžeme rozlišit takové technologie (uvažovány jsou systémy založené na Linuxu):

    • Network File System (NFS) - protokol pro síťový přístup k systémům souborů;
    • Soubory přenášené přes protokol Shell (FISH) - síťový protokol, který využívá popř RSH přenášet soubory mezi počítači;
    • Secure SHell FileSystem (SSHFS) - klient souborového systému pro připojení disková zařízení na vzdálené systémy, se používá k interakci se vzdáleným systémem SFTP;
    • Samba je softwarový balík, který vám umožňuje přístup síťové disky a tiskárny na různých operačních systémech prostřednictvím protokolu SMB/CIFS;

    V této poznámce budeme hovořit o NFS.

    NFS (síťový souborový systém) užitečné, když potřebujete distribuovat soubory/adresáře všem v síti. Transparentnost přístupu přes NFS umožňuje klientům připojit vzdálený souborový systém jako lokální adresář a souborové systémy mohou být odlišné typy. To znamená, že každá klientská aplikace, která umí pracovat s lokálním souborem, může stejně dobře pracovat se souborem připojeným přes NFS bez jakýchkoliv úprav samotného programu.

    K výhodám NFS lze přičíst:

  • snížení zatížení procesoru;
  • zobrazení sdílených zdrojů jako běžných adresářů v systému;
  • Na tento moment dostupný NFS v4.1, do kterého jsme vstoupili novou příležitost pNFS umožňující paralelizaci implementace veřejný přístup do souborů. K dispozici je také rozšíření pro NFS 2 a 3 - WebNFS, které umožňují snadnější integraci do webových prohlížečů a možnost pracovat přes firewall.

    Schéma práce NFS protokol.

    Instalace a konfigurace serveru NFS pod Linuxem

    Zkontrolujte, zda systém podporuje NFS

    Cat /proc/filesystems | grep nfs

    Pod Arch Linux server a klient jsou ve stejném balíčku

    Yaourt -S nfs-utils

    Chcete-li nainstalovat server nfs-kernel-server) a klient ( nfs-běžný) pod ubuntu potřebné balíčky

    sudo apt-get install nfs-kernel-server nfs-common portmap

    Dále v poznámce bude pro server použita IP 192.168.1.100 . Aby měl server vždy přidělenu stejnou IP, je nutné zadat distribuci konkrétní IP na konkrétní MAC adresu v DHCP serveru (nejčastěji routeru). Nebo zvyšte místní DNS server. Například nebo .

    MAC adresu můžete zjistit pomocí ifconfig (pole éter PROTI Arch Linux).

    NFSv4 předpokládá, že existuje kořenový adresář, ve kterém jsou již umístěny soubory pro distribuci. Například, /srv/nfs- kořen, /srv/nfs/audio- adresář pro distribuci hudby. Pokud se tímto novým směrem ve verzi neřídíte 4 , pak se při připojování klientem může zobrazit chyba:

    mount.nfs: přístup odepřen serverem při instalaci 192.168.1.100:/home/proft/torrents

    Pokud stále chcete na serveru používat přístup bez kořenového adresáře NFS, pak při montáži klientem musíte výslovně specifikovat verzi 3

    # pro příkaz mount mount -o "vers=3" 192.168.1.100:/home/proft/torrents /home/proft/nfs/torrents # pro fstab 192.168.1.100:/home/proft/torrents /home/proft/nfs/ torrenty nfs soft,nfsvers=3 0 0

    použiji NFSv4 s kořenovým adresářem v /srv/nfs/ a připojení vnořených adresářů pomocí mount --bind .

    Předpokládejme, že chceme

    • distribuovat adresář ~/torrenty S rw přístup pro Všechno v rámci místní sítě;
    • distribuovat adresář ~/fotky S ro přístup pro hostitele s IP 192.168.1.101 ;

    Nejprve si vytvoříme kořenový adresář a potřebné podadresáře.

    Sudo mkdir -p /srv/nfs/ (torrenty, fotografie)

    Připojte existující adresáře torrenty, fotografie PROTI /srv/nfs.

    # sudo vim /etc/fstab /home/proft/torrents /srv/nfs/torrents none bind 0 0 /home/proft/photos /srv/nfs/photos none bind 0 0

    Upravit /etc/exports, který popisuje všechny sdílené adresáře

    # sudo vim /etc/exports # formát souboru: adresář povoleno-hosts(options) /srv/nfs/torrents 192.168.1.1/24(rw,async) /srv/nfs/photos 192.168.1.101(ro,async)

    Všimněte si, že mezi nimi není mezera povolených hostitelů A (možnosti). Přítomnost mezery zavádí jiný výklad pravidel.

    Dostupné možnosti:

    • ro (rw) - povolit přístup pouze pro čtení (čtení/zápis);
    • subtree_check (no_subtree_check) - v některých případech nemusíte exportovat celou sekci, ale pouze její část. Zároveň server NFS musí splnit dodatečná kontrola požadavky od klientů, aby zajistily, že se pokoušejí přistupovat pouze k souborům v příslušných podadresářích. Taková kontrola podstromu ( kontroly podstromu) poněkud zpomaluje interakci se zákazníky, ale pokud to odmítnete, můžete zaznamenat problémy se zabezpečením systému. Pomocí volby můžete zrušit kontrolu nad podstromem no_subtree_check. Volba kontrola_podstromu, který takové ovládání zahrnuje, se předpokládá standardně. Řízení podstromu lze vynechat, pokud je exportovaný adresář stejný jako diskový oddíl;
    • sync (async) Určuje, že server by měl odpovídat na požadavky až poté, co byly změny provedené těmito požadavky zapsány na disk. Volba asynchronní instruuje server, aby nečekal na zapsání informací na disk, což zlepšuje výkon, ale snižuje spolehlivost, protože v případě přerušení spojení nebo selhání zařízení může dojít ke ztrátě dat;
    • noaccess - Odepře přístup do zadaného adresáře. To může být užitečné, pokud jste dříve nastavili přístup všem uživatelům sítě do určitého adresáře a nyní chcete omezit přístup v podadresáři pouze některým uživatelům;
    • no_root_squash - výchozí uživatel vykořenit na klientském počítači nebude mít stejná práva k adresáři na serveru. Tato možnost toto omezení odstraňuje;
    • skrýt- NFS nezobrazuje automaticky nelokální zdroje (například připojené pomocí mount --bind), tato volba umožňuje zobrazení takových zdrojů;
    • nezabezpečené - použití neprivilegovaných portů (> 1024);

    Spuštění serveru NFS

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

    V budoucnu při změně konfiguračního souboru stačí jej znovu přečíst příkazem:

    sudo exportfs -rav

    Příkaz rpcinfo -p | grep nfs vám umožňuje zkontrolovat, zda se server úspěšně spustil.

    Klient pro Linux

    Instalace

    # pod archlinuxem yaourt -S nfs-utils # pod ubuntu sudo apt-get install portmap nfs-common

    Vytvořte adresáře pro připojení síťových prostředků torrenty A fotky

    Mkdir -p ~/nfs/ (torrenty, fotografie)

    Chcete-li ručně připojit, spusťte

    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:/srv /nfs/photos /proft/nfs/photos

    Volba měkký určuje tiché zrušení pokusů o připojení sdílené složky po určité době (čas je nastaven volbou retrans). Přečtěte si více v muž nfs.

    Tato metoda není příliš pohodlná, protože pokaždé po restartu budete muset tyto příkazy spustit. Udělejme montáž automatickou.

    Chcete-li se automaticky připojit, upravte soubor /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/proft/net/photos ro, měkký 0 0

    Ale tato metoda má také své nevýhody, například pokud server není dostupný, může načítání klienta zamrznout kvůli pokusům o připojení k serveru NFS. Chcete-li to opravit, viz níže o AutoFS.

    AutoFS- automatické připojení síťové zdroje

    Je možné připojit vzdálený zdroj pomocí AutoFS při prvním přístupu a automaticky se odpojí, když nedojde k žádné aktivitě.

    AutoFS používá šablony umístěné v /etc/autofs. Hlavním vzorem je tzv auto.master, může ukazovat na jednu nebo více dalších šablon pro konkrétní typy médií.

    Instalace

    # pod archlinux yaourt -S autofs # pod ubuntu sudo apt-get install autofs

    Existuje několik způsobů, jak určit metody automatického připojení. Já používám tento: /home/proft/nfs automaticky se vytvoří adresář s názvem NFS serveru, ve kterém se automaticky vytvoří dostupné adresáře na serveru.

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

    Další parametr Časový limit nastavuje počet sekund, po kterých bude zařízení odpojeno. Parametr duch určuje, že nakonfigurované prostředky budou zobrazeny vždy, nejen když jsou dostupné (tato možnost je ve výchozím nastavení povolena v AutoFS 5)

    Popíšeme v /etc/autofs/auto.nfs NFS server a kořenový adresář.

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

    Nyní k prvnímu hovoru /home/proft/nfs/torrents sdílená složka NFS bude automaticky připojena.

    Restartujte službu autofs:

    # pod archlinux sudo systemctl restart autofs # pod ubuntu sudo /etc/init.d/autofs restart

    Můžete také zadat dobu čekání na dostupnost prostředku NFS. Chcete-li to provést, musíte změnit hodnoty MOUNT_WAIT.

    # pod archlinux # sudo vim /etc/conf.d/autofs MOUNT_WAIT=5 # pod ubuntu sudo /etc/default/autofs MOUNT_WAIT=5

    Vynucení použití NFS v3

    V některých případech NFSv4 může běžet pomalu. Chcete-li tento problém vyřešit, můžete vynutit použití třetí verze.

    uživatel může pracovat v různou dobu různé počítače. Pomocí souborového serveru se řeší několik úkolů najednou:
    1. pravidelný záloha všechna data: je nereálné provést tuto operaci pro několik desítek nebo stovek počítačů, ale je to docela možné - z jednoho serveru nebo několika serverů.
    2. zvýšení spolehlivosti datových úložišť: je nerozumné vybavovat každý počítač v síti polem RAID, protože drtivou většinu souborů v počítači, jako jsou nainstalované softwarové balíky, je snazší znovu nainstalovat, než je chránit před selháním; ale bylo by docela rozumné doplnit souborový server o hardwarové pole RAID nebo tam uspořádat softwarové pole RAID, alespoň jednoduché zrcadlení disku.
    3. snížení nákladů na úložiště: je drahé a neefektivní instalovat velký disk do každého počítače v případě, že potřebujete uložit velké množství dat, ale je docela možné nainstalovat na server škálovatelný diskový subsystém s velkým objemem.
    4. poskytování přístupu ke stejným datům z libovolného počítače.

    Popis NFS

    Služba NFS umožňuje serveru poskytovat sdílený přístup k určeným adresářům na svém lokálním místě souborový systém a aby klient tyto adresáře připojil, jako by to byly místní adresáře na klientovi.

    Verze NFS

    NFS, vyvinutý společností Sun Microsystems, byl tak úspěšný, že jej různé společnosti implementovaly téměř do všech operačních systémů. Existuje několik zásadně odlišných implementací NFS. Verze NFS 2.0 je poměrně běžná, ačkoli NFS 3.0 byl představen již v Solaris 2.5. Následná vydání Solarisu, včetně Solaris 9, významně rozšířila NFS, ale samotný protokol zůstal kompatibilní s implementacemi NFS 3.0 na jiných systémech. Počínaje NFS 3.0 je podporován přenos paketů přes TCP a UDP, dříve byl podporován pouze UDP.

    buď opatrný! Síť by měla používat klienty a servery NFS stejné verze. NFS 2.0 lze nalézt na starších systémech, jako je HP-UX 10.0. Spolupráce systémy využívající různé verze NFS, nežádoucí.

    Kompatibilita NFS a dalších sdílených adresářových služeb

    NFS je významem a organizací práce podobný sdílené adresáře(sdílené složky) v Systémy Windows, ale tyto služby používají zcela odlišné protokoly a nejsou vzájemně kompatibilní. Existuje však několik softwarových produktů, které instalují podporu NFS na systémy Windows, takže použití NFS v síti s různými operačními systémy není problém, jen nezapomeňte používat stejné verze NFS.

    Služba NFS předpokládá model klient-server se spuštěnými klientskými počítači a servery různé programy poskytnout přístup ke sdíleným adresářům na serveru.

    Vzhledem k tomu, že počítače na pracovištích zaměstnanců v Rusku jsou obvykle spravovány systémy Windows, jsou systémy Windows také často používány jako souborové servery. Často však existuje potřeba instalovat UNIX na souborový server za účelem zvýšení spolehlivosti, snížení nákladů na hardware nebo použití stejného serveru pro řadu dalších firemních potřeb: jako webový server, databázový server a tak dále. Aby nedošlo k instalaci dalšího softwaru pro podporu NFS, v tomto případě stačí nainstalovat balíček samba na stroj UNIX. Umožní mu to „předstírat“, že je Windows serverem, takže ho všechny klientské počítače vnímají jako nejběžnější souborový server nebo tiskový server v síti Windows. Balíček samba poskytuje podporu pro nativní protokol SMB pro sítě Windows.

    V případech, kdy je v síti několik počítačů UNIX a potřebují přístup ke stejnému souborovému serveru, má smysl použít mechanismus NFS (síťový souborový systém).

    NFS není příliš odolný vůči selhání sítě, vyžaduje dobu provozu sítě a vyžaduje rychlé připojení mezi klientem a serverem. Použití NFS k připojení souborových systémů mimo lokální síť, například přes internet, je technicky proveditelné, ale není příliš racionální a nebezpečné.

    Terminologie NFS

    Po nastavení serveru NFS umožní počítač se systémem UNIX externím uživatelům přístup k některým jeho adresářům souborový systém. Toto udělení přístupu se nazývá „exportování“: říká se, že systém exportuje své adresáře. Způsob exportu adresářů je určen seznamem, který definuje správce systému. Na většině systémů UNIX je tento seznam v souboru /etc/exports, ale na Solarisu je v jiném souboru, /etc/dfs/dfstab .

    NFS funguje prostřednictvím mechanismu vzdálené volání postupy ( RPC - Remote Procedure Call).

    Co je RPC

    Ideologie RPC je velmi jednoduchá a pro programátora atraktivní. Jak obvykle funguje síťová aplikace? Řídí se nějakým protokolem (například HTTP): vytvoří paket s požadavkem, zavolá funkci navázání spojení systému, poté funkci odeslání paketu, poté čeká na paket s odpovědí a zavolá funkci uzavření spojení. To znamená, že veškerá práce se sítí je záležitostí programátora, který aplikaci píše: musí pamatovat na volání síťových API funkcí systému, přemýšlet o akcích v případě selhání sítě.

    RPC zahrnuje jiný způsob výměny dat mezi klientem a serverem. Z pohledu programátora klientská aplikace RPC zavolá funkci na serveru, provede ji a vrátí výsledek. Předání požadavku na funkci přes síť a vrácení výsledků ze serveru klientovi je pro aplikaci transparentní, takže se aplikace nemusí starat o selhání sítě nebo detaily implementace transportního protokolu.

    Aby byla zajištěna transparentnost přenosu dat po síti, byl navržen dvoustupňový postup. Na serveru se každá aplikace, která zpřístupňuje svou službu prostřednictvím RPC, musí zaregistrovat v programu zvaném mapovač portů. Funkcí tohoto programu je porovnat číslo procedury RPC, které klient požadoval, s číslem portu TCP nebo UDP, na kterém serverová aplikace naslouchá požadavkům. Obecně řečeno, RPC může pracovat s více než jen TCP nebo UDP. Solaris právě implementoval práci založenou na mechanismu TI (TransportIndependent), takže v Solaris je překladač portů tzv. rpcbind, ale ne portmap, jako v Linuxu nebo FreeBSD.

    Aplikace, která se registruje u překladače portů, jí sdělí číslo programu, číslo verze a čísla procedur, které program dokáže zpracovat. Tyto procedury budou následně klientem volány číslem. Kromě toho aplikace hlásí čísla portů TCP a UDP, které budou použity pro příjem požadavků na procedury.

    Klient, který si přeje vyvolat proceduru na serveru, nejprve odešle požadavek překladači portů na serveru, aby zjistil, na který port TCP nebo UDP má požadavek odeslat. Překladač portů se spouští při startu systému a vždy běží na standardním portu 111. Po obdržení odpovědi od něj klient odešle požadavek na port, který odpovídá požadované aplikaci. Například server NFS běží na portu 2049.

    Postup pro připojení sdíleného adresáře přes NFS

    Než přejdeme k popisu nastavení NFS serveru a klienta, musíme porozumět tomu, jak se vzdálené souborové systémy připojují obecně.

    Klient NFS odešle požadavek na připojení vzdálenému počítači, který jej poskytne souborový systém(obvykle - nějaká jeho část) pro obecné použití. Říká se, že NFS server "exportuje" konkrétní adresář (myšleno - s podadresáři). Žádost od klienta

    NFS: pohodlná a perspektivní síť souborový systém

    síťový souborový systém je síťová abstrakce nad běžným souborovým systémem, která umožňuje vzdálenému klientovi k němu přistupovat přes síť stejným způsobem jako při přístupu k lokálním souborovým systémům. Ačkoli NFS nebyl první síťový souborový systém, vyvinul se tak, aby se stal nejschopnějším a nejrozšířenějším síťovým souborovým systémem v dnešním UNIXu. NFS umožňuje sdílet společný souborový systém s více uživateli a centralizovat data pro minimalizaci místo na disku potřebné pro jejich skladování.

    Tento článek začíná stručným přehledem historie NFS a poté se přesune k prozkoumání architektury NFS a k tomu, jak ji lze dále rozvíjet.

    Stručná historie NFS

    První síťový souborový systém se jmenoval FAL (File Access Listener – obsluha přístupu k souborům) a byl vyvinut v roce 1976 společností DEC (Digital Equipment Corporation). Jednalo se o implementaci protokolu DAP (Data Přístupový protokol- protokol pro přístup k datům) a byl součástí protokolu DECnet. Stejně jako u TCP/IP, DEC zveřejnila specifikace pro své síťové protokoly, včetně protokolu DAP.

    NFS byl první moderní síťový souborový systém postavený na protokolu IP. Jeho prototyp lze považovat za experimentální souborový systém vyvinutý v Sun Microsystems na počátku 80. let. Vzhledem k popularitě tohoto řešení byl protokol NFS představen jako specifikace RFC a následně se vyvinul v NFSv2. NFS se rychle etabloval jako standard díky své schopnosti spolupracovat s jinými klienty a servery.

    Standard byl následně aktualizován na verzi NFSv3 definovanou v RFC 1813. Tato verze protokolu byla škálovatelnější než předchozí verze a podporovala větší soubory (přes 2 GB), asynchronní zápis a TCP jako transportní protokol. NFSv3 udává směr pro vývoj souborových systémů pro rozlehlé sítě (WAN). V roce 2000, jako součást specifikace RFC 3010 (revidované v RFC 3530), byl NFS portován do podnikového prostředí. Sun představil bezpečnější NFSv4 se stavovou podporou (předchozí verze NFS stavovou podporu nepodporovaly, tedy patřily do bezstavové kategorie). V současné době je nejnovější verzí NFS verze 4.1, definovaná v RFC 5661, ve které je protokol prostřednictvím rozšíření pNFS byla přidána podpora paralelního přístupu pro distribuované servery.

    Historie vývoje NFS, včetně konkrétních RFC popisujících jeho verze, je znázorněna na obrázku 1.


    Překvapivě se NFS vyvíjí téměř 30 let. Jedná se o výjimečně stabilní a přenosný síťový souborový systém s vynikající škálovatelností, výkonem a kvalitou služeb. S rostoucí rychlostí a klesající latencí při komunikaci v rámci sítě je NFS i nadále oblíbeným způsobem implementace souborového systému v síti. I v případě sítí LAN virtualizace vybízí k zajištění ukládání dat v síti virtuální stroje extra mobilitu. NFS také podporuje nejnovější modely organizace výpočetních prostředí zaměřené na optimalizaci virtuálních infrastruktur.

    Architektura NFS

    NFS používá standardní architektonický model klient-server (jak je znázorněno na obrázku 2). Server je zodpovědný za implementaci systému sdílení souborů a úložiště, ke kterému se klienti připojují. Klient implementuje uživatelské rozhraní ke sdílenému souborovému systému připojenému do lokálního souborového prostoru klienta.

    Obrázek 2. Implementace modelu klient-server v architektuře NFS

    V systému Linux® poskytuje přepínač virtuálního systému souborů (VFS) prostředky pro podporu více systémů souborů na stejném hostiteli současně (například souborový systém ISO 9660 na disku CD-ROM a systém souborů ext3fs na místním pevný disk). Virtuální přepínač určuje, na kterou jednotku je požadavek zadán, a tedy který souborový systém by měl být použit ke zpracování požadavku. Proto má NFS stejnou kompatibilitu jako jiné systémy souborů používané v Linuxu. Jediný rozdíl oproti NFS je v tom, že I/O požadavky, místo aby byly zpracovávány lokálně na hostiteli, mohou být směrovány do sítě za účelem provedení.

    VFS určí, že přijatý požadavek je pro NFS a předá ho obsluze NFS v jádře. Obslužná rutina NFS zpracuje I/O požadavek a převede jej do NFS procedury (OPEN , ACCESS , CREATE , READ , CLOSE , REMOVE , atd.). Tyto postupy popsané v samostatné specifikaci RFC definují chování protokolu NFS. Potřebný postup se volí v závislosti na požadavku a provádí se pomocí technologie RPC (remote procedure call). Jak název napovídá, RPC umožňuje provádět volání procedur mezi nimi různé systémy. Služba RPC se připojí k požadavku NFS se svými argumenty a odešle výsledek příslušnému vzdálenému hostiteli a poté sleduje, zda je odpověď přijata a zpracována, aby ji vrátil žadateli.

    RPC také obsahuje důležitou vrstvu XDR ( externí reprezentace dat nezávislá reprezentace dat), zajišťující, že všichni uživatelé NFS používají stejný formát pro stejné typy dat. Když platforma odešle požadavek, datový typ, který používá, se může lišit od datového typu používaného hostitelem zpracovávajícím požadavek. XDR přebírá práci převodu typu na standardní reprezentaci (XDR), takže platformy používající různé architektury mohou vzájemně spolupracovat a sdílet systémy souborů. XDR definuje bitový formát pro typy, jako je float , a endianness pro typy, jako jsou pole konstantní a proměnné délky. Ačkoli je XDR primárně známé pro své použití v NFS, může být tato specifikace užitečná ve všech případech, kdy musíte pracovat ve stejném prostředí s různými architekturami.

    Poté, co XDR převede data do standardní reprezentace, je požadavek přenesen po síti pomocí specifického transportního protokolu. Používaly se rané implementace NFS protokol UDP, ale dnes se TCP používá k zajištění větší spolehlivosti.

    Na straně serveru NFS je použit podobný algoritmus. Požadavek prochází síťovým zásobníkem přes vrstvu RPC/XDR (pro převod datových typů podle architektury serveru) a dostává se na server NFS, který je zodpovědný za zpracování požadavku. Tam je požadavek předán démonu NFS, aby určil cílový souborový systém, kterému je adresován, a poté znovu přejde do VFS, aby získal přístup k tomuto systému souborů na lokální disk. Kompletní schéma tohoto procesu je znázorněno na obrázku 3. Současně je místní souborový systém serveru standardní pro Linux soubor systém, např. ext4fs. Ve skutečnosti NFS není souborový systém v tradičním slova smyslu, ale protokol vzdálený přístup do souborových systémů.


    Pro sítě s velký čas počkejte, NFSv4 nabízí speciální složený postup ( složený postup). Tento postup vám umožňuje umístit více volání RPC do jednoho požadavku, abyste minimalizovali režii odesílání požadavků přes síť. Také v této proceduře je implementován mechanismus funkcí zpětného volání pro příjem odpovědí.

    protokol NFS

    Když klient začne pracovat s NFS, první akcí je operace připojení, což je připojení vzdáleného souborového systému do prostoru lokálního souborového systému. Tento proces začíná voláním procedury mount (jedna z funkcí systému Linux), která je přesměrována přes VFS na komponentu NFS. Poté pomocí volání RPC funkce get_port na vzdáleném serveru se určí číslo portu, který bude použit pro připojení, a klient odešle požadavek na připojení prostřednictvím RPC. Tento požadavek na straně serveru zpracovává speciální démon rpc.mountd zodpovědný za protokol připojení ( montážní protokol). Démon zkontroluje, zda je souborový systém požadovaný klientem v seznamu systémů dostupných na serveru tento server. Pokud požadovaný systém existuje a klient k němu má přístup, pak odpověď procedury připojení RPC určuje deskriptor systému souborů. Klient uchovává informace o místních a vzdálených přípojných bodech a je schopen zadávat I/O požadavky. Protokol připojení není z hlediska zabezpečení dokonalý, takže NFSv4 místo toho používá interní volání RPC, která mohou také spravovat body připojení.

    Chcete-li číst soubor, musíte jej nejprve otevřít. RPC nemá proceduru OPEN, místo toho klient jednoduše zkontroluje, že zadaný soubor a adresář existuje v připojeném systému souborů. Klient začíná odesláním požadavku GETATTR RPC do adresáře, který vrátí atributy adresáře nebo indikátor, že adresář neexistuje. Klient poté vydá požadavek LOOKUP RPC, aby zkontroloval existenci souboru. Pokud soubor existuje, odešle se proti němu požadavek GETATTR RPC, aby se získaly atributy souboru. Pomocí informací získaných z úspěšných volání LOOKUP a GETATTR klient vytvoří popisovač souboru, který je poskytován uživateli pro budoucí požadavky.

    Jakmile je soubor identifikován ve vzdáleném systému souborů, může klient zadávat požadavky RPC jako READ . Tento požadavek se skládá z deskriptoru souboru, stavu, offsetu a počtu bajtů ke čtení. Klient používá stav ( Stát) zjistit, zda je možné operaci v tuto chvíli provést, tzn. zda je soubor uzamčen. Offset ( offset) určuje, kde má začít čtení, a počítadlo bajtů ( počet) určuje, kolik bajtů se má číst. V důsledku volání RPC READ server nevrací vždy tolik bajtů, kolik bylo požadováno, ale spolu s vrácenými daty vždy odešle, kolik bajtů bylo odesláno klientovi.

    Inovace v NFS

    Největší zajímavostí jsou dvě nejnovější verze NFS – 4 a 4.1, které lze použít ke studiu nejdůležitějších aspektů vývoje technologie NFS.

    Před příchodem NFSv4 bylo možné provádět úlohy správy souborů, jako je připojování, zamykání atd. existovaly speciální doplňkové protokoly. V NFSv4 byl proces správy souborů zjednodušen na jediný protokol; také od této verze se již UDP nepoužívá jako transportní protokol. NFSv4 zahrnuje podporu sémantiky přístupu k souborům v systémech UNIX a Windows®, což umožňuje NFS „přirozenou“ integraci do jiných operačních systémů.

    NFSv4.1 představil koncept paralelní NFS(paralelní NFS - pNFS). Pro zajištění vyšší úrovně škálovatelnosti implementuje NFSv4.1 architekturu, ve které data a metadata ( označení) jsou distribuovány mezi zařízeními stejným způsobem jako v clusterových souborových systémech. Jak je znázorněno v , pNFS rozděluje ekosystém na tři části: klienta, server a úložiště. V tomto případě se objeví dva kanály: jeden pro přenos dat a druhý pro přenos řídicích příkazů. pNFS odděluje data od metadat, která je popisují, a poskytuje dvoukanálovou architekturu. Když chce klient získat přístup k souboru, server mu odešle „značková“ metadata. Metadata obsahují informace o umístění souboru na úložných zařízeních. S těmito informacemi může klient přistupovat k úložišti přímo bez nutnosti interakce se serverem, což zlepšuje škálovatelnost a výkon. Když klient se souborem skončí, potvrdí změny provedené v souboru a jeho "označení". V případě potřeby si server může od klienta vyžádat značková metadata.

    S příchodem pNFS bylo do protokolu NFS přidáno několik nových operací na podporu tohoto mechanismu. Metoda LayoutGet se používá k získání metadat ze serveru, metoda LayoutReturn „uvolňuje“ metadata „zachycená“ klientem a metoda LayoutCommit načítá „rozvržení“ přijaté od klienta do úložiště, aby bylo dostupné ostatním. uživatelů. Server může odvolat metadata z klienta pomocí metody LayoutRecall. Značkovací metadata jsou distribuována na více úložných zařízeních, aby byl zajištěn paralelní přístup a vysoký výkon.


    Data a metadata jsou uložena na úložných zařízeních. Klienti mohou provádět přímé požadavky na vstup/výstup na základě přijatého označení a server NFSv4.1 ukládá a spravuje metadata. Tato funkce sama o sobě není nová, ale podpora byla přidána do pNFS různé metody přístup k úložným zařízením. Dnes pNFS podporuje použití blokových protokolů (Fibre Channel), objektových protokolů a samotného NFS (ani ve formě pNFS).

    Vývoj NFS pokračuje a v září 2010 byly zveřejněny požadavky na NFSv4.2. Některé z inovací souvisí s pozorovanou migrací úložných technologií směrem k virtualizaci. Například ve virtuálních prostředích s hypervizorem velmi pravděpodobně dochází k duplikaci dat (více operačních systémů čte/zapisuje a ukládá stejná data do mezipaměti). V tomto ohledu je žádoucí, aby úložný systém jako celek chápal, kde dochází k duplicitě. Tento přístup může pomoci ušetřit prostor mezipaměti klienta a celkovou kapacitu úložiště. V NFSv4.2 se k vyřešení tohoto problému navrhuje použít „mapu bloků umístěných v sdílení" (bloková mapa sdílených bloků). Od moderní systémy sklady jsou stále častěji vybaveny vlastními vnitřními výpočetní výkon, bylo zavedeno kopírování na straně serveru, aby se snížilo zatížení kopírování dat v interní síti, když je lze efektivně provádět na samotném úložném zařízení. Mezi další inovace patří ukládání do mezipaměti podsouborů pro flash a doporučení pro I/O na straně klienta (např. pomocí mapadvise).

    Alternativy k NFS

    Ačkoli je NFS nejoblíbenějším síťovým souborovým systémem v systémech UNIX a Linux, existují kromě něj i další síťové systémy souborů. Na platformě Windows® SMB, také známý jako CIFS; zatímco Windows také podporuje NFS, stejně jako Linux podporuje SMB.

    Ceph, jeden z nejnovějších distribuovaných souborových systémů podporovaných Linuxem, je od základu navržen jako souborový systém odolný proti chybám a kompatibilní s POSIX. Více informací o Cephu lze nalézt v .

    Další souborové systémy, které stojí za zmínku, jsou OpenAFS (Open Source verze Andrewova distribuovaného souborového systému vyvinutého Carnegie Mellon University a IBM Corporation), GlusterFS (univerzální distribuovaný souborový systém pro organizaci škálovatelného úložiště dat) a Luster (masivně paralelní síť souborový systém pro clusterová řešení). Všechny tyto otevřené systémy zdrojový kód lze použít k vytvoření distribuovaných úložišť.

    Závěr

    Vývoj souborového systému NFS pokračuje. Stejně jako operační systém Linux, vhodný pro podporu low-end, vestavěných a vysoce výkonných řešení, poskytuje NFS architekturu pro škálovatelná úložná řešení vhodná pro jednotlivce i organizace. Když se podíváme na cestu, kterou již NFS urazil a jak se bude dále vyvíjet, je jasné, že tento souborový systém bude i nadále měnit způsob, jakým přemýšlíme o tom, jak jsou implementovány a používány technologie ukládání souborů.

    Souborový systém NFS (Network File System) byl vytvořen společností Sun Microsystems. V současnosti je to standardní síťový souborový systém pro operační systémy UNIX a klienti a servery NFS jsou implementovány pro mnoho dalších operačních systémů. Principy jeho organizace jsou nyní standardizovány internetovou komunitou, nejnovější verzi NFS v.4 popisuje specifikace ZOY RFC, vydaná v prosinci 2000.

    NFS je systém, který podporuje schéma vzdáleného přístupu k souborům. Práce uživatele se vzdálenými soubory se po operaci připojení stává zcela transparentní – podstrom souborového systému serveru NFS se stává podstromem místního souborového systému.

    Jedním z cílů návrhu NFS byla podpora heterogenních systémů s klienty a servery s různými operačními systémy na různých hardwarových platformách. Tento cíl je usnadněn implementací NFS na základě mechanismu Sun RFC, který standardně podporuje XDR zařízení pro jednotnou reprezentaci argumentů vzdálené procedury.

    Aby byla zajištěna odolnost klienta vůči selhání serveru, používá NFS bezstavový přístup, to znamená, že při práci se soubory servery neukládají data o souborech otevřených klienty.

    Základní myšlenkou NFS je umožnit libovolné skupině uživatelů sdílet společný souborový systém. Nejčastěji všichni uživatelé patří do stejné lokální sítě, ale ne nutně. NFS můžete spustit globální síť. Každý server NFS zpřístupňuje jeden nebo více svých adresářů pro přístup vzdáleným klientům. Adresář je deklarován jako přístupný se všemi svými podadresáři. Seznam adresářů, které server předává, je obsažen v souboru /etc/exports, takže tyto adresáře jsou automaticky exportovány ihned po spuštění serveru. Klienti přistupují k exportovaným adresářům připojením. Mnoho pracovních stanic Sun je bez disku, ale i tak můžete připojit vzdálený souborový systém do kořenového adresáře s celým souborovým systémem umístěným na serveru. Spouštění programů je téměř nezávislé na tom, zda je soubor umístěn lokálně nebo na vzdáleném disku. Pokud dva nebo více klientů připojilo stejný adresář současně, mohou komunikovat rozdělením souboru.

    Souborový systém NFS využívá při své činnosti dva protokoly.

    První protokol NFS řídí připojení. Klient odešle na server celé jméno adresář a požádá o povolení připojit tento adresář někam do jeho vlastního adresářového stromu. V tomto případě server neurčuje, kam bude adresář serveru připojen. Po obdržení jména server zkontroluje oprávněnost tohoto požadavku a vrátí klientovi popisovač souboru, který je vzdáleným bodem připojení. Deskriptor zahrnuje deskriptor typu souborového systému, číslo disku, číslo inodu adresáře, který je vzdáleným bodem připojení, a informace o zabezpečení. Čtení a zápis souborů z připojených souborových systémů používá deskriptory souborů namísto symbolického jména.


    Montáž lze provést automaticky pomocí dávkové soubory při načítání. Existuje další možnost automatického připojování: když se operační systém zavede na pracovní stanici, vzdálený souborový systém se nepřipojí, ale při prvním otevření vzdálený soubor OS posílá požadavky na každý server a po nalezení tohoto souboru připojí adresář serveru, kde je nalezený soubor umístěn.

    Druhý protokol NFS se používá pro přístup ke vzdáleným souborům a adresářům. Klienti mohou odeslat požadavek na server, aby provedl nějakou akci s adresářem nebo četl nebo zapisoval soubor. Kromě toho mohou požadovat atributy souboru, jako je typ, velikost, čas vytvoření a úpravy. NFS podporuje většinu systémových volání UNIX, s výjimkou open a close. Výjimka otevřít a zavřít není náhodná. Namísto otevření vzdáleného souboru odešle klient serveru zprávu obsahující název souboru a požádá ho, aby jej vyhledal (vyhledání) a vrátí deskriptor souboru. Na rozdíl od otevřeného volání nekopíruje vyhledávací volání žádné informace do vnitřních systémových tabulek. Volání ke čtení obsahuje deskriptor souboru, který se má číst, offset in čitelný soubor a počet bajtů ke čtení. Výhodou tohoto schématu je, že si server nepamatuje nic o otevřených souborech. Tímto způsobem, pokud dojde k selhání serveru a poté je obnoven, informace o otevřeném souboru nebudou ztraceny, protože nejsou podporovány.

    Pokud server selže, klient jednoduše pokračuje v odesílání příkazů ke čtení nebo zápisu souborů na něj, avšak poté, co neobdržel odpověď a vypršel časový limit, klient své požadavky opakuje. Po restartu server obdrží další opakovaný požadavek od klienta a odpoví na něj. Zhroucení serveru tedy způsobí pouze mírnou pauzu v klientské službě, ale od klientů nejsou vyžadovány žádné další akce k obnovení připojení a opětovnému otevření souborů.

    Bohužel NFS ztěžuje zamykání souborů. V mnoha operačních systémech lze soubor otevřít a uzamknout, aby k němu jiné procesy neměly přístup. Po zavření souboru se zámek uvolní. V bezstavových systémech, jako je NFS, nelze zámek přiřadit k otevíranému souboru, protože server neví, který soubor je otevřen. Proto NFS vyžaduje speciální dodatečné finanční prostředky ovládání blokování.

    NFS používá mezipaměť na straně klienta, přenáší data do mezipaměti blok po bloku a používá předběžné načítání, při kterém po načtení bloku do mezipaměti na žádost aplikace vždy následuje načtení dalšího bloku z iniciativy systém. Metoda ukládání do mezipaměti NFS nezachovává sémantiku systému UNIX pro sdílení souborů. Místo toho používá tolik kritizovanou sémantiku, ve které jsou změny dat v souboru uloženém klientem viditelné pro jiného klienta v závislosti na načasování. Klient při příštím otevření souboru ve své mezipaměti zkontroluje u serveru, kdy byl soubor naposledy změněn. Pokud k tomu dojde po uložení souboru do mezipaměti, bude soubor z mezipaměti odstraněn a server jej přijme nová kopie soubor. Klienti šíří úpravy uložené v mezipaměti v 30sekundových intervalech, takže server může přijímat aktualizace s velkým zpožděním. V důsledku mechanismů šíření mezipaměti a změn nejsou data přijatá kterýmkoli klientem vždy nejnovější.

    Replikace na NFS není podporována.

    Adresářová služba

    Účel a principy organizace

    Stejně jako velká organizace potřebuje velká počítačová síť o sobě centrálně uchovávat co nejvíce referenčních informací. Řešení mnoha problémů v síti je založeno na informacích o uživatelích sítě - jejich jménech používaných pro logické přihlašování, heslech, přístupových právech k síťovým zdrojům a také o síťových zdrojích a komponentách: servery, klientské počítače, routery, brány, soubor systémové svazky, tiskárny atd.

    Zde jsou příklady nejdůležitějších úkolů, které vyžadují centralizovanou databázi referenčních informací v síti:

    • Jednou z nejčastěji prováděných úloh v systému na základě referenčních informací o uživatelích je jejich autentizace, na jejímž základě se následně provádí autorizace přístupu. Síť musí nějak centrálně ukládat uživatelské účty obsahující jména a hesla.
    • Přítomnost nějaké centralizované databáze vyžaduje podporu transparentního přístupu k mnoha síťovým zdrojům. Taková databáze by měla uchovávat názvy těchto zdrojů a mapovat názvy na číselné identifikátory (například IP adresy), které umožňují najít tento zdroj v síti. Transparentnost lze zajistit při přístupu k serverům, svazkům systému souborů, rozhraním procedur RPC, objektům distribuovaných aplikačních programů a mnoha dalším síťovým zdrojům.
    • E-mail je dalším oblíbeným příkladem služby pro jednu síť podpora A, které ukládá data jména uživatele.
    • V poslední době se v sítích stále častěji uplatňují nástroje pro řízení kvality služeb (QoS), které rovněž vyžadují informace o všech uživatelích a aplikacích systému, jejich požadavcích na kvalitu provozu parametrů služeb, jakož i o všech síťová zařízení, pomocí kterého můžete spravovat provoz (směrovače, přepínače, brány atd.).
    • Organizaci distribuovaných aplikací lze výrazně zjednodušit, pokud má síť databázi, která uchovává informace o dostupných softwarových modulech-objektech a jejich umístění na síťových serverech. Aplikace, která potřebuje provést nějakou standardní akci, zadá požadavek na takovou databázi a obdrží adresu programového objektu, který má schopnost požadovanou akci provést.
    • Systém správy sítě musí mít základ pro ukládání informací o topologii sítě a charakteristikách všech síťových prvků, jako jsou směrovače, přepínače, servery a klientské počítače. Dostupnost kompletní informace o složení sítě a jejích připojení umožňuje automatizovanému systému správy sítě správně identifikovat zprávy o mimořádných událostech a najít jejich hlavní příčinu. Informace o dostupném síťovém vybavení a nainstalovaném softwaru, organizované podle obchodní jednotky, jsou samy o sobě užitečné, protože pomáhají správcům získat spolehlivý obrázek o stavu sítě a vypracovat plány jejího rozvoje.

    V takových příkladech lze pokračovat, ale není těžké uvést protiargument, který zpochybňuje potřebu používat centralizovanou referenční databázi v síti – po dlouhou dobu fungovaly sítě bez jediné referenční databáze a mnoho sítí stále funguje bez to. Existuje skutečně mnoho privátních řešení, která umožňují efektivně organizovat provoz sítě na základě soukromých referenčních informačních bází, které mohou být reprezentovány běžnými textovými soubory nebo tabulkami uloženými v těle aplikace. UNIX například tradičně používá k ukládání uživatelských jmen a hesel soubor passwd, který pokrývá pouze uživatele na jednom počítači. Jména příjemců e-mailu lze také uložit místní soubor klientský počítač. A tak soukromé systémy pomoci fungují dobře - praxe to potvrzuje.

    Tato námitka však platí pouze pro sítě malých a středních velikostí, ve velkých sítích ztrácí jednotlivé lokální referenční databáze účinnost. Dobrým příkladem nepoužitelnosti lokálních řešení pro velké sítě je služba DNS jmen běžící na internetu. Jakmile velikost internetu přesáhla určitou hranici, přestalo být efektivní ukládat informace o shodě mezi názvy a IP adresami síťových počítačů v lokálních textových souborech. Bylo nutné vytvořit distribuovanou databázi podporovanou hierarchicky propojenými jmennými servery a centralizovanou službou nad touto databází, aby postupy rozlišení internetových symbolů fungovaly rychle a efektivně.

    Pro velkou síť je také neefektivní používat velké množství úzkoúčelových adresářových služeb: jednu pro autentizaci, druhou pro správu sítě, třetí pro řešení názvů počítačů atd. I když je každá z těchto služeb dobře organizovaná a kombinuje centralizované rozhraní s distribuovanou bází dat, velké množství adresářových služeb vede k duplikaci velkého množství informací a komplikuje správu a řízení sítě. Například Windows NT má alespoň pět různých typů referenčních databází. V hlavním adresáři domény (NT Domain Directory Service) jsou uloženy informace o uživatelích, které jsou vyžadovány při organizaci jejich logického přihlášení do sítě. Údaje o stejných uživatelích mohou být také obsaženy v jiném použitém adresáři e-mailem Microsoft Mail. Další tři databáze podporují rozlišení adres: WINS mapuje názvy Netbios na adresy IP, vyhledávání DNS (server názvů domén) je užitečné při připojování sítě NT k Internetu a nakonec vyhledávání DHCP se používá k automatickému přidělování IP adres počítačům na síť.. Je zřejmé, že tato rozmanitost služeb nápovědy komplikuje administrátorům život a vede k dalším chybám, když musí být pověření stejného uživatele zadána do několika databází. V nové verzi Windows 2000 proto může být mnoho informací nápovědy systému uloženo v Active Directory, jediné centralizované adresářové službě, která používá distribuovanou databázi a je integrována se službou DNS.

    Výsledkem vývoje systémů pro ukládání referenčních informací byl vznik v síťových operačních systémech speciální služby - tzv. adresářové služby (Directory Services), nazývané také referenční služba (adresář - adresář, adresář). Adresářová služba uchovává informace o všech uživatelích a síťových prostředcích ve formě sjednocených objektů s určitými atributy a také umožňuje reflektovat vztahy mezi uloženými objekty, jako je členství uživatele v určité skupině, uživatelská přístupová práva k počítačům, zařazení více uzlů v jedné podsíti, komunikační vazby mezi podsítěmi, produkční přidružení serverů atd. Adresářová služba umožňuje provádět s uloženými objekty sadu některých základních operací, jako je přidávání a mazání objektu včetně objektu v jiném objektu , změna hodnot atributů objektu, čtení atributů a některé další. Na adresářové službě jsou obvykle postaveny různé specifické síťové aplikace, které využívají informace o službě k řešení konkrétních problémů: správa sítě, ověřování uživatelů, transparentnost služeb a další výše uvedené. Adresářová služba je obvykle postavena na základě modelu klient-server: servery ukládají databázi referenčních informací, které klienti používají k přenosu příslušných požadavků na servery po síti. Klientovi adresářové služby se zdá, že jde o jediný centralizovaný systém, ačkoli většina dobrých adresářových služeb má distribuovanou strukturu, která zahrnuje mnoho serverů, ale tato struktura je pro klienty transparentní.

    Důležitou otázkou je organizace referenční databáze. Jediná databáze, která uchovává velké množství referenčních informací, představuje stejnou sadu problémů jako jakákoli jiná velká databáze. Implementace help desku jako lokální databáze uložené jako jediná kopie na jednom ze síťových serverů není pro velký systém vhodná z několika důvodů, a to především z důvodu nízkého výkonu a nízké spolehlivosti takového řešení. Výkon bude nízký kvůli tomu, že požadavky do databáze od všech uživatelů a aplikací sítě budou směřovat na jeden server, který při velkém počtu požadavků zcela jistě přestane zvládat jejich zpracování. To znamená, že takové řešení není dostatečně škálovatelné z hlediska počtu obsluhovaných uživatelů a sdílených zdrojů. Spolehlivost také nemůže být vysoká v systému s jedinou kopií dat. Kromě odstranění omezení výkonu a spolehlivosti je žádoucí, aby struktura databáze umožňovala logické seskupování zdrojů a uživatelů podle strukturálních divizí podniku a přiřazení správce pro každou takovou skupinu.

    Výzvy zachování výkonu a spolehlivosti při rozšiřování sítě obvykle řeší distribuované referenční databáze. Sdílení dat mezi více servery snižuje zatížení každého serveru a zároveň poskytuje spolehlivost tím, že má více replik každé části databáze. Ke každé části databáze lze přiřadit vlastního správce, který má přístupová práva pouze k objektům své části informací o celém systému. Pro uživatele (a pro síťové aplikace) je taková distribuovaná databáze reprezentována jedinou databází, která poskytuje přístup ke všem síťovým zdrojům bez ohledu na to, ze které pracovní stanice požadavek přišel.

    Existují dva populární standardy pro adresářové služby. Za prvé je to standard X.500 vyvinutý ITU-T (při vývoji standardu se tato organizace nazývala CCITT). Tento standard definuje funkce, organizaci helpdesku a protokol pro přístup k němu. Standard X.500, navržený primárně pro použití s ​​poštovní službou X.400, umožňuje efektivní ukládání jakýchkoli referenčních informací a slouží jako dobrý základ pro univerzální síťovou adresářovou službu.

    Dalším standardem je standard LDAP (Light-weight Directory Access Protocol) vyvinutý internetovou komunitou. Tento standard definuje zjednodušený protokol pro přístup k adresářové službě, protože služby postavené na standardu X.500 se ukázaly být příliš těžkopádné. Protokol LDAP se rozšířil a stal se de facto standardem jako protokol pro klientský přístup ke zdrojům helpdesku.

    Existuje také několik praktických implementací adresářových služeb pro síťové operační systémy. Největšího rozšíření se dočkala služba NDS společnosti Novell, vyvinutá v roce 1993 pro síťový operační systém NetWare 4.0 a nyní implementovaná také pro Windows NT/2000. Velkou zajímavostí je adresářová služba Active Directory vyvinutá společností Microsoft pro Windows 2000. Obě tyto služby podporují přístupový protokol LDAP a díky své distribuci mohou fungovat ve velmi rozsáhlých sítích.

    adresářová služba NDS

    NDS (NetWare Directory Services) je globální adresářová služba založená na distribuované objektově orientované databázi síťových zdrojů. Databáze NDS obsahuje informace o všech síťových prostředcích, včetně informací o uživatelích, skupinách uživatelů, tiskárnách, svazcích a počítačích. Operační systém NetWare (stejně jako ostatní klienti NDS běžící na jiných platformách) používá informace NDS k poskytování přístupu k těmto zdrojům.

    Databáze NDS nahradila adresář bindery předchozích verzí NetWare. Adresář vazební databáze je "plochá" nebo jednoúrovňová databáze navržená pro podporu jednoho serveru. Pro síťový zdroj také používal pojem „objekt“, ale výklad tohoto pojmu se lišil od obecně přijímaného. Objekty vazby byly identifikovány jednoduchými číselnými hodnotami a měly určité atributy. Pro tyto objekty však nebyly definovány žádné explicitní vztahy dědičnosti tříd objektů, takže vztah mezi objekty vazební databáze byl libovolně nastaven správcem, což často vedlo k porušení integrity dat.

    Databáze služeb NDS je víceúrovňová databáze, která uchovává informace o zdrojích všech serverů v síti. Pro kompatibilitu s předchozími verzemi NetWare poskytuje NDS mechanismus pro emulaci báze vazební databáze.

    NDS je významným vylepšením oproti předchozím verzím tím, že:

    • rozdělení;
    • replikace;
    • průhlednost;
    • globalita.

    Distribuce spočívá v tom, že informace nejsou uloženy na jednom serveru, ale jsou rozděleny do částí nazývaných oddíly. NetWare ukládá tyto oddíly na více serverech v síti (obrázek 10.8). Tato funkce výrazně zjednodušuje administraci a správu. velká síť, jak se správci jeví jako jeden systém. Navíc poskytuje více rychlý přístup do databáze síťových prostředků kontaktováním nejbližšího serveru.

    Rýže. 10.8. NDS databázové oblasti

    Replika je kopie informací o oddílu NDS. Můžete vytvořit neomezený počet replik každého oddílu a uložit je na různé servery. Pokud se jeden server zastaví, lze kopie těchto informací získat z jiného serveru. To zvyšuje odolnost systému, protože žádný server není zodpovědný za všechny informace o databázi NDS.

    Transparentnost spočívá v tom, že NDS automaticky vytváří propojení mezi softwarovými a hardwarovými komponentami, které uživateli poskytují přístup k síťovým zdrojům. NDS nevyžaduje, aby uživatel znal fyzické umístění těchto prostředků. ptát se síťový zdroj podle jména, získáte k němu správný přístup, i když jej změníte síťová adresa nebo umístění.

    Globální povaha NDS spočívá v tom, že po přihlášení získáte přístup ke zdrojům celé sítě, nikoli pouze jednoho serveru, jak tomu bylo v předchozí verze. Toho je dosaženo prostřednictvím postupu globálního přihlášení. Namísto přihlášení k samostatnému serveru se uživatel NDS přihlásí k síti a poté má přístup k síťovým prostředkům, které má povolen. Informace poskytnuté během přihlášení slouží k identifikaci uživatele. Později, když se uživatel pokusí získat přístup ke zdrojům, jako jsou servery, svazky nebo tiskárny, proces na pozadí autentizace kontroluje, zda má uživatel právo na daný zdroj.

    NFS ( Síťový souborový systém) je určen především ke sdílení soubory A složky mezi / Unix systémy od Sun Microsystems PROTI 1980. Umožňuje vám připojit místní souborové systémy přes síť a vzdáleným hostitelům s nimi komunikovat, jako by byly připojeny lokálně na stejném systému. Používáním NFS, můžeme nastavit sdílení souborů mezi Unix PROTI linux systém a linux pro systém Unix.

    Výhody NFS

    1. NFS vytváří místní přístup ke vzdáleným souborům.
    2. Využívá standardní architekturu klienta/server pro výměnu souborů mezi všemi počítači na základě * NIX.
    3. Používáním NFS není potřeba, aby oba stroje běžely na stejném OS.
    4. Používáním NFS můžeme přizpůsobit řešení centralizované úložiště.
    5. Uživatelé obdrží své data bez ohledu na jejich fyzické umístění.
    6. Automatický Aktualizace pro nové soubory.
    7. Novější verze NFS podporuje montáž acl, pseudo pod kořenem.
    8. Lze chránit firewally A Kerberos.

    Služby NFS

    Servis Systém V spuštěn. Serverový balíček NFS obsahuje tři nástroje, které jsou součástí balení portmap A nfs-utils.

    1. portmap: zobrazuje hovory uskutečněné z jiných počítačů na správnou službu RPC(není vyžadováno s NFSv4).
    2. nfs: převádí vzdálené požadavky Sdílení souborů na dotazy na místní souborový systém.
    3. rpc.mountd: tato služba je zodpovědná montáž A sesednout souborové systémy.

    Důležité konfigurační soubory pro NFS

    1. /etc/exports: jeho hlavní konfigurační soubor NFS, vše vyvezeno soubory A katalogy, které jsou definovány v tomto souboru a dále cílový NFS server.
    2. /etc/fstab: K montáži adresář NFS na vašem systému bez restartuje, musíme napsat /etc/fstab.
    3. /etc/sysconfig/nfs: Konfigurační soubor NFS ovládat který port RPC a další služby konkurzy.

    Nastavení a připojení NFS na linuxový server

    Chcete-li nastavit držák NFS, budeme potřebovat minimálně dvě auta linux/Unix. Zde v tomto tutoriálu použijeme dva servery.

    1. NFS server: nfsserver.example.ru s IP - 192.168.0.55
    2. NFS klient: nfsclient.example.ru s IP - 192.168.0.60

    Instalace serveru NFS a klienta NFS

    Potřebujeme nainstalovat balíčky NFS na našem NFS server a také autem NFS klient. Můžeme to nastavit pomocí „ “ ( červená čepice Linux) a instalační balíček “ apt-get” (Debian A ubuntu).

    # yum install nfs-utils nfs-utils-lib # yum install portmap (není vyžadováno s NFSv4) # apt-get install nfs-utils nfs-utils-lib

    Teď běž služby na obou strojích.

    # /etc/init.d/portmap start # /etc/init.d/nfs start # chkconfig --level 35 portmap on # chkconfig --level 35 nfs on

    Po instalaci balíčků a spuštění služeb na obou strojích musíme oba stroje nastavit pro sdílení souborů.

    Nastavení serveru NFS

    Nejprve nastavíme server NFS.

    Nastavení exportního adresáře

    # mkdir /nfsshare

    Nyní musíme napsat " /etc/exports" A restartovat služby, aby byl náš adresář sdílen v síti.

    # vi /etc/exports /nfsshare 192.168.0.60(rw,sync,no_root_squash)

    Ve výše uvedeném příkladu je adresář pod / s názvem " nfsshare“, aktuálně sdílené s IP klientem” 192.168.0.60 “ s privilegii čtení A evidence (RW), můžete také použít název hostitele klient místo toho IP ve výše uvedeném příkladu.

    Možnosti NFS

    Některé další možnosti, které můžeme použít v souborech “ /etc/exports“ pro sdílení souborů je následující.

    1. ro: S touto možností můžeme poskytnout přístup pouze pro čtení ke sdíleným souborům, tzn klienta pouze bude moci číst.
    2. rw: Tato možnost umožňuje klienta na server přístup pro oba čtení A evidence v rámci generálního adresáře.
    3. synchronizace: Synchronizace potvrdí požadavky na sdílený adresář až poté Změny byly spáchány.
    4. no_subtree_check: Tato možnost zabraňuje kontrole podstrom. Když je sdílený adresář podadresářem většího souborového systému, NFS provede kontrolu každého adresáře nad ním, aby zkontroloval jeho oprávnění a podrobnosti. Deaktivace ověřování podstrom může zlepšit spolehlivost NFS, ale snížit bezpečnost.
    5. no_root_squash: Tato fráze umožňuje vykořenit, připojit do konkrétní složky.

    Pro více možností s „ /etc/exports“, doporučuje se přečíst stránky průvodce pro vývozní.

    Konfigurace klienta NFS

    Po nastavení NFS-server, potřebujeme namontovat tento sdílený adresář nebo oddíl na klienta server.

    Připojení sdílených adresářů na klienta NFS

    Teď dál NFS klient, potřebujeme namontovat tento adresář pro místní přístup. K tomu musíme nejprve zjistit, jaké zdroje jsou dostupné na vzdáleném nebo NFS serveru.

    # showmount -e 192.168.0.55 Exportovat seznam pro 192.168.0.55: /nfsshare 192.168.0.60

    Připojení přístupného adresáře na NFS

    V následujících situacích namontovat Všeobecné NFS adresáře, můžeme použít následující příkaz mount.

    # mount -t nfs 192.168.0.55:/nfsshare /mnt/nfsshare

    Výše uvedený příkaz nastaví sdílený adresář na „ /mnt/nfsshare“ na klientském serveru. Můžete to otestovat pomocí následujícího příkazu.

    # montáž | grep nfs sunrpc na /var/lib/nfs/rpc_pipefs typ rpc_pipefs (rw) nfsd na /proc/fs/nfsd typ nfsd (rw) 192.168.0.55:/nfsshare na /mntw,addr5.5 (typ nfs)6

    Výše uvedený příkaz mount se připojí Sdílený adresář NFS na Klient NFS dočasně připojit adresář NFS neustále ve vašem systému bez ohledu na restarty musíme provést záznam v „ /etc/fstab“.

    #vi /etc/fstab

    Přidejte následující nový řádek Jak je ukázáno níže.

    192.168.0.55:/nfsshare /mnt výchozí nastavení nfs 0 0

    Testování chování instalace NFS

    Můžeme otestovat naše instalace NFS serveru vytvořením testovací soubor na straně serveru a zkontrolujte jeho existenci Klient NFS straně nebo naopak.

    nfsserver na straně serveru

    Vytvořili jsme nový textový soubor Se jménem" nfstest.txt“ v tomto sdíleném adresáři.

    # cat > /nfsshare/nfstest.txt Toto je testovací soubor pro testování fungování nastavení NFS serveru.

    Klientská strana nfsclient

    Přejděte do sdíleného adresáře na adrese klient-server a najdete sdílený soubor bez jakéhokoli ruční aktualizace nebo restart služby.

    # ll /mnt/nfsshare celkem 4 -rw-r--r-- 1 root root 61. září 21 21:44 nfstest.txt [e-mail chráněný]~]# cat /mnt/nfsshare/nfstest.txt Toto je testovací soubor pro testování fungování nastavení serveru NFS.

    Odebrání připojení NFS

    Pokud chceš sesednout tento sdílený adresář ze serveru po dokončení sdílení souborů můžete sesednout tento konkrétní adresář s příkazem " umount“. Viz tento příklad níže.

    [e-mail chráněný]~]# umount /mnt/nfsshare

    Můžete vidět, že připojení bylo odstraněno ze systému souborů.

    # df -h -F nfs

    Uvidíte, že tyto sdílené adresáře již nejsou k dispozici.

    Důležité příkazy pro NFS

    Něco víc důležité příkazy Pro NFS .

    1. showmount -e: Dostupné pořady sdílené objekty na místním počítači
    2. showmount -e : Seznam dostupných sdílené objekty na dálkový server
    3. showmount -d: Seznam všech podadresáře
    4. exportfs -v: Zobrazí seznam sdílených položek soubory A možnosti na serveru
    5. exportfs -a: Exportovat všechny dostupné objekty uvedené v /etc/exports, nebo jméno
    6. exportfs -u: Znovu exportujte všechny dostupné objekty uvedené v /etc/exports, nebo jméno
    7. exportfs -r: Aktualizace seznamu serverů po změně /etc/exports

    Všechno je to o připojení NFS v tuto chvíli si v případě zájmu můžete přečíst průvodce o . Nechte své