nfs網絡系統文件

      NFSNetwork FileSystem,基於RPC(Remote Procedure CallProtocol遠程過程調用協)實現。NFSTCP/IP協議集所提供的一種子協議,該協議可以實現LINUX/UNIX主機之間的文件共享,磁盤空間共享。它只用於LinuxUnix內核的操作系統進行共享。使用NFS網絡文件系統,可以將服務器的硬盤掛載到本地,就像操作本地計算機的硬盤一樣。
     NFS是基於UDP/IP協議的應用,其實現主要是採用遠程過程調用RPC機制,RPC提供了一組與機器、操作系統以及低層傳送協議無關的存取遠程文件的操作。 RPC採用了XDR的支持。XDR是一種與機器無關的數據描述編碼的協議,他以獨立與任意機器體系結構的格式對網上傳送的數據進行編碼和解碼,支持在異構系統之間數據的傳送。

安裝服務器端:
  1.安裝命令:yum install nfs-utils rpcbind
     nfs-utils 提供了NFS服務器程序和相應的管理工具。
     rpcbind   是一個管理RPC連接的程序,rpcbind服務NFS的動態端口分配守護進程,如果rpcbind服務不啓動,NFS就啓動不了的。
  2.配置NFS服務端,編輯/etc/exports文件:
         vim   /etc/exports
         設置共享目錄,例如:
            /home/nfsdir  *(rw)		#表示共享/home/nfsdir目錄,所有用戶都有讀寫權限。
            /home/share  192.168.0.100(rw,no_root_squash)  *(ro)	#

表示共享/home/share目錄,192.168.0.100有讀寫權限並且root用戶有完全管理訪問權限,其他機器僅有隻讀權限。
       配置文件的格式爲:
       [共享的目錄	[主機名或IP(參數,參數)]
       其中參數是可選的,當不指定參數時,nfs將使用默認選項。默認的共享選項是sync,ro,root_squash,no_delay       當主機名或IP地址爲空時,則代表共享給任意客戶機提供服務。
       當將同一目錄共享給多個客戶機,但對每個客戶機提供的權限不同時,可以這樣:
       [共享的目錄	[主機名1IP1(參數1,參數2)] 	[主機名2IP2(參數3,參數4)]
       下面是一些NFS共享的常用參數:
            ro  	只讀訪問
            rw  	讀寫訪問
            sync  	同步寫入資料到內存與硬盤中
            async  	資料會先暫存於內存中,而非直接寫入硬盤
            secure  	NFS通過1024以下的安全TCP/IP端口發送
            insecure  NFS通過1024以上的端口發送
            wdelay  	如果多個用戶要寫入NFS目錄,則歸組寫入(默認)
            no_wdelay 	如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。
            hide  	NFS共享目錄中不共享其子目錄
            no_hide  	共享NFS目錄的子目錄
            subtree_check  	如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認)
            no_subtree_check  和上面相對,不檢查父目錄權限
            all_squash  	共享文件的UIDGID映射匿名用戶anonymous,適合公用目錄。
            no_all_squash  	保留共享文件的UIDGID(默認)
            root_squash  	root用戶的所有請求映射成如anonymous用戶一樣的權限(默認)
            no_root_squash  	root用戶具有根目錄的完全管理訪問權限
            anonuid=xxx  	指定NFS服務器/etc/passwd文件中匿名用戶的UID
            anongid=xxx  	指定NFS服務器/etc/passwd文件中匿名用戶的GID    
3.exports文件修改後,使用以下命令,不需要重啓NFS服務,就可以重新掛載/etc/exports裏面的設定:
            exportfs  -arv
4.先啓動rpcbind服務:
     	    service  rpcbind  start
5.再啓動NFS服務:
            service  nfs  start
  	注:如果之前沒有先啓動portmap服務,那麼當啓動NFS服務時會停在Starting NFSdaemon:很長時間
6.設置nfsrcpbind開機自啓動:
     	    chkconfig --level 345 nfs on
     	    chkconfig --level 345 rcpbind on
客戶端安裝:
 1.安裝nfs-utilsrpcbind
       yum install nfs-utils  rpcbind
 2.啓動rcpbind服務
       service  rpcbind  start
       或者:/etc/init.d/rpcbind start
 3.設置開機啓動
       chkconfig --level 345 rcpbind on
 4.NFS服務端啓動成功後,客戶端可以利用showmount命令測試是否能連上服務端
       命令格式:showmount -e[hostname|IP]showmount命令需要安裝了nfs-utils件包纔有
       命令:showmount  -e  192.168.1.2
       顯示如下:
              /home/nfsdir *
              /home/share (everyone)
5.客戶端建立掛載的文件夾
        cd  /mnt
        mkdir  nfs
6.客戶端使用mount命令掛載NFS共享文件
       	mount -t nfs 192.168.1.2:/home/nfsdir   /mnt/nfs
       	命令格式:mount – t nfs  nfs服務器地址:目錄共享地址 本地掛載目錄點
7.客戶端可使用df命令,mount命令查看掛載情況:
    	mount
    	192.168.1.2:/home/share on /mnt/nfs2 type nfs(rw,addr=192.168.1.2)
8.客戶端卸載NFS文件命令:
        umount /mnt/nfs1
        umount /mnt/nfs2
9.開機默認掛載設置
        a.需要將NFS的共享目錄掛載信息寫入/etc/fstab/文件,以實現對NFS共享目錄的自動掛載。
         編輯/etc/fstab文件,在最後加入:
             192.168.1.2:/home/nfsdir /mnt/nfsdir nfsdefaults 0 0
        b.vi編輯/etc/rc.local文件,因爲在系統啓動過程中,完成初始化腳本的執行後,會執行這個腳本文件添加命令如下:
        #vi /etc/rc.local
         mount /dev/cdrom /media/cdrom
         後面掛載點可以自己選擇
10.查看當前主機RPC狀態:
       rpcinfo  -plocalhost

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章