文章目录
- 为什么要用存储服务?
- 直接上干货
- 环境要求
- 1.NFS服务端配置流程(在nfs01中配置)
- 1.1安装nfs-utils服务
- 1.2启动rpcbind
- 1.3配置配置文件
- 1.4 根据配置文件创建所需信息
- 1.6通过nfs特有的配置文件查看配置是否正确
- 1.7到这里NFS服务端配置完成
- 2.NFS客户端配置(web01,web02)
- 2.1客户端安装nfs-utils (无需启动,安装上即可)
- 2.2通过showmount 命令查看服务端是否有共享目录
- 2.3挂载共享目录/data 到web01的/mnt 目录下
- 2.4客户端测试
- 2.5挂载加入开机自启动
为什么要用存储服务?
直接上干货
环境要求
三台服务器nfs01,web01,web02,配置双网卡,一个内网eth0,一个公网eth1。
其中nfs01这一台作为服务端,另外两台作为客户端。
1.NFS服务端配置流程(在nfs01中配置)
1.1安装nfs-utils服务
nfs-utils是运行NFS服务的必备程序,其中还有一个程序(rpcbind)是NFS的依赖,会随着安装nfs-utils一起安装,所以不必刻意安装。
[root@nfs01 ~]# yum install -y nfs-utils
1.2启动rpcbind
其实rpcbind会随着nfs服务启动时自行启动,所以可以省略,但是若不手动启动rpcbind会无法查看rpc是否收集了nfs的信息
暂时不启动nfs服务,配置完再启动,因为配置配置文件后,都必须重新加载,这里可以先不启动nfs-utils
这里用到一个命令 rpcinfo -p ip
ip是 服务端的ip
[root@nfs01~]# rpcinfo -p 10.0.0.31
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
若不启动则看不出是否收集了nfs的信息
启动一下
[root@nfs01 ~]# systemctl start rpcbind
[root@nfs01 ~]# rpcinfo -p 10.0.0.31
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
1.3配置配置文件
NFS服务的配置文件-------》/etc/exports
vim /etc/exports
[root@nfs01 ~]# cat /etc/exports
/data 172.16.1.0/24(rw)
/data 作为共享目录
172.16.1.0/24 是这个网段的可以对/data目录操作
(rw) 这个网段的服务器可以对/data有读写权限
()中可加入第二张图中的参数,用 , 隔开
1.4 根据配置文件创建所需信息
1.创建共享目录
[root@nfs01 ~]# mkdir /data
[root@nfs01 ~]# ll -d /data
drwxr-xr-x 2 root root 6 Jun 9 18:21 /data
2.改所有者
[root@nfs01 ~]# chown nfsnobody.nfsnobody /data
[root@nfs01 ~]# ll -d /data
drwxr-xr-x 2 nfsnobody nfsnobody 6 Jun 9 18:21 /data
给目录所有者全限 将/data目录给到 nfsnobody用户
这个nfsnobody 是一个虚拟用户不必刻意创建,它会随着nfs服务的安装而生成
来看:我web02中没有安装nfs服务,以至于没有nfsnobody这个用户
[root@web02 ~]# id nfsnobody
id: nfsnobody: no such user
接着安装下nfs服务
[root@web02 ~]# yum install -y nfs-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
·····
查看是否生成了nfsnobody这个虚拟用户
[root@web02 ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)
###1.5 现在启动NFS服务并加入开机自启动
[root@nfs01 ~]# systemctl start nfs #启动nfs
[root@nfs01 ~]# systemctl enable nfs #加入开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@nfs01 ~]# systemctl status nfs #检查nfs状态
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Drop-In: /run/systemd/generator/nfs-server.service.d
└─order-with-mounts.conf
Active: active (exited) since Thu 2022-06-09 18:30:30 CST; 18s ago
Main PID: 5278 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nfs-server.service
Jun 09 18:30:30 nfs01 systemd[1]: Starting NFS server and services...
Jun 09 18:30:30 nfs01 systemd[1]: Started NFS server and services.
1.6通过nfs特有的配置文件查看配置是否正确
检查/var/lib/nfs/etab 如果有内容说明配置正确
如果为空则配置有问题
[root@nfs01 ~]# cat /var/lib/nfs/etab
/data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)
1.7到这里NFS服务端配置完成
2.NFS客户端配置(web01,web02)
2.1客户端安装nfs-utils (无需启动,安装上即可)
[root@web01 ~]# yum -y install nfs-utils
2.2通过showmount 命令查看服务端是否有共享目录
[root@web01 ~]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/data 172.16.1.0/24
-e 指定ip
2.3挂载共享目录/data 到web01的/mnt 目录下
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt
[root@web01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 979M 0 979M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.5M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos_kmkk--jqjg--mubanji-root 17G 2.0G 16G 12% /
/dev/sda1 1014M 138M 877M 14% /boot
tmpfs 199M 0 199M 0% /run/user/0
172.16.1.31:/data 17G 2.0G 16G 12% /mnt
已实现挂载
mount 挂载命令
-t 指定挂载类型
2.4客户端测试
在web01的/mnt下创建文件1.txt,看是否可在nfs01的/data目录下看到,若有则成功
[root@web01 ~]# ll /mnt
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Jun 9 18:46 1.txt
[root@nfs01 ~]# ll /data
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Jun 9 18:46 1.txt
2.5挂载加入开机自启动
方法1:
# 方法01 挂载命令写入到/etc/rc.local 第一次运行需要给 x 权限否则开机不会挂载
chmod +x /etc/rc.local
mont -t nfs 172.16.1.31:/data /mnt
#方法02 修改/etc/fstab配置
需要remote-fs 服务运行
systemctl enable remote-fs #加入开机自启动,否则无法开机挂载
systemctl status remote-fs.target
[root@web01 ~]# df -h /upload/
Filesystem Size Used Avail Use% Mounted
on
172.16.1.31:/nfsdata 50G 2.0G 48G 4% /upload
写入 172.16.1.13:/data /mnt nfs defaults 0 0