快速部署NFS服务器实战
需求说明
服务器已通过存储挂载20T空间,用来创建NFS共享,配置给各个客户端挂载的空间大小如下所示
| 客户端IP地址 | 挂载空间大小 |
|---|---|
| 192.168.10.11 | 1T |
| 192.168.10.12 | 1T |
| 192.168.10.45 | 1T |
| 192.168.12.13 | 1T |
| 192.168.10.10 | 1T |
| 192.168.10.9 | 1T |
| 192.168.10.40 | 1T |
| 192.168.10.41 | 1T |
| 192.168.10.27 | 1T |
| 192.168.11.128 | 2T |
| 192.168.11.129 | |
| 192.168.11.47 | 2T |
| 192.168.11.48 | |
| 192.168.11.98 | 2T |
| 192.168.11.99 | |
| 192.168.10.52 | 1T |
| 192.168.10.53 | 1T |
| 192.168.11.46 | 1T |
| 192.168.11.76 | 1T |
环境准备
服务端操作系统:CentOS7.2
服务端IP地址:172.16.30.254
服务端划分给NFS的磁盘空间:总计20T(包含vdb、vdc、vdd和vde各5T)
客户端准备:Windows系统和Linux系统(IP地址如上空间划分表格)
开通网络访问策略
| 源IP地址 | 目的IP地址 | 服务类型 | 服务 | 动作 |
|---|---|---|---|---|
| 192.168.10.11 | 172.16.30.254 | TCP/UDP | tcp2049/tcp111/tcp4001_4005/udp2049/udp111/udp4001_4005 | permit |
| 192.168.10.12 | ||||
| 192.168.10.45 | ||||
| 192.168.12.13 | ||||
| 192.168.10.10 | ||||
| 192.168.10.9 | ||||
| 192.168.10.40 | ||||
| 192.168.10.41 | ||||
| 192.168.10.27 | ||||
| 192.168.11.128 | ||||
| 192.168.11.129 | ||||
| 192.168.11.47 | ||||
| 192.168.11.48 | ||||
| 192.168.11.98 | ||||
| 192.168.11.99 | ||||
| 192.168.10.52 | ||||
| 192.168.10.53 | ||||
| 192.168.11.46 | ||||
| 192.168.11.76 |
服务端部署步骤
查看磁盘使用情况,vdb-vbe未使用空间总共20T
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sr0 11:0 1 4.3G 0 rom /run/media/root/CentOS 7 x86_64
vda 252:0 0 100G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 99G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 3.8G 0 lvm [SWAP]
└─centos-home 253:2 0 45.2G 0 lvm /home
vdb 252:16 0 4.9T 0 disk
vdc 252:32 0 4.9T 0 disk
vdd 252:48 0 4.9T 0 disk
vde 252:64 0 4.9T 0 disk
[root@localhost ~]#
pv创建:vdb-vde磁盘创建pv
[root@localhost ~]# pvcreate /dev/vdb
Physical volume "/dev/vdb" successfully created.
[root@localhost ~]# pvcreate /dev/vdc
Physical volume "/dev/vdc" successfully created.
[root@localhost ~]# pvcreate /dev/vde
Physical volume "/dev/vde" successfully created.
[root@localhost ~]# pvcreate /dev/vdd
Physical volume "/dev/vdd" successfully created.
vg创建:创建sharesvg,包含vdb-vde磁盘,总大小20T
[root@localhost ~]# vgcreate sharesvg /dev/vdb /dev/vdc /dev/vdd /dev/vde
Volume group "sharesvg" successfully created
lvm创建:创建以下16个lvm,其中1T大小13个,2T大小3个
[root@localhost ~]# lvcreate -n 192.168.10.11 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.10.12 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.10.45 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.12.13 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.10.10 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.10.9 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.10.40 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.10.41 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.10.27 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.11.128_129 -L 2T sharesvg
[root@localhost ~]# lvcreate -n 192.168.11.47_48 -L 2T sharesvg
[root@localhost ~]# lvcreate -n 192.168.11.98_99 -L 2T sharesvg
[root@localhost ~]# lvcreate -n 192.168.10.52 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.10.53 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.11.46 -L 1T sharesvg
[root@localhost ~]# lvcreate -n 192.168.11.76 -L 1T sharesvg
xfs文件系统创建:格式化16个lvm为xfs文件系统
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.11
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.12
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.45
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.12.13
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.10
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.9
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.40
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.41
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.27
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.11.128_129
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.11.47_48
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.11.98_99
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.52
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.10.53
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.11.46
[root@localhost ~]#mkfs.xfs /dev/sharesvg/192.168.11.76
lvm挂载:创建挂载点共享文件夹,并配置lvm逻辑卷的自动挂载
[root@localhost ~]# mkdir /var/shares
[root@localhost ~]# mkdir /var/shares/192.168.10.11
[root@localhost ~]# mkdir /var/shares/192.168.10.12
[root@localhost ~]# mkdir /var/shares/192.168.10.45
[root@localhost ~]# mkdir /var/shares/192.168.12.13
[root@localhost ~]# mkdir /var/shares/192.168.10.10
[root@localhost ~]# mkdir /var/shares/192.168.10.9
[root@localhost ~]# mkdir /var/shares/192.168.10.40
[root@localhost ~]# mkdir /var/shares/192.168.10.41
[root@localhost ~]# mkdir /var/shares/192.168.10.27
[root@localhost ~]# mkdir /var/shares/192.168.11.128_129
[root@localhost ~]# mkdir /var/shares/192.168.11.47_48
[root@localhost ~]# mkdir /var/shares/192.168.11.98_99
[root@localhost ~]# mkdir /var/shares/192.168.10.52
[root@localhost ~]# mkdir /var/shares/192.168.10.53
[root@localhost ~]# mkdir /var/shares/192.168.11.46
[root@localhost ~]# mkdir /var/shares/192.168.11.76
[root@localhost ~]# chown nfsnobody:nfsnobody -R /var/shares/ //更改nfs共享文件夹权限
[root@localhost ~]# vim /etc/fstab
/dev/sharesvg/192.168.10.11 /var/shares/192.168.10.11 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.10.12 /var/shares/192.168.10.12 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.10.45 /var/shares/192.168.10.45 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.12.13 /var/shares/192.168.12.13 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.10.10 /var/shares/192.168.10.10 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.10.9 /var/shares/192.168.10.9 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.10.40 /var/shares/192.168.10.40 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.10.41 /var/shares/192.168.10.41 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.10.27 /var/shares/192.168.10.27 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.11.128 /var/shares/192.168.11.128_129 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.11.47 /var/shares/192.168.11.47_48 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.11.98 /var/shares/192.168.11.98_99 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.10.52 /var/shares/192.168.10.52 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.10.53 /var/shares/192.168.10.53 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.11.46 /var/shares/192.168.11.46 xfs defaults,_netdev 0 0
/dev/sharesvg/192.168.11.76 /var/shares/192.168.11.76 xfs defaults,_netdev 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
nfs固定端口配置:配置nfs相关服务端口为固定端口(为了方便开通网络策略)
[root@localhost ~]# vim /etc/sysconfig/nfs
#修改NFS相关服务为固定端口
MOUNTD_PORT=4001
STATD_PORT=4002
LOCKD_TCPPORT=4003
LOCKD_UDPPORT=4003
RQUOTAD_PORT=4004
nfs目录权限配置:配置nfs各个共享目录访问权限
[root@localhost ~]# vim /etc/exports
/var/shares/192.168.10.11 192.168.10.11(rw,insecure,sync,all_squash)
/var/shares/192.168.10.12 192.168.10.12(rw,insecure,sync,all_squash)
/var/shares/192.168.10.45 192.168.10.45(rw,insecure,sync,all_squash)
/var/shares/192.168.12.13 192.168.12.13(rw,insecure,sync,all_squash)
/var/shares/192.168.10.10 192.168.10.10(rw,insecure,sync,all_squash)
/var/shares/192.168.10.9 192.168.10.9(rw,insecure,sync,all_squash)
/var/shares/192.168.10.40 192.168.10.40(rw,insecure,sync,all_squash)
/var/shares/192.168.10.41 192.168.10.41(rw,insecure,sync,all_squash)
/var/shares/192.168.10.27 192.168.10.27(rw,insecure,sync,all_squash)
/var/shares/192.168.11.128 192.168.11.128(rw,insecure,sync,all_squash) 192.168.11.129(rw,insecure,sync,all_squash)
/var/shares/192.168.11.47 192.168.11.47(rw,insecure,sync,all_squash) 192.168.11.48(rw,insecure,sync,all_squash)
/var/shares/192.168.11.98 192.168.11.98(rw,insecure,sync,all_squash) 192.168.11.99(rw,insecure,sync,all_squash)
/var/shares/192.168.10.52 192.168.10.52(rw,insecure,sync,all_squash)
/var/shares/192.168.10.53 192.168.10.53(rw,insecure,sync,all_squash)
/var/shares/192.168.11.46 192.168.11.46(rw,insecure,sync,all_squash)
/var/shares/192.168.11.76 192.168.11.76(rw,insecure,sync,all_squash)
[root@localhost ~]# exportfs -r
[root@localhost ~]# exportfs -v
格式:[共享的目录] [主机名或IP(参数,参数)],可设置不同客户端挂载不同的参数,如上所示两个客户端挂载同一个目录可设置不同的访问权限,也可设置ip网段访问权限,格式如:192.168.10.0/24和192.168.10.0/255.255.255.0,设置域名访问权限,格式如:www.testnfs.com和*.testnfs.com,主机名必须在/etc/hosts或者能通过dns解析到主机名。注意:使用主机名时可以使用通配符【*】,使用IP地址或者地址段时不可使用通配符格式匹配;
rw:读写访问;
insecure:允许客户端从大于1024的端口连接服务器;
sync:代表数据会同步写入到内存与硬盘中;
all_squash:不论NFS的用户身份为root还是其他用户,挂载时都会成为匿名用户,通常也就是 nobody(nfsnobody);
exportfs -r:重新挂载/etc/exports里面的设置;
exportfs -v:显示共享目录挂载访问的权限。
启动nfs服务:关闭selinux,关闭firewalld,启动rpcbind和nfs并配置开机启动
[root@localhost ~]# getenforce //查看selinux状态是否关闭,具体关闭selinux可参考网上其他文档
[root@localhost ~]# systemctl stop firewalld.service //关闭linux防火墙
[root@localhost ~]# systemctl disable firewalld.service //禁用防火墙服务自动启动
[root@localhost ~]# systemctl status firewalld.service
[root@localhost ~]# systemctl enable rpcbind.service --now
[root@localhost ~]# systemctl enable nfs.service --now
[root@localhost ~]# rpcinfo -p //查看RPC服务的注册状况,检查端口是否为固定端口
[root@localhost ~]# netstat -tunlp //查看nfs服务是否处于侦听状态
客户端挂载配置
Windows客户端配置自动挂载
1、安装nfs客户端:各个系统安装方法参考网上其他教程,windows server2003不支持,下面以win10举例

2、测试nfs客户端目录挂载和卸载:在客户端测试是否能够正常显示nfs服务器共享目录列表并成功进行挂载和卸载操作
C:\Users\Users>showmount -e 172.16.30.254 //显示NFS服务端共享目录列表
C:\Users\Users>mount 172.16.30.254:/var/shares/192.168.10.11 Z: //将192.168.10.11共享目录挂载到Z盘盘符下
测试读写正常后选择Z盘右键断开网络驱动器,卸载192.168.10.11目录
3、配置开机自动挂载:新建批处理automount.bat文件,添加以下内容后放到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目录下,以下为带参数挂载配置
C:\Users\Users>mount -o nolock wsize=1024 rsize=1024 172.16.30.254:/var/shares/192.168.10.11 Z:
4、测试开机自动挂载:双击automount.bat文件看能否正常挂载,正常挂载后重启客户端再尝试能否自动挂载
Linux客户端配置自动挂载
1、创建挂载目录:创建/nfsbak目录作为挂载点,尽量不要将挂载目录配置到/mnt下,以防/mnt目录已经默认挂载了iso光盘镜像导致不可用
[root@localhost ~]# mkdir /nfsbak
2、测试挂载:测试挂载是否成功,并且是否能够正常卸载,读取数据是否正常
[root@localhost ~]# showmount -e 172.16.30.254
[root@localhost ~]# mount -t nfs -o rw,async,wsize=32768,rsize=32768 172.16.30.254:/var/shares/192.168.10.11 /nfsbak
[root@localhost ~]# df -h
[root@localhost ~]# touch test /nfsbak //测试是否能够正常写入文件
[root@localhost ~]# umount /nfsbak //卸载挂载目录
挂载如果出错,可能是由于挂载nfs版本不一致导致,可尝试带如下参数挂载
[root@localhost ~]# mount -t nfs -o rw,async,nfsvers=3,vers=3,wsize=32768,rsize=32768 172.16.30.254:/var/shares/192.168.10.11 /nfsbak
3、配置自动挂载:客户端开机自动挂载nfs共享目录
[root@localhost ~]# vim /etc/fstab
10.124.47.52:/var/shares/10.66.188.250 /nfsbak nfs defaults,wsize=32768,rsize=32768,_netdev 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
1235

被折叠的 条评论
为什么被折叠?



