linux下共享文件系统的服务NFS(Network File System)网络文件系统
2019-05-30 23:58
1441 查看
1.什么是NFS?
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
2.使用共享文件系统的好处
- 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
- 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
- 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
文件系统属于内核空间里面的,内核调用到内存当中使用
文件系统是磁盘在内核上面的一个映射
把远程主机的东西挂载到本地,直接在本地修改,并且同步到远程主机上面
nfs网络文件系统
4.以下是搭建nfs系统,实现本地可以挂载
实验步骤:
在205主机上面搭建nfs文件系统: yum install nfs-utils 安装服务
vim /etc/exports编辑该服务的配置文件 /mnt 172.25.254.0/24(ro,sync) exportfs -rv 刷新
systemctl status nfs-server 查看服务是否开启
在105主机上面测试:
yum install nfs-utils -y
showmount -e 172.25.254.111快速查看111远程服务器共享出来的东西(错误)因为服务端的火墙开着
在205主机上面:
systemctl status firewalld systemctl stop firewalld
在105主机上面:
showmount -e 172.25.254.111快速查看111远程服务器共享出来的东西(正确) 但是看不到/mnt这个目录 因为服务器的nfs服务没有开启
在205主机上面:
systemctl start nfs-server exportfs -rv刷新
在105主机上面:
showmount -e 172.25.254.111可以看到/mnt
mount 172.24.254.111:/mnt/ /mnt/挂载服务端的目录到本地 df查看挂载
cd /mnt/进入这个目录 实际上进入了服务器的目录 ls查看服务器的这个目录里面的内容 touch file失败
在105上面:
umount /mnt卸载 df查看是否卸载
在205主机上面:
vim /etc/exports编辑改服务的配置文件 /mnt 172.25.254.0/24(ro,async)不同步 exportfs -rv刷新
在105上面:
mount 172.25.254.111:/mnt/ /mnt/ df
cd /mnt ls touch file(虽然不允许,但是响应比较快)
5.怎样将nfs服务器的目录可以挂载,并且可以在本地对它修改
在服务端:
vim /exports 改为:/mnt 172.25.254.0/24(rw,async)(可以写) exportfs -rv
在客户端:
mount 172.25.254.111:/mnt/ /mnt/ dfcd /mnt touch file不行(虽然服务允许了,但是文件系统的权限不允许)
在服务端:
ls -ld /mnt/查看nfs服务器的这个目录的权限 chmod 777 /mnt/改文件系统的权限
在客户端:
touch file ls
在服务端:
ls 有了 ls -l file(文件属于服务端匿名用户的)
6.在本地建立东西所属用户的身份设置:
anonuid=1001(指定客户端的用户身份为服务端已经存在的用户身份)
就是客户端建立文件的身份是服务端指定的服务端自己存在的用户,客户端不存在这个用户
no_root_squash (指定沿用客户端挂载的用户身份) 客户端以哪个身份建立文件,文件就属于客户端哪个用户的
all_squash(转变所有的客户端的用户身份为服务端的用户身份)
不管客户端以哪个身份建立文件,文件的所有人所有组均为服务器指定转换为服务器自己存在的用户身份
都会被映射成服务端匿名用户,如果指定了,就是指定的1001的用户
优先级由低到高
实验步骤:
在客户端:
cd umount /mnt
在服务端:
useradd westos新建一个普通用户 id westos查看他的id
vim /etc/exports 编辑nfs服务的配置文件 /mnt 172.25.254.0/24(rw,async,anonuid=1001,anonugid=1001)使得在客户端本地建立文件 属于服务端的指定的用户 exportfs -rv刷新
客户端:
touch file1 ls -l 发现file1的文件的属于1001的 id westos 发现客户端westos不存在
在服务端:
ll发现file1属于westos
vim /etc/exports /mnt 172.25.254.0/24(rw,async,anonuid=1001,anonugid=1001,no_root_squash)让文件属于客户端谁建立就属于谁 exportfs -rv
客户端:
touch file2 ll 发现file2 属于root(客户端的root)
服务端:
客户端:
chmod 777 /mnt ls -ld /mnt
su - student切换用户 cd /mnt进入nfs服务器的目录 ls touch file3 建立文件 ll 发现file3属于student属于student自己
在服务端;
ll发现file3属于student
在客户端多建立两个用户 切换到用户,建立一个文件试试 useradd yyh su - yyh cd /mnt touch file4 ll 属于yyh
在服务端:
ll file4属于westos 因为westos和yyh的id一样
vim /etc/exports /mnt 172.25.254.0/24(rw,async,anonuid=1001,anonugid=1001,no_root_squash,all_squash)使得客户端建立的文件均属于服务端的用户 exportfs -rv
在客户端:
touch file5 ll 发现属于yyh(1001)
在服务端:
ll 发现属于westos(1001)
7.nfs在企业里面的自动挂载和卸载
企业当中系统和存储分离 集群:具有相同功能的一群主机 前面当一个用户注册信息的时候放在一台主机里面,当主机坏了,这个用户就登陆不了了 当由有多个用户分别对应多台主机的时候,每个用户的信息都在自己的服务器里面放着 但是这样很不好,当其中一个服务器挂了,那个主机的信息就没了 实际在企业当中,主机系统和存储数据是分离的,客户通过主机注册系统,然后放到存储数据的地方 每台主机和存储设备相连 但是当主机不用的时候,没有必要和存储系统连接,浪费资源 现在想实现客户端用的时候自动挂载,不用的时候自动卸载 之前mount umount很麻烦
以下的操作都在客户端进行:
df查看上一个实验有没有卸载 umount /mnt卸载
yum install autofs -y安装可以实现自动挂载文件系统的服务
systemctl start autofs开启服务 systemctl enable autofs设置开机启动
cd /net 进入 ls查看什么都没有 cd 172.25.254.111进入服务器 pwd
cd /mnt进入修改目录 df查看有没有自动挂载 (cd /net/172.25.254.111/mnt ls也可以,这样不容易出错) cd退出 df 依然挂载,没有自动卸载,因为默认停留时间是300s 改配置文件 rpm -qc autofs 查看配置文件,版本不一样,配置文件不一样
rpm -qa | grep autofs vim /etc/sysconfig/autofs 改等待时间 systemctl restart autofs.services
cd /net/172.25.254.111/mnt df cd df (可看到已经自动挂载)
注意:不要一直df查看,查看一次就会被读取一次
下面想改变自动挂载的目录
现在不想通过/net 这个目录自动挂载 172.25.254.111:/mnt/ /mnt/westos 现在想改变挂载策略,将服务端的目录 挂载到 我的客户端我想挂载的任何目录上 实际上客户端/mnt/westos是不存在的 以下所有的实验都在客户端进行: cd /mnt/westos不存在 172.25.254.111:/mnt /mnt/westos 想自动挂载在/mnt/westos上面 vim /etc/auto.master 写入:/mnt(目的挂载目录的上一级目录) /etc/auto.nfs(在这个文件里面编写) vim /etc/auto.nfs
westos(目的挂载目录) 172.25.254.111:/mnt服务端被挂载的目录 systemctl restart autofs
cd /mnt/westos ls df 可以看到:172.25.254.111:/mnt挂载在我指定的/mnt/westos上面 cd df 自动卸载
相关文章推荐
- NFS中小企业常见的网络文件系统服务(network file system)
- NFS中小企业常见的网络文件系统服务(network file system)
- NFS(Network File System)网络文件系统版本
- 20170110L05-03老男孩linux实战运维培训-nfs网络文件系统服务介绍与实战01
- Linux 服务器之间如何进行文件目录共享NFS(网络文件系统)
- NFS,两台linux设置网络共享文件系统
- NFS(Network File System)网络文件系统
- 搭建 NFS网络文件系统(Network File System)
- ubuntu 7.10 NFS(Network File System, 网络文件系统)安装设置步骤
- NFS 网络文件系统/ARM-LINUX NFS服务启动设置
- Linux运维笔记-文档总结-NFS网络文件系统和autofs自动挂载服务
- IBM UNIX & LINUX -AIX 5L 系统管理技术 学习笔记1 -网络文件系统 NFS network file system
- Linux之网络文件共享服务(NFS)
- linux系统之nfs(网络文件系统)文件共享
- Linux高性能集群常用服务简介与配置(二)——NFS(网络文件系统)
- Linux网络服务:NFS网络文件系统与实现
- Linux实战教学笔记22:企业级NFS网络文件共享服务
- TCP-IP详解卷1-29:NFS(Network File System):网络文件系统
- linux下网络文件系统NFS服务的搭建
- NFS(网络文件系统) Linux 系统上常用的文件共享方式