下面记录了NFS服务器和客户端的安装步骤,并进行NFS共享,服务器和客户端都使用在CentOS 7系统。
服务端安装
#### 配置NFS服务端
#### 服务端:192.168.1.100
#### 客户端:192.168.0.199
安装NFS:
$ sudo yum install nfs-utils
或者
yum -y install nfs-utils rpcbind
准备一个要共享的目录:
$ sudo mkdir /var/nfs
$ sudo chmod 777 /var/nfs
编辑/etc/exports:
sudo vim /etc/exports
或
sudo vi /etc/exports
添加一行:(输入一下,按i键进入编辑,按Esc退出,再输入:wq保存)
/var/nfs 192.168.0.199/24(rw,sync,no_root_squash,no_all_squash)
更新配置文件,使之生效:
$ exportfs -rv
/var/nfs:共享的NFS目录
192.168.0.0/24: 客户端 IP 范围,* 代表所有,即没有限制。
rw: 权限设置,可读可写。
sync: 同步共享目录。
no_root_squash: 可以使用 root 授权。
no_all_squash: 可以使用普通用户授权。
启动相关服务:
$sudo systemctl enable rpcbind
$sudo systemctl start rpcbind
$sudo systemctl enable nfs-server
$sudo systemctl start nfs-server
重启 NFS 服务
$ sudo systemctl restart nfs
可以检查一下本地的共享目录
$ showmount -e localhost
防火墙需要打开 rpc-bind 和 nfs 的服务
二种二选一都试试
1、
$ sudo firewall-cmd --zone=public --permanent --add-service={rpc-bind,mountd,nfs}
success
$ sudo firewall-cmd --reload
success
2、
$sudo firewall-cmd--zone=public--add-service=nfs--permanent
$sudo firewall-cmd--zone=public--add-service=rpc-bind--permanent
$sudo firewall-cmd--zone=public--add-service=mountd--permanent
$sudo firewall-cmd--reload
客户端安装
安装NFS:
$ sudo yum install nfs-utils
或者
yum -y install nfs-utils rpcbind
(设置启动,也可能不需要设置这个步骤)
设置 rpcbind 服务的开机启动
$ sudo systemctl enable rpcbind
启动 NFS 服务
$ sudo systemctl start rpcbind
创建一个目录,做为NFS共享目录的挂载点:
$sudo mkdir/mnt/nfs
挂载NFS共享目录:
$sudo mount -t nfs 192.168.0.100:/var/nfs /mnt/nfs
或者
NFS默认是用UDP协议,换成TCP协议达到稳定传输目的:
$sudo mount -t nfs 192.168.0.100:/var/nfs /mnt/nfs -o proto=tcp -o nolock
查看所有挂载点:
$mount
客户端自动挂载
sudo vi /etc/fstab
在结尾添加类似如下配置
#
# /etc/fstab
# Created by anaconda on Thu May 25 13:11:52 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=414ee961-c1cb-4715-b321-241dbe2e9a32 /boot xfs defaults 0 0
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
192.168.1.100:/var/nfs /mnt/nfs nfs defaults 0 0
由于修改了 /etc/fstab,需要重新加载 systemctl。
$ sudo systemctl daemon-reload
此时已经启动好了。如果实在不放心,可以重启一下客户端的操作系统,之后再查看一下。