PLD-doc/book/pl_book__uslugi/pl_uslugi__nfs.sec

qwiat cvs w pld-linux.org
Pon, 31 Paź 2005, 02:16:38 CET


Author: qwiat
Date: Mon Oct 31 02:16:35 2005
New Revision: 6506

Modified:
   PLD-doc/book/pl_book__uslugi/pl_uslugi__nfs.sec
Log:
- dodane info o grupie fileshare
- opisana wyhaszowana opcja --no-nfs-version 3
- zalecenie instalacji portmap na maszynie kliencie
- nieco wzbogacone opisy
- liczne poprawki jezykowe, kosmetyka
- nowe formatowanie kodu zrodlowego


Modified: PLD-doc/book/pl_book__uslugi/pl_uslugi__nfs.sec
==============================================================================
--- PLD-doc/book/pl_book__uslugi/pl_uslugi__nfs.sec	(original)
+++ PLD-doc/book/pl_book__uslugi/pl_uslugi__nfs.sec	Mon Oct 31 02:16:35 2005
@@ -2,204 +2,261 @@
 <section id="uslugi_nfs">
 	<title>NFS - Network File System</title>
 	<para>
-		NFS jest to usługa pozwalająca udostępniać zasoby dyskowe
-		komputerom w sieci. Serwer udostępnia katalog(i) klientom,
-		którzy mogą je podmontować i działać jak na lokalnym
-		systemie plików. Ponadto można z niego bootować stacje
-		bezdyskowe lub tworzyć rozproszone systemy plików. 
+		<productname>NFS</productname> jest to usługa pozwalająca
+		udostępniać zasoby dyskowe komputerom w sieci. Serwer
+		udostępnia katalog(i) klientom, którzy mogą je podmontować i
+		działać jak na lokalnym systemie plików. Ponadto można z niego
+		uruchamiać stacje bezdyskowe lub tworzyć rozproszone systemy plików. 
 	</para>
+	
+	
 	<section id="uslugi_nfs_serwer">
-	<title>Serwer</title>
-	<para>
-		Najpierw instalujemy wszystkie potrzebne rzeczy poleceniem: 
-	</para>
-	<screen># poldek -i nfs-utils portmap</screen>
-	<para>
-		Następnie ustawiamy podstawowe opcje serwera, zawarte w pliku
-		/etc/sysconfig/nfsd . Powinien on wyglądać podobnie : 
-	</para>
-	<screen># Set nice level for rpc.mountd, rpc.nfsd or knfsd
-SERVICE_RUN_NICE_LEVEL="+0"
+		<title>Serwer</title>
+		<para>
+			Najpierw instalujemy demona portmap (o ile nie jest już
+			zainstalowany) oraz demona NFS poleceniem: 
+		</para>
+		<screen># poldek -i portmap nfs-utils</screen>
+		<para>
+			Serwer NFS jest gotowy do pracy od razu po zainstalowaniu,
+			wystarczy jedynie uruchomić usługę <filename>portmap</filename>,
+			a następnie <filename>nfs</filename> (dokładnie w tej
+			kolejności). Teraz możemy przejść do konfiguracji udziałów
+			sieciowych. Do podstawowej pracy serwera nie ma potrzeby
+			konfigurowania czegokolwiek, w pozostałych wypadkach należy
+			przyjrzeć się plikowi <filename>/etc/sysconfig/nfsd</filename>,
+			który może wyglądać następująco: 
+		</para>
+<screen>SERVICE_RUN_NICE_LEVEL="+0"
+
+#RPCMOUNTOPTIONS="--no-nfs-version 3"
 
-# Customized setings for knfsd
-RPCMOUNTOPTIONS="--no-nfs-version 3"
 RPCNFSDCOUNT=8
 
-# Server type we are running, U for userland NFSD, K for knfsd
 NFSDTYPE=K</screen>
-	<itemizedlist>
-		<listitem>
-			<para><option>SERVICE_RUN_NICE_LEVEL</option></para>  
-			<para>ustala priorytet serwera</para>
-		</listitem>
-		<listitem>
-			<para><option>RPCNFSDCOUNT</option></para>  
-			<para>podaje liczbę instancji serwera, czyli ilu klientów może obsłużyć jednocześnie</para>
-		</listitem>
-		<listitem>
-			<para><option>NFSDTYPE</option></para>  
-			<para>podaje czy serwer ma pracować jako oddzielny demon czy w trybie jądra.</para>
-	</listitem>
-	</itemizedlist>
-	<para>
-		Mamy już wstępnie skonfigurowany serwer NFS, 
-		uruchamiamy usługę <filename>portmap</filename> i
-		<filename>nfs</filename> - dokładnie w tej kolejności.
-	</para>
+		<itemizedlist>
+			<listitem>
+				<para><option>SERVICE_RUN_NICE_LEVEL</option>
+				- ustala priorytet serwera</para>
+			</listitem>
+			<listitem>
+				<para><option>#RPCMOUNTOPTIONS="--no-nfs-version 3"</option>
+				- opcja dla jąder z serii 2.2, dla współczesnych
+				kerneli powinna być zakomentowana</para>
+			</listitem>
+			<listitem>
+				<para><option>RPCNFSDCOUNT</option> -
+				podaje liczbę instancji serwera, czyli ilu klientów
+				może obsłużyć jednocześnie</para>
+			</listitem>
+			<listitem>
+				<para><option>NFSDTYPE</option> - podaje czy serwer ma
+				pracować jako oddzielny demon (U), czy w trybie jądra (K).
+				Zalecane jest to drugie z rozwiązań, gdyż zapewnia
+				większą wydajność.</para>
+			</listitem>
+		</itemizedlist>
+		<para>
+			Modyfikacja pliku konfiguracji wymaga restartu uslugi.		
+		</para>
 	</section>
-
-
-	
 		
 				
 	<section id="uslugi_nfs_serwer_export">
-	<title>Udostępnianie</title>
-	<para>
-		Uruchomiliśmy serwer, teraz przyszedł czas na udostępnienie zasobów.
-		W pliku <filename>/etc/exports</filename> znajdują się udostępnione katalogi. Do pliku wpisujemy:
-	</para>
-	<screen>$katalog  $komputer1($opcja11,$opcja12) $komputer2($opcja21,$opcja22)</screen>
-	<itemizedlist>
-		<listitem>
-	<para>
-		$katalog - udostępniony katalog. Warto tutaj wspomnieć, że jeżeli udostępniamy dany katalog to nie możemy udostępnić w nowej regułce katalogu będącego jego ojcem jak i synem, jeżeli leżą na tym samym systemie plików. Udostępnianie partycji FAT, itp. też nie jest dobrym rozwiązaniem.
-</para></listitem>
-<listitem><para>
-		$komputer - IP lub nazwa komputera, któremu udostępniamy katalog. Można podać także całą sieć, wtedy zezwolimy wszystkim komputerom w sieci na przeglądanie i/lub zapisywanie do katalogu.
-</para></listitem>
-<listitem><para>
-		$opcje - tutaj możemy ustalić m.in. czy zasób ma być udostępniony tylko do odczytu, czy także do zapisu, oraz nałożyć inne ograniczenia. Wszystkie opcje opisane są w manualu (man exports).
-</para></listitem>
-</itemizedlist>
-	<para>
-		Oto przykładowe wpisy do <filename>/etc/exports</filename>:
-	</para>
-	<screen>/usr/local   192.168.0.1(ro) 192.168.0.2(rw)
+		<title>Udostępnianie</title>
+		<para>
+			Uruchomiliśmy serwer, teraz przyszedł czas na udostępnienie
+			zasobów. W pliku <filename>/etc/exports</filename> definiuje
+			się udostępniane katalogi, ich listę podajemy w postaci
+			wierszy, które mają następującą składnię:
+		</para>
+		<screen>$katalog  $klient1($opcja1,$opcja2,...)  $klient2($opcja1,$opcja2,...)</screen>
+		<itemizedlist>
+			<listitem>
+				<para>
+					$katalog - udostępniony katalog. Warto tutaj
+					wspomnieć, że jeżeli udostępniamy dany katalog
+					to nie możemy udostępnić w nowej regułce katalogu
+					będącego jego ojcem jak i synem, jeżeli leżą na
+					tym samym systemie plików. Udostępnianie partycji
+					FAT, itp. też nie jest dobrym rozwiązaniem.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					$klient - IP lub nazwa komputera, któremu
+					udostępniamy katalog. Można podać także całą
+					sieć, wtedy zezwolimy wszystkim komputerom w
+					sieci na przeglądanie i/lub zapisywanie do
+					katalogu.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					$opcje - tutaj możemy ustalić m.in. czy zasób
+					ma być udostępniony tylko do odczytu, czy także
+					do zapisu, oraz nałożyć inne ograniczenia.
+					Wszystkie opcje opisane są w manualu
+					(<command>man exports</command>).
+				</para>
+			</listitem>
+		</itemizedlist>
+		<para>
+			Oto przykładowe wpisy do <filename>/etc/exports</filename>:
+		</para>
+<screen>/srv/pub   192.168.0.1(ro) 192.168.0.2(rw)
 /home        192.168.0.0/255.255.255.0(rw)</screen>
-	<para>
-		Pomijając sensowność wpisów, to pierwszy daje prawo odczytu katalogu <filename>/usr/local</filename> komputerowi 192.168.0.1, i prawo odczytu i zapisu komputerowi 192.168.0.2. Drugi z kolei daje prawo zapisu do katalogu <filename>home</filename> komputerom z podsieci 192.168.0.0/24.
-	</para>
-	<para>
-		Jeżeli modyfikujemy <filename>/etc/exports</filename> w trakcie
-		pracy serwera to musimy poinformować demona żeby ponownie odczytał
-		plik konfiguracji. Przed tym możemy sprawdzić czy nasze
-		wpisy są poprawne:
-	</para>
-	
-	<screen># exportfs -v</screen>
-	<para>
-		Polecenie to wyświetli listę katalogów gotowych do wyeksportowania.
-		Jeśli któryś z udziałów nie jest wyświetlony, to prawdopodobnie
-		popełniliśmy jakiś błąd.
-	</para>
-	<para>
-		Jeśli jesteśmy pewni że chcemy udostępnić udziały NFS to wydajemy
-		polecenie:
-	</para>
-	<screen># exportfs -rv</screen>
+		<para>
+			Pomijając sensowność wpisów, pierwszy wiersz daje prawo
+			odczytu katalogu <filename>/srv/pub</filename> komputerowi
+			192.168.0.1 i prawo odczytu i zapisu komputerowi 192.168.0.2.
+			Drugi z kolei daje prawo zapisu do katalogu
+			<filename>/home</filename> komputerom z podsieci
+			192.168.0.0/24.
+			Jeżeli modyfikujemy <filename>/etc/exports</filename> w trakcie
+			pracy serwera to musimy poinformować demona, żeby ponownie odczytał
+			plik konfiguracji. Przed tym możemy sprawdzić czy nasze
+			wpisy są poprawne:
+		</para>
+		<screen># exportfs -v</screen>
+		<para>
+			Polecenie to wyświetli listę katalogów gotowych do wyeksportowania,
+			jeśli któryś z udziałów nie jest wyświetlony, to prawdopodobnie
+			popełniliśmy jakiś błąd w składni.
+			Gdy jesteśmy pewni, że chcemy udostępnić udziały NFS, to wydajemy
+			polecenie:
+		</para>
+		<screen># exportfs -rv</screen>
+		<para>
+			W PLD stworzono grupę systemową <literal>fileshare</literal>,
+			która ma prawo do modyfikowania konfiguracji udziałów
+			sieciowych (NFS i SMB), bez konieczności posiadania praw
+			root-a. Aby nadać użytkownikowi takie prawo wystarczy zapisać
+			go do tej grupy, opis zarządzania grupami użytkowników
+			opisano w <xref linkend="administracja_grupy" />.
+		</para>
 	</section>
 
 
 
 
-
-
-
 	<section id="uslugi_nfs_klient">
-	<title>Klient</title>
-	<para>
-		W PLD standardowo możemy podmontowywać zasoby po nfs-ie, 
-		nie potrzeba instalować żadnych dodatkowych pakietów.  
-	</para>
-    	<para>
-		Katalogi montujemy następująco:
-	</para>
-	<screen># mount serwer.net:/usr/local /usr/local -t nfs</screen>
-	<para>
-		<literal>serwer.net</literal> to numer IP bądź nazwa naszego serwera 
-		serwującego zasoby, a <filename>/usr/local</filename> nazwa udostępnionego katalogu 
-		na serwerze (wpisaliśmy go wcześniej do <filename>/etc/exports</filename>. 
-		Można podać jeszcze flagę <command>-o</command> a za nią podać potrzebne nam opcje
-		montowania. Jeżeli zauważysz, że mount niepokojąco długo się wykonuje, powinieneś
-		używać opcji <command>-o</command> z odpowiednimi parametrami, więcej o tym przeczytasz
-		w podrozdziale o dostrajaniu wydajności. 
-	</para>
-	<para>
-		Nic nie stoi na przeszkodzie abyśmy podłączali zasób przy starcie systemu. 
-		Robimy w tym celu wpis do <filename>/etc/fstab</filename>:
-	</para>
-	<screen>192.168.0.1:/usr/local  /usr/local   nfs      rw,hard,intr  0     0</screen>
-	<para>
-		Wpis wygląda znajomo, ale uwagę zwracają opcje <command>hard</command> i 
-		<command>intr</command>. Otóż <command>hard</command> oznacza, że programy korzystające 
-		z zasobów NFS w momencie awarii serwera zostaną zawieszone w oczekiwaniu na dostęp 
-		do danych i nie będzie możliwości ich odwieszenia w postaci polecenia <command>kill</command>, 
-		chyba, że dodamy opcję <command>intr</command> dzięki czemu będziemy mogli zabić dany proces. 
-		Zamiast <command>hard</command> możemy użyć opcji <command>soft</command>, 
-		jednak w przypadku awarii serwera NFS sygnalizuje błąd programom korzystającym z zasobów. 
-		Wadą tego rozwiązania jest to, że nie wszystkie programy potrafią poradzić sobie z takim 
-		komunikatem i może dojść do utraty danych. 
-	</para>
+		<title>Klient</title>
+		<para>
+			Konfigurację klienta rozpoczynamy od zainstalowania i uruchomienia 
+			usługi portmap. Teraz przyszedł czas na połączenie się z
+			zasobem NFS, w tym celu musimy go jedynie zamontować np.:
+		</para>
+		<screen># mount serwer.net:/srv/pub /mnt/net -t nfs</screen>
+		<para>
+			<literal>serwer.net</literal> to IP bądź nazwa naszego serwera,
+			<literal>/srv/pub</literal> jest przykładowym udostępnionym katalogiem 
+			na serwerze (wpisaliśmy go wcześniej do
+			<filename>/etc/exports</filename>). Katalog
+			<literal>/mnt/net</literal> to przykładowe miejsce podmontowania
+			zasobu.
+			Można użyć dodatkowo flagi <command>-o</command> a po niej
+			podać potrzebne nam opcje montowania. Pełną listę opcji
+			znajdziemy w podręczniku systemowym:
+			<command>man 5 nfs</command>.
+		</para>
+		<para>
+			Jeśli nic nie stoi na przeszkodzie abyśmy podłączali zasób przy
+			starcie systemu, to dodajemy wpis do
+			<filename>/etc/fstab</filename>:
+		</para>
+		<screen>192.168.0.1:/srv/pub  /mnt/net   nfs      rw,hard,intr  0     0</screen>
+		<para>
+			Wpis wygląda znajomo, ale uwagę zwracają opcje
+			<literal>hard</literal> i <literal>intr</literal>. Otóż
+			<literal>hard</literal> oznacza, że programy korzystające 
+			z zasobów NFS w momencie awarii serwera zostaną zawieszone
+			w oczekiwaniu na dostęp do danych i nie będzie możliwości
+			ich odwieszenia w postaci polecenia <command>kill</command>, 
+			chyba, że dodamy opcję <literal>intr</literal> dzięki czemu
+			będziemy mogli zabić dany proces. Zamiast
+			<literal>hard</literal> możemy użyć opcji <literal>soft</literal>, 
+			jednak w przypadku awarii serwera NFS sygnalizuje błąd
+			programom korzystającym z zasobów. Wadą tego rozwiązania
+			jest to, że nie wszystkie programy potrafią poradzić sobie
+			z takim komunikatem i może dojść do utraty danych. 
+		</para>
 	</section>
 
 
 	<section id="uslugi_nfs_serwer_bezpieczenstwo">
-	<title>Bezpieczeństwo serwera</title>
-	<para>
-		Musimy zadbać o bezpieczeństwo naszego serwera. 
-		Do tego służą pliki</para>
-	<para><filename>/etc/tcpd/hosts.allow</filename> i <filename>/etc/tcpd/hosts.deny</filename>
-	</para>
-	<para>
-		Najpierw blokujemy wszystkim dostęp do naszych usług wpisując 
-		do pliku pliku <filename>/etc/tcpd/hosts.deny</filename>:
-	</para>
-	<screen>portmap:ALL                                                                     
+		<title>Bezpieczeństwo serwera</title>
+		<para>
+			Musimy zadbać o bezpieczeństwo naszego serwera, podstawowym
+			sposobem zabezpieczania zasobu jest ograniczenie dostępu.
+			Możemy go ograniczać za pomocą ustawień w pliku
+			<filename>/etc/exports</filename>, za pomocą filtra
+			pakietów lub plików <filename>/etc/tcpd/hosts.allow</filename>
+			i <filename>/etc/tcpd/hosts.deny</filename>, co zostało
+			przedstawione poniżej.
+		</para>
+		<para>
+			Najpierw blokujemy wszystkim dostęp do naszych usług wpisując 
+			do pliku pliku <filename>/etc/tcpd/hosts.deny</filename>:
+		</para>
+<screen>portmap:ALL                                                                     
 lockd:ALL                                                                       
 mountd:ALL                                                                      
 rquotad:ALL                                                                     
 statd:ALL</screen>	
-	<para>
-		Następnie w <filename>/etc/tcpd/hosts.allow</filename> wpisujemy komputery, 
-		którym zezwalamy na korzystanie z wymienionych usług. 
-		Możemy zarówno wpisać adresy IP komputerów jak i całą podsieć.
-	</para>
-	<screen>portmap: 192.168.0.0/255.255.255.0                                              
+		<para>
+			Następnie w <filename>/etc/tcpd/hosts.allow</filename>
+			wpisujemy komputery, którym zezwalamy na korzystanie z
+			wymienionych usług. Możemy zarówno wpisać adresy IP
+			komputerów jak i całą podsieć.
+		</para>
+<screen>portmap: 192.168.0.0/255.255.255.0                                              
 lockd: 192.168.0.0/255.255.255.0                                                
 rquotad: 192.168.0.0/255.255.255.0                                              
 mountd: 192.168.0.0/255.255.255.0                                               
 statd: 192.168.0.0/255.255.255.0</screen>
+		<para>
+			NFS nie obsługuje autoryzacji na poziomie użytkownika, a
+			jedynie na poziomie hosta. Z tego względu nie bardzo nadaje
+			się do udostępniania w Internecie, jeśli to tylko możliwe
+			lepiej użyć protokołu FTP lub WebDAV.
+		</para>
 	</section>
 
 
 	<section id="uslugi_nfs_wydajnosc">
-	<title>Dostrajanie wydajności</title>
-	<para>
-		Wolne działanie protokołu NFS wskazuje przeważnie na brak odpowiedniego dostrojenia połączenia,
-		wystarczy ustawić kilka opcji by uzyskać zaskakująco duży wzrost wydajności.
-		Podane poniżej zalecenia dotyczą konfiguracji klienta.
-	</para>
-	<para>
-		Na początek zajmiemy się opcjami <emphasis>rsize</emphasis> i <emphasis>wsize</emphasis>.
-		Dzięki nim możemy zwiększyć szybkość odczytu i zapisu plików na serwer. Manual systemowy
-		radzi by ustawić im na wartości: <emphasis>rsize=8192</emphasis> i
-		<emphasis>wsize=8192</emphasis>. Linijka w pliku 
-		<filename>/etc/fstab</filename> będzie wyglądać teraz następująco:
-	</para>
-	<screen>192.168.0.1:/usr/local  /usr/local   nfs      rw,hard,intr,rsize=8192,wsize=8192  0     0</screen>	
-	<para>	
-		Domyślnie NFS działa w oparciu o protokół UDP, doświadczenie pokazuje jednak, że przełączenie
-		w tryb TCP wyraźnie zwiększa szybkość przesyłu danych. Niestety nie każdy serwer NFS obsługuje
-		połączenia TCP, więc nie wszędzie możemy użyć tej opcji. Na szczęście PLD zawiera
-		demona pozwalającego na używanie TCP. Aby włączyć tą opcję do linijki w pliku
-		<filename>/etc/fstab</filename> dodajemy wpis
-		<emphasis>"tcp"</emphasis> np.:
-	</para>
-	<screen>192.168.0.1:/usr/local  /usr/local   nfs      rw,hard,intr,tcp  0     0</screen>		
-	<para>
-		W przypadku protokołu NFS należy trochę eksperymentować z ustawieniami, na początek dobrym pomysłem może
-		być użycie obu powyższych wskazówek. Więcej o dostrajaniu NFS-a można odnaleźć w podręczniku
-		systemowym.
-	</para>	
+		<title>Dostrajanie wydajności</title>
+		<para>
+			Wolne działanie protokołu NFS wskazuje przeważnie na brak
+			odpowiedniego dostrojenia połączenia, wystarczy ustawić kilka
+			opcji by uzyskać zaskakująco duży wzrost wydajności.
+			Podane poniżej zalecenia dotyczą konfiguracji klienta.
+		</para>
+		<para>
+			Na początek zajmiemy się opcjami <literal>rsize</literal>
+			i <literal>wsize</literal>. Dzięki nim możemy zwiększyć
+			szybkość odczytu i zapisu plików na serwer. Manual systemowy
+			radzi by ustawić im na wartości: <literal>rsize=8192</literal> i
+			<literal>wsize=8192</literal>. Linijka w pliku 
+			<filename>/etc/fstab</filename> będzie wyglądać teraz następująco:
+		</para>
+		<screen>192.168.0.1:/usr/local  /usr/local   nfs      rw,hard,intr,rsize=8192,wsize=8192  0     0</screen>	
+		<para>	
+			Domyślnie NFS działa w oparciu o protokół UDP, doświadczenie
+			pokazuje jednak, że przełączenie w tryb TCP może w niektórych
+			wypadkach zwiększyć szybkość przesyłu danych. Niestety nie każdy
+			serwer NFS obsługuje połączenia TCP, więc nie wszędzie możemy
+			użyć tej opcji. Na szczęście PLD zawiera demona pozwalającego na
+			używanie TCP. Aby włączyć tą opcję do linijki w pliku
+			<filename>/etc/fstab</filename> dodajemy wpis
+			<literal>tcp</literal> np.:
+		</para>
+		<screen>192.168.0.1:/usr/local  /usr/local   nfs      rw,hard,intr,tcp  0     0</screen>		
+		<para>
+			W przypadku protokołu NFS należy trochę eksperymentować z
+			ustawieniami, na początek dobrym pomysłem może być użycie obu
+			powyższych wskazówek. Więcej o dostrajaniu NFS-a można
+			odnaleźć w podręczniku systemowym.
+		</para>	
 	</section>
 </section>



Więcej informacji o liście dyskusyjnej pld-doc