何为nfs:
顾名思义,nfs就是network file system,即网络文件系统,是磁盘在内核上的一个映射,它属于内核空间,由内核调用到内存中使用,nfs的主要作用是实现文件系统网络共享。
nfs在企业中的用法:
企业当中系统和存储分离
集群:具有相同功能的一群主机
实际在企业当中,主机系统和存储数据是分离的,客户通过主机注册系统,然后放到存储数据的地方
现在想实现客户端用的时候自动挂载,不用的时候自动卸载,方便灵活,并且节约系统资源
实验一、搭建nfs文件系统
1、实验环境:
两台主机,并且他们之间可以直接通信,一台作为服务器,另一台为客户端,服务器ip:172.25.254.222;客户端ip:172.25.254.111
2、实验操作:
1)、服务器端操作
1、yum install nfs-utils 安装nfs文件系统
2、man 5 exports 查看/etc/exports的书写格式
3、vim /etc/exports
/mnt 172.25.254.0/24(ro/rw,sync/async) 共享文件系统
/mnt 172.25.254.0/24(rw,async,anonuid=1001,anonugid=1001,no_root_squash,all_squash)
anonuid=uid,anongid=gid 客户端创建的文件属于服务器端用户uid,gid
no_root_squash 客户端谁创建的文件就属于谁
all_squash 客户端创建的文件都属与服务器端用户
注意:ro:只读
rw:可读可写,除此之外还要保证/mnt目录对于其他用户可写
sync将内存数据和磁盘同步,否则会造成文件丢失,但是响应速度慢
async不同步,响应速度快,建议实验的时候用这个,可以直接看到效果
4、exportfs -rv 刷新查看远程的共享目录
5、systemctl status nfs-server 查看服务状态
6、systemctl start nfs-server 启动nfs-server服务
7、systemctl stop firewalld 关掉防火墙
2)、客户端操作
1、showmount -e 172.25.254.222 查看172.25.254.222主机共享的文件系统
2、mount 172.25.254.222:/mnt /mnt/ 挂载服务器目录到本地
注意:如果可写,那么创建的文件属于服务器匿名用户
anonuid=uid,anongid=gid 客户端创建的文件属于服务器端用户uid,gid
root_squash参数,在客户端以谁的身份创建就是谁的,但如果id和服务器端的某个用户一样,那么创建的用户的身份就会变更,如果不一样,则保留原来的id
身份变更
身份保持不变
no_root_squash参数,使客户端创建的文件属于服务器端
实验二、nfs在本地的自动挂载和卸载
1、实验环境:
在实验一的基础上对客户端进行操作
2、实验操作:
客户端:172.25.254.111
yum install autofs -y 安装可以实现自动操作的软件
systemctl start autofs 启动服务
cd /net/172.25.254.222/mnt 自动挂载目录
rpm -qc autofs 查看配置文件
rpm -qa | grep autofs 查看
vim /etc/sysconfig/autofs
修改等待时间
systemctl restart autofs.service 重启服务
cd /net/172.25.254.222/mnt/
df
实验三、更改自动挂载的目录
1、实验环境:
在实验二的基础上对客户端进行操作
2、实验目的:
将172.25.254.222:/mnt 挂载到/mnt/westos
3、实验操作:
客户端: 172.25.254.111
1、vim /etc/auto.master
/mnt(目的挂载点的上级目录) /etc/auto.nfs(自动挂载配置文件)
2、vim /etc/auto.nfs
westos(目的挂载目录) 172.25.254.222:/mnt(服务器端共享目录)
3、systemctl restart autofs 重启服务
4、mount -o vers=3,ro 172.25.254.111:/mnt/ /media/ 手动指定改在类型
5、cd /mnt/westos 查看测试
mount 查看挂载类型
实验四、自动设置挂载类型:
1、实验环境:
在实验三的基础之上,在客户端进行相应的操作
2、实验目的
自动设置挂载类型
3、实验操作
客户端:
vim /etc/auto.nfs
westos -ro,vers=3 172.25.254.111:/mnt
/mnt/westos 只读 版本 共享目录
systemctl restart autofs
cd /mnt/westos
mount
实验五、挂载的目录和服务端的名字匹配
1、实验环境:
以实验三为基础
2、实验目的
挂载的目录和服务端的名字匹配
3、实验操作
客户端:
1、vim /etc/auto.nfs
* -ro,vers=3 172.25.254.222:/mnt/&
客户端目录 只读 版本 服务器端的共享目录
2、systemctl restart autofs 重启服务
3、测试
cd /mnt/westos1
df
cd /mnt/westos2
df
...
服务器端三个共享目录
客户端三个目录