一步步搭建NFS服務(2)------安裝和配置

1、須要安裝的軟件包ios

1)rpcbind :RPC的主程序,這個軟件包在客戶端和服務器端都須要安裝bash

2)nfs-utils :NFS的主程序,提供nfsd和mountd等相關服務,客戶端和服務端都要安裝服務器

2、開始行動。。。網絡

爲了便於區分客戶端和服務端,我分別將主機名改成Server和Clientapp

1
2
3
[root@Server ~] # hostname
Server
[root@Server ~] #

1
2
3
[root@Client ~] # hostname
Client
[root@Client ~] #

1)兩臺主機分別安裝rpcbind和nfs-utils異步

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@Server ~] # yum install rpcbind
#此處省略若干行#
Dependencies Resolved
=======================================================================================================
  Package                 Arch                Version                     Repository               Size
=======================================================================================================
Installing:
  rpcbind                 x86_64              0.2.0-11.el6                local_repo               51 k
Installing for dependencies:
  libgssglue              x86_64              0.1-11.el6                  local_repo               23 k
  libtirpc                x86_64              0.2.1-6.el6_4               local_repo               78 k
 
Transaction Summary
=======================================================================================================
Install       3 Package(s)
#此處省略若干行#
Installed:
   rpcbind.x86_64 0:0.2.0-11.el6                                                                       
 
Dependency Installed:
   libgssglue.x86_64 0:0.1-11.el6                    libtirpc.x86_64 0:0.2.1-6.el6_4                  
 
Complete!
[root@Server ~] #

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[root@Server ~] # yum install nfs-utils
 
####此處省略若干行
 
=======================================================================================================
  Package                   Arch               Version                     Repository              Size
=======================================================================================================
Installing:
  nfs-utils                 x86_64             1:1.2.3-39.el6              local_repo             320 k
Installing for dependencies:
  keyutils                  x86_64             1.4-4.el6                   local_repo              39 k
  libevent                  x86_64             1.4.13-4.el6                local_repo              66 k
  nfs-utils-lib             x86_64             1.1.5-6.el6                 local_repo              67 k
  
Transaction Summary
=======================================================================================================
Install       4 Package(s)
 
####此處省略若干行
 
Installed:
 
   nfs-utils.x86_64 1:1.2.3-39.el6                                                                    
  
Dependency Installed:
   keyutils.x86_64 0:1.4-4.el6   libevent.x86_64 0:1.4.13-4.el6   nfs-utils-lib.x86_64 0:1.1.5-6.el6
  
Complete!
[root@Server ~] #

3)分析一下安裝以後生成的文件async

先看看rpcbind的tcp

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@Client ~] # rpm -ql rpcbind
/etc/rc .d /init .d /rpcbind            #紅帽系的啓動腳本
/sbin/rpcbind                      #rpcbind的啓動和管理命令
/usr/sbin/rpcinfo                   #查詢指定主機的rpc信息
####下面都是打醬油的
/usr/share/doc/rpcbind-0 .2.0
/usr/share/doc/rpcbind-0 .2.0 /AUTHORS
/usr/share/doc/rpcbind-0 .2.0 /ChangeLog
/usr/share/doc/rpcbind-0 .2.0 /README
/usr/share/man/man8/rpcbind .8.gz
/usr/share/man/man8/rpcinfo .8.gz
/var/cache/rpcbind
[root@Client ~] #

在看看nfs-utils的ide

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@Server ~] # rpm -ql nfs-utils
/etc/nfsmount .conf
/etc/rc .d /init .d /nfs
/etc/rc .d /init .d /nfslock
/etc/rc .d /init .d /rpcgssd
/etc/rc .d /init .d /rpcidmapd
/etc/rc .d /init .d /rpcsvcgssd
/etc/request-key .d /id_resolver .conf
/etc/sysconfig/nfs
/sbin/mount .nfs
/sbin/mount .nfs4
/sbin/nfs_cache_getent
/sbin/rpc .statd
/sbin/umount .nfs
/sbin/umount .nfs4
/usr/sbin/exportfs
/usr/sbin/mountstats
/usr/sbin/nfsidmap
/usr/sbin/nfsiostat
/usr/sbin/nfsstat
/usr/sbin/rpc .gssd
/usr/sbin/rpc .idmapd
/usr/sbin/rpc .mountd
/usr/sbin/rpc .nfsd
/usr/sbin/rpc .svcgssd
/usr/sbin/rpcdebug
/usr/sbin/showmount
/usr/sbin/sm-notify
/usr/sbin/start-statd
###下面若干行省略

注意:有一個特特特別重要的文件上面沒有列出來,那就是/etc/exports這個文件,這是這是用於配置nfs共享文件的配置,十分重要,後面詳細介紹。性能

4)啓動RPC服務和NFS服務

在啓動NFS服務以前必定先啓動RPC服務,so,啓動rpcbind,而後用rpcinfo探測本機rpc信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@Client ~] # service rpcbind start
Starting rpcbind:                                          [  OK  ]
[root@Client ~] # rpcinfo 127.0.0.1
    program version netid     address                service    owner
     100000    4    tcp6      ::.0.111               portmapper superuser
     100000    3    tcp6      ::.0.111               portmapper superuser
     100000    4    udp6      ::.0.111               portmapper superuser
     100000    3    udp6      ::.0.111               portmapper superuser
     100000    4    tcp       0.0.0.0.0.111          portmapper superuser
     100000    3    tcp       0.0.0.0.0.111          portmapper superuser
     100000    2    tcp       0.0.0.0.0.111          portmapper superuser
     100000    4    udp       0.0.0.0.0.111          portmapper superuser
     100000    3    udp       0.0.0.0.0.111          portmapper superuser
     100000    2    udp       0.0.0.0.0.111          portmapper superuser
     100000    4    local     /var/run/rpcbind .sock  portmapper superuser
     100000    3    local     /var/run/rpcbind .sock  portmapper superuser
[root@Client ~] #

從上面對rpcinfo中沒有發現任何和NFS有關的信息,那是由於咱們探測的是Client端。

好,那咱們把服務端的rpcbind和NFS啓動

1
2
3
4
5
6
7
8
9
[root@Server ~] # service rpcbind start
Starting rpcbind:                                          [  OK  ]
[root@Server ~] # service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
[root@Server ~] #

能夠看出來,當起動nfs主服務,隨之一塊兒啓動的還有quotas(配額服務),mountd(掛載和訪問權限控制的)等等。

如今咱們在回過頭來在客戶端用rpcinfo探測服務端。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
[root@Client ~] # rpcinfo 192.168.80.102
    program version netid     address                service    owner
     100000    4    tcp6      ::.0.111               portmapper superuser
     100000    3    tcp6      ::.0.111               portmapper superuser
     100000    4    udp6      ::.0.111               portmapper superuser
     100000    3    udp6      ::.0.111               portmapper superuser
     100000    4    tcp       0.0.0.0.0.111          portmapper superuser
     100000    3    tcp       0.0.0.0.0.111          portmapper superuser
     100000    2    tcp       0.0.0.0.0.111          portmapper superuser
     100000    4    udp       0.0.0.0.0.111          portmapper superuser
     100000    3    udp       0.0.0.0.0.111          portmapper superuser
     100000    2    udp       0.0.0.0.0.111          portmapper superuser
     100000    4    local     /var/run/rpcbind .sock  portmapper superuser
     100000    3    local     /var/run/rpcbind .sock  portmapper superuser
     100011    1    udp       0.0.0.0.3.107          rquotad    superuser
     100011    2    udp       0.0.0.0.3.107          rquotad    superuser
     100011    1    tcp       0.0.0.0.3.107          rquotad    superuser
     100011    2    tcp       0.0.0.0.3.107          rquotad    superuser
     100005    1    udp       0.0.0.0.170.4          mountd     superuser
     100005    1    tcp       0.0.0.0.233.174        mountd     superuser
     100005    1    udp6      ::.179.140             mountd     superuser
     100005    1    tcp6      ::.163.49              mountd     superuser
     100005    2    udp       0.0.0.0.166.4          mountd     superuser
     100005    2    tcp       0.0.0.0.201.171        mountd     superuser
     100005    2    udp6      ::.229.140             mountd     superuser
     100005    2    tcp6      ::.229.7               mountd     superuser
     100005    3    udp       0.0.0.0.237.110        mountd     superuser
     100005    3    tcp       0.0.0.0.183.5          mountd     superuser
     100005    3    udp6      ::.157.246             mountd     superuser
     100005    3    tcp6      ::.216.13              mountd     superuser
     100003    2    tcp       0.0.0.0.8.1            nfs        superuser
     100003    3    tcp       0.0.0.0.8.1            nfs        superuser
     100003    4    tcp       0.0.0.0.8.1            nfs        superuser
     100227    2    tcp       0.0.0.0.8.1            nfs_acl    superuser
     100227    3    tcp       0.0.0.0.8.1            nfs_acl    superuser
     100003    2    udp       0.0.0.0.8.1            nfs        superuser
     100003    3    udp       0.0.0.0.8.1            nfs        superuser
     100003    4    udp       0.0.0.0.8.1            nfs        superuser
     100227    2    udp       0.0.0.0.8.1            nfs_acl    superuser
     100227    3    udp       0.0.0.0.8.1            nfs_acl    superuser
     100003    2    tcp6      ::.8.1                 nfs        superuser
     100003    3    tcp6      ::.8.1                 nfs        superuser
     100003    4    tcp6      ::.8.1                 nfs        superuser
     100227    2    tcp6      ::.8.1                 nfs_acl    superuser
     100227    3    tcp6      ::.8.1                 nfs_acl    superuser
     100003    2    udp6      ::.8.1                 nfs        superuser
     100003    3    udp6      ::.8.1                 nfs        superuser
     100003    4    udp6      ::.8.1                 nfs        superuser
     100227    2    udp6      ::.8.1                 nfs_acl    superuser
     100227    3    udp6      ::.8.1                 nfs_acl    superuser
     100021    1    udp       0.0.0.0.231.70         nlockmgr   superuser
     100021    3    udp       0.0.0.0.231.70         nlockmgr   superuser
     100021    4    udp       0.0.0.0.231.70         nlockmgr   superuser
     100021    1    tcp       0.0.0.0.167.220        nlockmgr   superuser
     100021    3    tcp       0.0.0.0.167.220        nlockmgr   superuser
     100021    4    tcp       0.0.0.0.167.220        nlockmgr   superuser
     100021    1    udp6      ::.190.58              nlockmgr   superuser
     100021    3    udp6      ::.190.58              nlockmgr   superuser
     100021    4    udp6      ::.190.58              nlockmgr   superuser
     100021    1    tcp6      ::.160.232             nlockmgr   superuser
     100021    3    tcp6      ::.160.232             nlockmgr   superuser
     100021    4    tcp6      ::.160.232             nlockmgr   superuser
[root@Client ~] #

再看看是否是就多了不少信息啦,如今服務端的rpc就多了nfs相關的子服務了。

3、配置和使用

雙方的服務都搭建好了,如今就是使用吧

1)配置服務端要共享出去的目錄或者分區,這個配置就是剛剛說到的/etc/exports文件了

/etc/exports配置規則:[共享目錄] [客戶端][權限]

[共享文件]:這個隨意,如 /home/works/

[客戶端]: 分享給誰,誰能夠訪問,這裏可使用主機ip、網絡號ip還有主機名

    主機ip:如192.168.80.101/24

    網絡號:如 192.168.80.0/24

    主機名:如www.baidu.com,若是用主機名配置,可使用通配符。​如 *.baidu.com就表示任何baidu.com的三級域名均可以訪問

[權限] 須要注意的是,上面的每一項都是空格分開,可是權限要緊隨[客戶端]後面,用括號括起來

具體的權限選項:

1
2
3
4
5
6
7
8
9
10
11
12
rw: 讀寫
     ro:
     secure: 默認已經啓用;限制客戶端只能使用小於1024的端口訪問請求;若不加限制,則使用            insecure
     async: 異步寫入,性能好,數據可靠性差;
     sync : 同步寫入,性能差,數據可靠性高;
     wdelay: 寫入延遲;no_wdelay
     nohide: 不隱藏要導出的目錄中掛載的其它nfs;
     no_acl: 關閉nfs的acl功能;
     root_squash: 壓縮root權限, nfsnobody
     no_root_squash: 不壓縮root權限
     all_squash:全部用戶都壓縮
     anonuid=nfsuser,anongid=nfsgroup:使用指定的用戶賬號作匿名用戶賬號

如今咱們就配置一下咱們客戶端能夠訪問的nfs服務

1
/data/ 192.168.80.0 /24 (rw)

配置好exports文件後,重啓nfs服務

重啓完成以後咱們在客戶端用showmount命令檢查一下服務端共享的文件

1
2
3
4
[root@Client ~] # showmount -e 192.168.80.102
Export list for 192.168.80.102:
/data 192.168.80.0 /24
[root@Client ~] #

能夠看到服務端共享了/data這個目錄,那咱們趕忙掛載使用吧。

將對方的/data/掛載到本地/nfstest/裏

1
2
3
4
[root@Client ~] # mount 192.168.80.102:/data /nfstest
[root@Client ~] # ls /nfstest/
fstab  inittab
[root@Client ~] #

ok,掛載成功,可使用了,可是真的可使用了嗎,還不必定,why?權限問題,NFS服務中,權限是個大問題,也是NFS服務中最頭痛的問題,額。。。。請聽下回分解。。。




相關文章
相關標籤/搜索