一、NFS概念
网络文件系统(NetworkFileSystem,NFS)是Unix系统和网络附加存储文件管理器常用的网络文件系统,允许多个用户通过网络共享文件访问。它可用于提供对共享二进制目录的访问,也可用于用户在同一工作组中从不同客户端访问其文件。
NFS协议有多个版本:Linux支持版本4,版本3和版本2,而大多数系统管理员熟悉的是NFSv3。默认情况下,该协议并不安全,但是更新的版本(如NFSV4)提供了对更安全的身份验证的支持,甚至可以通过kerberos进行加密。
nfs是linux与linix之间共享
二、实验环境搭建
本次实验需要两台主机,一台服务器(desktop),一台客户端(server)。配好各自的yum源。
实验环境搭建:
desktop:(nfs服务器)
配置ip:172.25.254.113
主机名:node1
yum install nfs-utils -y #node1安装nfs软件
systemctl start nfs-server #开启nfs服务
systemctl stop firewall
server:
配置ip:172.25.254.213
主机名:node2
yum install nfs-utils -y #node1安装nfs软件
systemctl start nfs-server #开启nfs服务
systemctl stop firewall
三、本地挂载-仅读
客户端挂载服务器目录,使客户端可以查看nfs服务端共享出来的目录及内容
服务端:
vim /etc/exports
/mnt *(async)
[共享的目录] 对任何人 不同步
:wq
ecportfs -rv #刷新查看远程共享的目录
客户端:
showmount -e 172.25.254.113 #查看113主机共享的目mount 172.25.254.113:/mnt /mnt #挂载113主机的mnt目录到本地的mnt目录
(1)服务端共享mnt目录
刷新:
(2)客户端查看nfs提供的共享信息
(3)测试
nfs服务端:
touch /mnt/file{1..5}
客户端:
mount 172.25.254.113:/mnt /mnt/
cd /mnt
ls
本地只能看,不能写
四、本地挂载-读写
nfs服务端:
vim /etc/exports
/mnt *(rw,async)
[共享的目录] 对任何人 同步
:wq
ecportfs -rv #刷新查看远程共享的目录
再次建立,权限不允许:
nfs服务端:
chmod 777 /mnt #赋予权限
ls -ld /mnt
客户端再次建立:
五、更改本地建立为文件的用户身份
默认情况下在客户端建立的文件属于nfsnobody
1.更改为谁建立的就属于谁
nfs服务端:
vim /etc/exports
/mnt *(async,rw,no_root_squash)
:wq
exports -rv #刷新
效果:
2.更改为nfs服务端指定用户
nfs服务端:
vim /etc/exports
/mnt *(async,rw,anonuid=1001,anongid=10001)
:wq
exports -rv #刷新
useradd sun
id sun #uid =1001,gid=1001
客户端效果:
六、客户端的自动挂载和卸载
yum install autofs.x86_64 -y #客户端安装
下载并启动服务,会自动生成/net/目录。
为了实验的效果,更改默认卸载时间
rpm -qc autofs #查看配置文件
vim /etc/sysconfig/autofs
TIMEOUT=3
:wq
systemctl restart autofs.service
效果来了:(进入/net/172.25.254.113/mnt,自动挂载)
退出3秒:自动卸载
七、自动挂载到指定目录
客户端:
mkdir /westos/tt -p #建立目录
vim /etc/auto.master
/westos /etc/x.nfs
[挂载目录的上一级] 自己随便写的路径
:wq
vim /etc/x.nfs
tt -ro 172.25.254.113:/mnt
:wq
systemctl restart autofs.service
效果:
退出3秒:
八、实现客户端挂载路径与服务端的名字匹配
服务端:
rm -rt /mnt/*
mkdir /westos{1..3}
客户端:
vim /etc/x.nfs
* -ro 172.25.254.113:/mnt/&
:wq
systemctl restart autofs
效果
原先:
效果: