介绍
NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;
NFS一般用来存储共享视频,图片等静态数据。
NFS服务端
服务端部署
00-server-config.sh
apt install -y nfs-kernel-server #安装nfs服务
apt install -y rpcbind #安装rpc服务
mkdir -p /public/data
systemctl start rpcbind ##先启动rpc服务
systemctl start nfs-kernel-server #nfs
systemctl enable rpcbind #设置开机启动
systemctl enable nfs-kernel-server #设置开机启动
# 配置防火墙放行nfs服务
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
cat > /etc/exports << EOF
/public/data 192.168.2.155(rw,async,no_root_squash)
/public/data 192.168.2.158(rw,async,no_root_squash)
/public/data 192.168.2.100(rw,async,no_root_squash)
/public/data 192.168.2.101(rw,async,no_root_squash)
/public/data 192.168.2.102(rw,async,no_root_squash)
EOF
#重新加载NFS服务,使配置文件生效
systemctl reload nfs-kernel-server
NFS客户端
mkdir /mnt/public
apt install -y nfs-common
apt install -y rpcbind #安装rpc服务
#在该文件中挂载,使系统每次启动时都能自动挂载
cat >> /etc/fstab << EOF
192.168.2.152:/public/data /mnt/public nfs defaults 0 0
EOF
mount -a #是文件/etc/fstab生效
df -Th
cat > /etc/fstab << EOF
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation
# /dev/disk/by-id/dm-uuid-LVM-NN5zVPn9ojabMgJS2v0YYazS0YNMvETX1R8Dj9Qdo63FU6EMBWU0yBJI8K1WZE2R / ext4 defaults 0 1
# /boot was on /dev/sda2 during curtin installation
/dev/disk/by-uuid/9def68ab-66ef-497b-99f5-180980913a8b /boot ext4 defaults 0 1
/dev/mapper/ubuntu--vg-ubuntu--lv / ext4 rw,relatime 0 1
#/swap.img none swap sw 0 0
EOF
客户端部署
清除
服务端
apt remove -y nfs-kernel-server #安装nfs服务
apt remove -y rpcbind #安装rpc服务
rm -rf /public/data
systemctl stop rpcbind
systemctl stop nfs-kernel-server #nfs
systemctl disable rpcbind
systemctl disable nfs-kernel-server
firewall-cmd --permanent --remove-service=nfs-kernel-server
firewall-cmd --reload
sudo sed -i '/\/public\/data 192.168.2.155/d' /etc/exports
sudo sed -i '/\/public\/data 192.168.2.158/d' /etc/exports
sudo sed -i '/\/public\/data 192.168.2.100/d' /etc/exports
sudo sed -i '/\/public\/data 192.168.2.101/d' /etc/exports
sudo sed -i '/\/public\/data 192.168.2.102/d' /etc/exports
客户端
#!/bin/sh
export HOST="192.168.2.152"
export DIR="/mnt/public"
export MOUNT_DIR="/public/data"
echo $HOST
echo $DIR
echo $MOUNT_DIR
rm -rf $HOST
rm -rf $DIR
apt remove -y nfs-common
apt remove -y rpcbind #安装rpc服务
#在该文件中挂载,使系统每次启动时都能自动挂载
cat >> /etc/fstab << EOF
$HOST:$MOUNT_DIR $DIR nfs defaults 0 0
EOF
sed -i "/\$HOST:\/public\/data.*nfs.*defaults.*0.*0/d" /etc/fstab
cat /etc/fstab
mount -a #是文件/etc/fstab生效
df -Th