歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> CentOS7.2中安裝NFS1.3

CentOS7.2中安裝NFS1.3

日期:2017/3/3 17:43:14   编辑:學習Linux

CentOS7.2中安裝NFS1.3

CentOS7.2中安裝NFS1.3


NFS(network file system)網絡文件系統,類似Windows中的文件夾共享,如下有三台機器A, B, C,它們需要訪問同一個目錄,目錄中都是圖片,傳統的做法是把這些圖片分別放到A, B, C。但是使用NFS只需要放到A上,然後A共享給B和C即可。訪問的時候,B和C是
通過網絡的方式去訪問A上的那個目錄。

一、在A機上安裝 NFS 服務器所需的軟件包:
yum install -y nfs-utils

(實際上需要安裝兩個包nfs-utils和rpcbind, 不過當使用yum安裝nfs-utils時會把rpcbind一起安裝上)

二、編輯exports文件,添加從機
vim /etc/exports
/home/nfs 192.168.222.201(rw,sync,fsid=0) 192.168.222.202(rw,sync,fsid=0)

配置說明:

這一行分為三個部分:

第一部分:/home/nfs ,這個是本地要共享出去的目錄。

第二部分:192.168.222.0/24 ,允許訪問的主機,可以是一個IP:192.168.222.201,也可以是一個IP段:192.168.222.0/24

第三部分:括號中部分。

  • rw表示可讀寫,ro只讀;

  • sync :同步模式,內存中數據時時寫入磁盤;async :不同步,把內存中數據定期寫入磁盤中;

  • no_root_squash :加上這個選項後,root用戶就會對共享的目錄擁有至高的權限控制,就像是對本機的目錄操作一樣。不安全,不建議使用;root_squash:和上面的選項對應,root用戶對共享目錄的權限不高,只有普通用戶的權限,即限制了root;all_squash:不管使用NFS的用戶是誰,他的身份都會被限定成為一個指定的普通用戶身份;

  • anonuid/anongid :要和root_squash 以及all_squash一同使用,用於指定使用NFS的用戶限定後的uid和gid,前提是本機的/etc/passwd中存在這個uid和gid。

  • fsid=0表示將/home/nfs整個目錄包裝成根目錄

這個配置文件也可以這樣寫:
/opt/test/ 192.168.222.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

三、啟動A機上nfs服務
先為rpcbind和nfs做開機啟動:
systemctl enable rpcbind.service
systemctl enable nfs-server.service

然後分別啟動rpcbind和nfs服務:
systemctl start rpcbind.service
systemctl start nfs-server.service

確認NFS服務器啟動成功:
rpcinfo -p
通過查看service列中是否有nfs服務來確認NFS是否啟動。

showmount -e 192.168.222.200

查看可掛載目錄及可連接的IP

四、關閉A機上的防火牆或者給防火牆配置nfs的通過規則

還是關閉簡單啊!

systemctl stop firewalld.service

五、在B,C機上配置clinet端

1、安裝nfs,並啟動服務。

yum install -y nfs-utils

systemctl enable rpcbind.service

systemctl start rpcbind.service

客戶端不需要啟動nfs服務,只需要啟動rpcbind服務.

2、檢查 NFS 服務器端是否有目錄共享

showmount -e 192.168.222.200

3、使用 mount 掛載A服務器端的目錄/home/nfs到客戶端B的目錄/home/nfs下

[root@localhost ~]# mkdir /home/nfs
[root@localhost ~]# mount -t nfs 192.168.222.200:/home/nfs/ /home/nfs/
[root@localhost ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 11G 1.3G 9.1G 13% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 921M 0 921M 0% /dev/shm
tmpfs 921M 8.5M 912M 1% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 497M 170M 328M 35% /boot
tmpfs 185M 0 185M 0% /run/user/0
192.168.222.200:/home/nfs 11G 1.3G 9.1G 13% /home/nfs

4、掛載完成,可以正常訪問本機下的/home/nfs,如果在服務端A在共享目錄/home/nfs中寫入文件,B、C機上可以看到,但是不能在這個目錄中寫入文件.

六、在服務器端A再建立一個共享目錄,並且可以允許A、B、C寫入共享目錄

1、在B、C機上取得root用戶ID號

[root@localhost home]# id root
uid=0(root) gid=0(root) 組=0(root)

2、在A服務器上再建立一個共享目錄

mkdir /home/nfs1

# vim /etc/exports
/home/nfs 192.168.222.201(rw,sync,fsid=0) 192.168.222.202(rw,sync,fsid=0)
/home/nfs1 192.168.222.0/24(rw,sync,all_squash,anonuid=0,anongid=0)

加入第二行,anonuid=0,anongid=0即為root用戶id。

3、讓修改過的配置文件生效

exportfs –arv

使用exportfs命令,當改變/etc/exports配置文件後,不用重啟nfs服務直接用這個exportfs即可,它的常用選項為[-aruv].
-a :全部掛載或者卸載;
-r :重新掛載;
-u :卸載某一個目錄;
-v :顯示共享的目錄;

4、 查看新的可掛載目錄及可連接的IP

showmount -e 192.168.222.200

5、在B、C clinet端新掛載一個目錄

showmount -e 192.168.222.200 #查看新的掛載共享目錄是否有了。

mkdir nfs1
mount -t nfs 192.168.222.200:/home/nfs1/ /home/nfs1/
ll / >/home/nfs1/ll.txt #測試向新的共享目錄中可以寫入文件了。
(卸載掛載:umount /home/nfs1/)

6、想在客戶機B、C上實現開機掛載,則需要編輯/etc/fstab:

vim /etc/fstab

加入以下內容:

192.168.222.200:/home/nfs /home/nfs nfs nolock 0 0
192.168.222.200:/home/nfs1 /home/nfs1 nfs nolock 0 0

保存後,重新掛載

mount -a

http://xxxxxx/Linuxjc/1184829.html TechArticle

Copyright © Linux教程網 All Rights Reserved