如果一个服务使用集群方式部署,在文件读写时就需要考虑多个服务之间文件共享的问题,在共享文件时可以考虑部署一个单独的文件服务器,比如hdfs、minio、fastdfs等,也可以使用简单的文件目录共享方式实现,比如nfs。下面就介绍nfs简单安装使用:
[root@localhost ~]# yum -y install rpcbind nfs-utils
[root@localhost ~]# mkdir -p /root/nfs-storage/
# 启动服务
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
# 查看服务状态
[root@localhost ~]# systemctl status 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 Wed 2024-01-17 17:12:17 CST; 35min ago
Main PID: 13752 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nfs-server.service
Jan 17 17:12:17 localhost.localdomain systemd[1]: Starting NFS server and services...
Jan 17 17:12:17 localhost.localdomain systemd[1]: Started NFS server and services.
# 设置开机自启动
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# vim /etc/exports
/root/nfs-storage *(rw,no_root_squash,no_all_squash,sync)
配置说明:
* 表示所有ip的客户端都可以访问,如果要指定网段或ip进行访问,替换*号就可以。
rw 表示设置目录可读写。
sync 表示数据会同步写入到内存和硬盘中,相反 rsync 表示数据会先暂存于内存中,而非直接写入到硬盘中。
no_root_squash NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。
no_all_squash 不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限。
[root@localhost ~]# exportfs -r
[root@localhost ~]# showmount -e localhost
[root@localhost ~]# yum -y install rpcbind
[root@localhost ~]# systemctl start rpcbind
# 设置开机自启动
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.56.101:/root/nfs-storage /root/nfs-storage
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 184G 4.1G 180G 3% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 177M 3.7G 5% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 4.0G 148M 3.9G 4% /boot
tmpfs 783M 0 783M 0% /run/user/0
tmpfs 60M 0 60M 0% /var/log/rtlog
192.168.56.101:/root/nfs-storage 184G 7.1G 177G 4% /root/nfs-storage
[root@localhost ~]# vim /etc/rc.d/rc.local
mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.56.101:/root/nfs-storage /root/nfs-storage
# 客户端显示挂载信息
[root@localhost ~]# showmount -e 192.168.56.101
# 取消挂载
[root@localhost ~]# umount /root/nfs-storage