快速部署NFS服务器实战

快速部署NFS服务器实战

需求说明

服务器已通过存储挂载20T空间,用来创建NFS共享,配置给各个客户端挂载的空间大小如下所示

客户端IP地址挂载空间大小
192.168.10.111T
192.168.10.121T
192.168.10.451T
192.168.12.131T
192.168.10.101T
192.168.10.91T
192.168.10.401T
192.168.10.411T
192.168.10.271T
192.168.11.1282T
192.168.11.129
192.168.11.472T
192.168.11.48
192.168.11.982T
192.168.11.99
192.168.10.521T
192.168.10.531T
192.168.11.461T
192.168.11.761T

环境准备

服务端操作系统:CentOS7.2

服务端IP地址:172.16.30.254

服务端划分给NFS的磁盘空间:总计20T(包含vdb、vdc、vdd和vde各5T)

客户端准备:Windows系统和Linux系统(IP地址如上空间划分表格)

开通网络访问策略

源IP地址目的IP地址服务类型服务动作
192.168.10.11172.16.30.254TCP/UDPtcp2049/tcp111/tcp4001_4005/udp2049/udp111/udp4001_4005permit
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举例
Win10安装NFS客户端
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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥肠粉打野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值