Linux系統NFS服務實戰


NFS(Network File System)即網絡文件系統

一、RPC的功能:
記錄每一個NFS功能所對應端口號,而且在NFS客戶端請求時將該端口和功能對應的信息傳遞給請求數據的NFS客戶端,從而能夠確保客戶端能夠鏈接到正確的NFS端口上去,達到實現數據傳輸交互數據的目的。
二、啓動原理:
    1)服務端啓動rpc服務(5:portmap,6:rpcbind)
    2)服務端啓動nfs服務,並向rpc服務註冊
    3)客戶端請求服務
    4)服務端rpc服務返回端口給客戶端rpc服務
    5)開始傳輸數據
三、實戰
    1)實戰準備
        操做系統:vim

        版本:
bash

        CentOS 6.6  2.6.32-504.el6.x86_64網絡

        IP地址:
app

        nfs_server:    IP:192.168.1.12
        nfs_client:    IP:192.168.1.13
    2)服務端、客戶端安裝軟件
tcp

        服務端
        [root@nfs_server ~]# yum install -y rpcbind nfs-utils
        客戶端
        [root@nfs_client ~]# yum install -y rpcbind nfs-utils

    3)啓動服務端
ide

        #啓動prc服務
        [root@nfs_server ~]# /etc/init.d/rpcbind start
        Starting rpcbind:                                          [  OK  ]
        #進程查看rpc服務
        [root@nfs_server ~]# ps -ef|grep rpcbind|grep -v grep
        rpc        1145      1  0 12:46 ?        00:00:00 rpcbind
        #查看rpc服務狀態
        [root@nfs_server ~]# /etc/init.d/rpcbind status
        rpcbind (pid  1145) is running...
        #查看rpc對外服務
        [root@nfs_server ~]# rpcinfo -p localhost
        program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        
        ###rpc服務中止後,rpc對外服務的報錯信息    
        #[root@nfs_server ~]# /etc/init.d/rpcbind stop
        #Stopping rpcbind:                                          [  OK  ]                
        #[root@nfs_server ~]# rpcinfo -p localhost        
        #rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused                 
        
        #啓動NFS服務
        [root@nfs_server ~]# /etc/init.d/nfs start
        Starting NFS services:                                     [  OK  ]
        Starting NFS quotas:                                       [  OK  ]
        Starting NFS mountd:                                       [  OK  ]
        Starting NFS daemon:                                       [  OK  ]
        Starting RPC idmapd:                                       [  OK  ]
        #再次查看對外服務信息,這時nfs服務已經在rpc服務中註冊
        [root@nfs_server ~]# rpcinfo -p localhost
        program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100011    1   udp    875  rquotad
        100011    2   udp    875  rquotad
        100011    1   tcp    875  rquotad
        100011    2   tcp    875  rquotad
        100005    1   udp  54673  mountd
        100005    1   tcp  59044  mountd
        100005    2   udp  40168  mountd
        100005    2   tcp  47027  mountd
        100005    3   udp  34129  mountd
        100005    3   tcp  38298  mountd
        100003    2   tcp   2049  nfs
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100227    2   tcp   2049  nfs_acl
        100227    3   tcp   2049  nfs_acl
        100003    2   udp   2049  nfs
        100003    3   udp   2049  nfs
        100003    4   udp   2049  nfs
        100227    2   udp   2049  nfs_acl
        100227    3   udp   2049  nfs_acl
        100021    1   udp  60276  nlockmgr
        100021    3   udp  60276  nlockmgr
        100021    4   udp  60276  nlockmgr
        100021    1   tcp  41624  nlockmgr
        100021    3   tcp  41624  nlockmgr
        100021    4   tcp  41624  nlockmgr
        #添加開機自啓動服務,及檢查
        [root@nfs_server ~]# chkconfig nfs on
        [root@nfs_server ~]# chkconfig rpcbind on
        [root@nfs_server ~]# chkconfig --list nfs
        nfs                0:off    1:off    2:on    3:on    4:on    5:on    6:off
        [root@nfs_server ~]# chkconfig --list rpcbind
        rpcbind            0:off    1:off    2:on    3:on    4:on    5:on    6:off

    4)啓動客戶端
測試

        客戶端只要啓動RPC服務便可
        [root@nfs_client ~]# /etc/init.d/rpcbind start
        Starting rpcbind:                                          [  OK  ]
        [root@nfs_client ~]# /etc/init.d/rpcbind status
        rpcbind (pid  1266) is running...
        [root@nfs_client ~]# chkconfig rpcbind on
        [root@nfs_client ~]# chkconfig --list rpcbind
        rpcbind            0:off    1:off    2:on    3:on    4:on    5:on    6:off

    5)配置服務端
ui

        #默認配置文件是空的
        [root@nfs_server ~]# cat /etc/exports 
        #建立共享目錄
        [root@nfs_server ~]# mkdir /data
        #編輯配置文件
        [root@nfs_server data]# vim /etc/exports 
        [root@nfs_server data]# cat /etc/exports 
        #share data for bbs by king 20150708
        /data    192.168.1.0/24(rw,sync)
        #從新加載服務,即平滑重啓
        [root@nfs_server data]# /etc/init.d/nfs reload
        #在服務端檢查服務是否正常共享
        [root@nfs_server data]# showmount -e localhost
        Export list for localhost:
        /data 192.168.1.0/24

    6)配置客戶端
操作系統

        #在客戶端再次檢查服務是否正常共享
        [root@nfs_client ~]# showmount -e 192.168.1.112
        Export list for 192.168.1.112:
        /data 192.168.1.0/24
        #開始掛載
        [root@nfs_client ~]# df -h
        Filesystem      Size  Used Avail Use% Mounted on
        /dev/sda3       8.6G  1.7G  6.5G  20% /
        tmpfs           491M     0  491M   0% /dev/shm
        /dev/sda1       190M   32M  149M  18% /boot
        [root@nfs_client ~]# mount -t nfs 192.168.1.112:/data /mnt
        [root@nfs_client ~]# df -h
        Filesystem           Size  Used Avail Use% Mounted on
        /dev/sda3            8.6G  1.7G  6.5G  20% /
        tmpfs                491M     0  491M   0% /dev/shm
        /dev/sda1            190M   32M  149M  18% /boot
        192.168.1.112:/data  8.6G  1.7G  6.5G  20% /mnt
        #測試
        在服務端查看共享目錄文件
        [root@nfs_server ~]# ls -l /data/
        total 16
        -rw-r--r--  1 root root 56 Jul  7 19:24 2.sh
        -rw-r--r--  1 root root  8 Jul  7 22:27 2.txt
        -rw-r--r--  1 root root 29 Jul  7 19:56 3.txt
        -rw-r--r--. 1 root root 10 Jul  3 19:07 5.txt
        在客戶端查看掛載的目錄文件
        [root@nfs_client ~]# ls -l /mnt/
        total 16
        -rw-r--r-- 1 root root 56 Jul  7 19:24 2.sh
        -rw-r--r-- 1 root root  8 Jul  7 22:27 2.txt
        -rw-r--r-- 1 root root 29 Jul  7 19:56 3.txt
        -rw-r--r-- 1 root root 10 Jul  3 19:07 5.txt
        ###其實基本NFS服務搭建成功

        
    7)注意事項:
server

        (1)在共享目錄裏建立和刪除裏面的文件,須要服務端的共享目錄提供權限
        (2)實際服務端配置文件位置
        [root@nfs_server ~]# cat /var/lib/nfs/etab 
        /data    192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)
相關文章
相關標籤/搜索