####nfs共享型服务#####
1.什么是nfs
NFS(Network File System)即网络文件系统分,是FreeBSD支的文件系统的一种,它允许网络中的计算机之间通过TCP/IP共享网络资源。在NFS应用中,本地nfs的客户端应用可以透明的读写位于远程的NFS服务器上的文件,就像访问本地文件一样。
###nfs文件共享##
准备两台虚拟机(服务端和客户端),配置好网络和yum源
getenforce=disabled
服务端环境配置:
[root@nfs-desktop westos]# yum search nfs
[root@nfs-server ~]# yum install -y nfs-utils ##安装nfs文件系统
[root@nfs-desktop ~]# systemctl start nfs-server ##打开nfs服务
[root@nfs-server ~]# systemctl enable nfs-server ##设置开机自启
[root@nfs-desktop ~]# systemctl status nfs-server ##查看nfs状态
nfs-server.service - NFS Server
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled)
Active: active (exited)
[root@nfs-desktop ~]# firewall-cmd --list-all ##查看防火墙规则
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
[root@nfs-desktop ~]# firewall-cmd --permanent --add-service=nfs ##添加火墙服务
success
[root@nfs-desktop ~]# firewall-cmd --permanent --add-service=rpc-bind ##添加允许进行服务动态端口分配
success
[root@nfs-desktop ~]# firewall-cmd --permanent --add-service=mountd ##添加允许进行远程挂载
success
[root@nfs-server ~]# firewall-cmd --reload
编辑共享文件说明,指定共享目录及共享方式
/etc/exports ## 在该文件中指定共享文件的目录及共享方式
[root@nfs-desktop ~]#mkdir /westos ##创建共享文件
[root@nfs-desktop ~]# cd /westos/
[root@nfs-desktop westos]# ls
[root@nfs-desktop westos]# touch file{1..10}
[root@nfs-desktop westos]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
[root@nfs-desktop ~]# vim /etc/exports
/westos *(sync,ro) ##sync数据同步,ro只读挂载
将westos 给所有人
[root@nfs-desktop ~]# exportfs -rv ##刷新
exporting *:/westos
客户端配置:
[root@nfs-server ~]# showmount -e 172.25.254.135 ##查看服务端共享出来可以远程挂载的目录
Export list for 172.25.254.135:
/westos *
[root@nfs-server ~]# mount 172.25.254.135:/westos /mnt ###将服务端共享的目录挂载到本地目录
[root@nfs-server ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3144368 7329532 31% /
devtmpfs 469332 0 469332 0% /dev
tmpfs 484920 84 484836 1% /dev/shm
tmpfs 484920 12760 472160 3% /run
tmpfs 484920 0 484920 0% /sys/fs/cgroup
172.25.254.135:/westos 10473984 3210240 7263744 31% /mnt
[root@nfs-server ~]# cd /mnt
[root@nfs-server mnt]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
之前设置完成后,不论客户端是否使用共享的目录会一直挂载在客户端
###autofs客户端使用时自动挂载###
客户端:
设置使用时自动挂载,不使用时自动卸载
[root@nfs-server ~]# umount /mnt
[root@nfs-server ~]# yum install -y autofs.x86_64 ##安装autofs服务
[root@nfs-server ~]# systemctl status nfs
nfs-server.service - NFS Server
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled)
Active: inactive (dead)
[root@nfs-server ~]# systemctl start autofs ##打开autofs服务
[root@nfs-server ~]# cd /net
[root@nfs-server net]# ls
[root@nfs-server net]# cd 172.25.254.135 ##自动挂载
[root@nfs-server 172.25.254.135]# ls
westos
[root@nfs-server 172.25.254.135]# pwd
/net/172.25.254.135
[root@nfs-server 172.25.254.135]# cd westos/
[root@nfs-server westos]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
[root@nfs-server westos]# cd
[root@nfs-server ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3150696 7323204 31% /
devtmpfs 469332 0 469332 0% /dev
tmpfs 484920 84 484836 1% /dev/shm
tmpfs 484920 12792 472128 3% /run
tmpfs 484920 0 484920 0% /sys/fs/cgroup
172.25.254.135:/westos 10473984 3210240 7263744 31% /net/172.25.254.135/westos
vim /etc/sysconfig/autofs ##更改自动挂载时间默认时间300秒
vim /etc/auto.conf ##更改自动挂载时间默认时间300秒
注意:
以上两个都是更改挂载时间文件,但系统版本不同,文件更改的路径不同
systemctl restart autofs.service ##重启
测试:
cd /net/172.25.254.146/westos ##切换进去共享目录默认自动挂载,不使用后退出共享目录到了设定自动退出时间后自动卸载
指定共享挂载点
/net/为autofs服务默认共享目录挂载点
vim /etc/auto.westos
vim /etc/auto.master
[root@nfs-server ~]# vim /etc/auto.master ###文件编辑指定挂载点
# Sample auto.master file
This is an automounter map and it has the following format
key [ -mount-options-separated-by-comma ] location
For details of the format look at autofs(5).
#
/misc /etc/auto.misc
/westos /etc/auto.westos ##挂载路径写挂载路径的上一级目录
#
NOTE: mounts done from a hosts map will be mounted with the
"nosuid" and "nodev" options unless the "suid" and "dev"
options are explicitly given.
[root@nfs-server ~]# vim /etc/auto.westos ##编辑指定挂载的配置文件
[root@nfs-server ~]# cat /etc/auto.westos
nfshare -ro 172.25.254.135:/westos
[root@nfs-server ~]# systemctl restart autofs.service
测试:
查看共享目录的挂载
[root@nfs-server ~]# cd /westos/
[root@nfs-server westos]# ls
[root@nfs-server westos]# cd nfshare
[root@nfs-server nfshare]# pwd