天天看點

NFS

nfs(network file system)

nfs允許一個系統在網絡上與它人共享目錄和檔案。通過使用nfs,使用者和程式可以象通路本地檔案一樣通路遠

端系統上的檔案。

優點:

    本地工作站使用更少的磁盤空間,因為通常的資料可以存放在一台機器上而且可以通過網絡通路到。

     使用者不必在每個網絡上機器裡頭都有一個home目錄。home目錄 可以被放在nfs伺服器上并且在網絡上處處

可用。

     諸如軟驅,cdrom,和 zip? 之類的儲存設備可以在網絡上面被别的機器使用。這可以減少整個網絡上的

可移動媒體裝置的數量。

配置:(依然建議在selinux關閉下做實驗。)

軟體包:nfs-utils  portmap

安裝:yum install -y  nfs-utils portmap

守護程序: rpc.nfsd 、rpc.lockd、rpciod、rpc.mountd、rpc.rquotad、rpc.startd

rpc.nfsd:它是基本的nfs守護程序,主要功能是管理用戶端是否能夠登入伺服器

rpc.mountd:它是rpc安裝守護程序,主要功能是管理nfs的檔案系統。當用戶端順利通過rpc.nfsd登入nfs服務

後,在使用nfs服務所提供的文憑前,還必須通過檔案使用權限的驗證。它會讀取nfs的配置檔案/etc/exports

來對比用戶端權限。

portmap:portmap的主要功能是進行端口映射工作。當用戶端嘗試連接配接并使用rpc伺服器提供的服務(如nfs服

務)時,portmap會将所管理的與服務對應的端口提供給用戶端,進而使客戶可以通過該端口向伺服器請求服務

(這三個服務程序是運作nfs伺服器所必須的服務。)

腳本:/etc/init.d/nfs 、/etc/init.d/nfslock(這個檔案是nfs的主要配置檔案,不過系統并沒有預設值,所

以這個檔案不一定會存在,可能要使用vim手動建立,然後在檔案裡面寫入配置内容。)

端口:2049(nfsd) ,其他端口portmap(111)配置設定

配置檔案:/etc/exports  、/etc/sysconfig/nfs

校驗服務是否運作:

    rpcinfo -p

    service portmap  status

    service nfs    status

啟動服務  

    service nfs  start

停止服務

    service  nfs  stop

重新開機服務

    service nfs   restart

當修改了/etc/exports檔案後,

exportfs -r 指令會重新整理伺服器的共享清單

exportfs -v 指令會顯示伺服器上的共享目錄和選項清單

exportfs -a 指令會導出/etc/exports中列出的所有共享或者以參數命名的共享

exportfs -u 指令會取消導出以參數命名的共享;

顯示主機的nfs伺服器資訊:showmouont [nfs伺服器主機位址]

顯示nfs伺服器的輸出清單:showmount –e [nfs伺服器主機位址]

顯示nfs伺服器中被挂載的共享目錄:showmount –d [nfs伺服器主機位址]

顯示nfs伺服器的客戶機與被挂載的目錄:showmount –a [nfs伺服器主機位址]

nfs伺服器

在/etc/exports檔案中定義導出目錄

每個條目都指定檔案系統被導出到的主機,以及相關的權限和選項

例如:

/var/ftp/pub                    *.example(ro,sync) bigserver.redhat.com(rw,sync)

/root/presentations             server2.example.com(rw,sync)

/data                           192.168.10.0/255.255.255.0(sync)

   每個條目指定一個導出的目錄和他的通路權限。可以指定一對或多對主機/權限,但是不能将條目分成若幹

行。主機名可以包含通配符,如上所示。也可用通配符來比對主機名或域名:station1*将與station1、

station2、station11等等比對;*.example.com将與station1.example.com等等比對。

   主機的ip位址可以被單獨指定,也可以是網絡/子網路遮罩格式。預設情況下,/etc/exports中的條目以隻讀

形式導出。

    選項和主機之間必須不能使用空格間隔。

指定的選項有以下幾種:

ro:隻讀通路

rw:讀寫通路

sync:所有資料在請求時寫入共享

async:nfs在寫入資料前可以相應請求

all_squash:共享檔案的uid和gid映射匿名使用者anonymous,适合公用目錄。

no_all_squash:保留共享檔案的uid和gid(預設)

root_squash:root使用者的所有請求映射成如anonymous使用者一樣的權限(預設)

no_root_squas:root使用者具有根目錄的完全管理通路權限

用于防火牆的端口選項

   要在nfs中使用防火牆,必須使用通常有portmap配置設定的端口的伺服器使用靜态端口。這些服務包括:mountd

、statd和lockd守護程序。

   nfs腳本在/etc/sysconfig/nfs檔案中查找在啟動守護程序是使用的選項。mountd_port、statd_port、

rquotad_port、statd_outing_port、lockd_tcpport和lockd_udpport變量都可以使用強制這些選項守護程序在

指定的端口啟動。該檔案預設安裝中可能不存在,可以自行建立即可。

用戶端nfs

   用/etc/fstab檔案指定網絡挂載目錄

   或者直接用mount 指令 挂載即可

   如:mount -t nfs -o -w=1024 192.168.0.170:/sharedfs /project

用戶端nfs自動挂載

  方法一,/etc/fstab

netfs服務會使用檔案/etc/fstab作為參考, 是以像nfs共享的會被自動執行。

如下是一個/etc/fstab中的挂載nfs的一條記錄。

        server1.example.com:/share/directory /mnt/share nfs defaults 0 0

方法二, autofs 服務:

使用/etc/fstab的一個缺點是:不管使用者通路nfs的次數和時間,系統總是會使用資源來維護這個nfs挂載。雖

然對于一兩個nfs挂載的時候這不是問題,但是如果系統在維護很多nfs挂載的時候,系統性能會受到影響,一

個替代方法就是使用基于kernel的自動挂載工具:他可以在需要的時候自動的挂載nfs。

autofs 服務會根據/etc/auto.master檔案來控制自動挂載指令:automount的指令可以更加友善的指定挂載點

,主機名, 輸出目錄等等。

autofs的配置檔案以父-子關系來組織,主配置檔案(/etc/auto.master) 列出了所有的挂載點,然後他會連接配接

到一個特定的映射類型, 這個類型可以是配置檔案,程式, nis映射或者其他挂載方式,auto.master檔案包含

了如下内容。

    <mount-point> <map-type> <mount-point>用于指定本地挂載點,<map-type>指定如何挂載,最通常的nfs

挂載做法是使用一個檔案,這個檔案通常命名成auto.<mount-point>, <mount-point>是在auto.master指定的

挂載點,一個nfs類型的auto.<mount-point>的内容如下:

    </local/directory> -<options> <server>:</remote/export> 使用本地挂載點替換

</local/directory;> ,該目錄必須手動建立。

可以使用nfs的選項替換 <options> ,多個選項之間使用“,”分開,如果需要更多的資訊檢視man fstab. 确

定在options清單前使用了符号"-"。

使用你的nfs伺服器替換如上的 <server> ,

使用nfs伺服器的輸出路徑替換如上的 </remote/export> .

可以使用nfs的選項替換 <options>

autofs配置檔案可以用于很多中挂載方式和不同的檔案系統上,特使是在nfs的挂載上特别有用,舉例來說,有

些機關把所有的/home目錄集中于一台nfs伺服器上, 然後在每個節點上配置auto.master指向auto.home,使得

每個節點都可以通過autofs挂載/home目錄。所有的使用者都可以在任何一台工作站上通路自己/home/下的的數

據和配置檔案,該案中的auto.master看起來會像如下所示。

    /home /etc/auto.home 這個檔案設定了/home/挂載點被配置到了/etc/auto.home檔案上,auto.home看起

來應該如下:

    * -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp server.example.com

例如操作步驟:

     1、vim /etc/auto.master

        /mnt   /etc/zuto.shared

     2、vim /etc/auto.shared

        shared     -soft,intr,rw    192.168.0.170:/shared

        *          -soft,intr,rw    192.168.0.170:/shared/&

  重新開機服務即可。

繼續閱讀