(vzdálené volání procedur)
Protokol vyvinutý firmou Sun, který definuje nezávislý způsob, jimž mezi sebou mohou komunikovat procesy po síti.
Tohoto protokolu využívá především NFS.
rpc.portmap
zajišťuje svázání jednotlivých služeb RPC s příslušnými TCP nebo UDP porty. Protože jsou porty pro RPC služby alokovány dynamicky, neexistuje jednoznačná korespondence mezi službou a TCP nebo UDP portem, na kterém daná služba běží. RPC klient se tedy před zahájením každé komunikace spojí se službou rpc.portmap
na daném serveru a od ní získá na základě čísla serveru informaci o portu, na kterém je tento server aktuálně dostupný.
Ke správné funkci RPC služeb je tedy potřeba, aby se jako první spustila služba rpc.portmap
a teprve potom ostatní služby.
RPC jako přenosový protokol používá bud UDP nebo TCP. Systém NFS původně používal protokol UDP, který v 80. letech poskytoval na sítích a tehdejších počítačích nejvyšší výkon. Protokol UDP i NFS postrádají algoritmy pro řešení špiček, které jsou nezbytné k dosažení dobého výkonu na velkých sítích. Vývoj hardware se posunul kupředu, a proto se s NFS používá většinou protokolu TCP, který i přes vyšší režii nabízí vyšší výkon.
(síťový souborový systém)
Bezstavový protokol vyvinutý společností Sun pro sdílení informací mezi počítači.
Původně byl implementován jako náhradní systém pro bezdiskové stanice, ale ukázal se jako dobré řešení pro obecné sdílení souborů.
Systém NFS se skládá z několika složek, včetně protokolu a serveru pro připojování svazků a démonů řídících základní souborové služby.
Některé části jsou přímo zakompilovány v jádře.
První veřejnou verzí NFS byla verze 2 vydaná v roce 1989. Jednalo se o jednoduchý bezstavový protokol se zamykáním implementovaným vně protokolu.
Na počátku 90. let bylo do protokolu implementováno množství změn aby v roce 1995 vznikl protokol verze 3. Hlavními vylepšeními této verze je podstatné zvýšení výkonu a podpora souborů větších než 4GB.
V roce 2000 byla vydána zatím poslední verze - verze 4. Tato verze obsahuje další vylepšení výkonu a vylepšuje bezpečnost. Bezpečnost byla největším problémem předchozích verzí, jednalo se o daň za jednoduchost. Verze 4 je již stavovým protokolem.
Když server poskytne adresář ostatním počítačům, říkáme, že adresář "exportoval". O poskytováni NFS služeb se stará 5 démonů:
V souboru /etc/exports se definují jednotky, které se budou sdílet a jak budou sdíleny. Typicý záznam v tomto souboru by mohl vypadat takto:
directory machine1(option11,option12) machine2(option21,option22)
Ukázka:
/usr/local 192.168.0.1(ro) 192.168.0.2(ro) /home 192.168.0.1(rw) 192.168.0.2(rw)Pro zvýšení bezpečnosti se vřele doporučuje nastavit soubory /etc/hosts.allow a /etc/hosts.deny.
Vzdálené souborové systémy se připojují obdobně jako ty lokální. Stačí pouze příkazu mount předat adresu ve tvaru server:adresář. Souborový NFS systém musí být však správně exportován. Pro kontrolu exportovaných souborových systému je možno použít příkaz:
showmount -e serverKde "server" je adresa serveru.
Příkazu mount lze nastavit mnoho voleb pro připojení. Seznam těch nejdůležitějších:
mount -o rw,hard,bg erigona:/home/xsteuer /erigona/home/xsteuerPro připojení při startu systému lze nastavit /etc/fstab.
# device mountpoint fs-type options dump server.domena:/export /mnt/nfs nfs rw,hard,intr 0 0
Automount je démon, který automaticky připojuje souborové systémy, když se na ně přistupuje, a odpojuje je, pokud už nejsou potřebné. Tím existuje v systému méně aktivních přípojných bodů. Většina automounterů poskytuje navíc ještě další výhody oproto klasickému připojování přes fstab. Například při připojování svazků NFS lze definovat seznam replikovaných souborových systémů, takže síť může pokračovat v práci, i když je primární server nedostupný.
Nastavení Automountu se provádí v konfiguračním souboru /etc/auto.master, kde se definují přípojné body. Startovací skript /etc/init.d/autofs parsuje tento soubor a pro každý přípojný bod spouští jednu instanci procesu automount.
Soubor auto.master spojuje přípojný bod s "mapou". Mapa překládá název adresáře, který uživatel otvírá - říká se mu "klíč" - na příkazový řádek, který může příkaz mount využít k provedení vlastního připojení. Mapa může být textový soubor, spustitelný program nebo LDAP databáze. Když uživatel otevírá adresář, který spravuje automount, automount zjistí který souborový systém se má připojit tak, že se zeptá mapového souboru nebo spustitelného programu.
/directory /etc/mapa.map -secure,hard,bg,intr
Mapové soubory automaticky připojují několik souborových systémů do jednoho adresáře.
users server:/home/users devel server2:/develPrvní sloupec pojmenovává podadresář, do kterého by se měl souborový systém připojit a ve druhém sloupci jsou definovány připojovací parametry a zdrojová cesta k souborovému systému. Mapový soubor nedefinuje pod který adresář se budou souborové systémy připojovat, to je definováno v auto.master.
Program amd se snaží vyřešit některé nedostatky automountu. Amd neobsahuje žádný proprietární zdrojový kód. V pravidelných intervalech zjišťuje, které servery jsou dostupné a udržuje jejich seznam. Na základě těchto informací připojuje, odpojuje a nahrazuje souborové systémy. Syntaxe map je obecnější než u programu automount.
Položky map mohou používat podmíněné výrazy, jež položky aktivují jen v určitých kontextech. Podmíněné výrazy používají vestavěné "rozhodovací proměnné", naplněné různými informacemi o prostředí, v němž amd běží. Vybrané rozhodovací proměnné:
/default opts:=rw,soft usr/man host==erigona;type=ufs;dev:=/dev/sdlf \ host!=erigona;rhost= erigona;rfs:=/${ key};type=nfs;fs:=${ autodir} /${ key}
Přípojné body a mapy se určují na příkazovém řádku příkazu amd.
amd /dir1 file1.map /dir2 file2.map ....