存储类型
存储类型分为三种
- 直连式存储:Direct-Attached Storage,简称DAS
- 网络附加存储:Network-Attached Storage,简称NAS
- 存储区域网络:Storage Area Network,简称SAN
DAS:存储和主机是直连的,家用电脑,服务和硬盘直连,存储和主机在一台机器上
SAN:有一定距离,主机核存储设备距离先对较远 ,只提供空间不提供文件系统,管理等其他软件服务,只相当于多了一块硬盘
NAS:存储在远程,文件系统也在远程,这块空间,你可以直接访问上面的文件,你只能看到文件,文件共享NFS FTP 等都是NAS
三种存储架构的应用场景
- DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
- NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
- SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂
ftp文件传输协议
ftp 工作原理
主动模式:
命令(控制):客户端:随机port--->服务器:21/tcp
数据:客户端:随机port<---服务器:20/tcp
首先 客户机会随机产生一个端口号,主动去链接 服务器的tcp21端口,如果服务器是主动模式那么服务器会主动开启 20端口和客户端相连,然后再传输数据
被动模式:
命令(控制):客户端:随机port--->服务器:21/tcp
数据:客户端:随机port --->服务器:随机port /tcp
首先 客户机会随机产生一个端口号,主动去链接 服务器的tcp21端口 , 如果服务器是被动模式,那么服务器会产生一个随机的端口早被动等待客户机来连接后再发送数据
协议:tcp
端口号:20 2121是命令端口 20是数据端口
ftp服务端软件: vsftpd filezilla
ftp客户端: ftp
可以登录用户
1匿名用户: anonymous 或者 ftp
2系统用户:在 /etc/passwd 中
3虚拟用户: 只可以用来登录ftp
NFS简介
NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限 NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。 通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议
NFS 它是文件系统,是操作系统内核来管理的
NAS存储:
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能)
NFS 也是 NAS 存储 设备必然支持的一种协议
以完成远 程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,
前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
特点:
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。
NFS软件介绍
软件包:nfs-utils(包括服务器端和客户端)
相关软件包:rpcbind(必须)
nfs端口号不固定
RPC端口号111
NFS服务主要进程:
- rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
- rpc.mountd 挂载和卸载NFS文件系统,包括权限管理
- rpc.lockd 非必要,管理文件锁,避免同时写出错
- rpc.statd 非必要,检查文件一致性,可修复文件
日志:/var/lib/nfs/
NFS共享配置文件格式
/dir 主机1(opt1,opt2) 主机2(opt1,opt2)...
共享目录 共享给哪个主机
格式说明:
- 以#开始的行为注释
- 主机格式
anonymous:表示使用*通配所有客户端
单个主机:ipv4,ipv6,FQDN
IP networks:两种掩码格式均支持
172.18.0.0/255.255.0.0
172.18.0.0/16
wildcards:主机名通配,例如:*.magedu.com,IP不可以
netgroups:NIS域的主机组,@group_name
默认选项:(ro,sync,root_squash,no_all_squash)
ro,rw 只读和读写
async 异步
数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性低
sync(1.0.0后为默认)同步
数据在请求时立即写入共享存储磁盘,性能低,安全性高
压缩权限
root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS
7以前的版本为nfsnobody
no_root_squash 远程root映射成NFS服务器的root用户
all_squash 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
no_all_squash (默认)保留共享文件的UID和GID
anonuid和anongid 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用
/data/nfs1 *(rw,all_squash,anonuid=1002,anongid=1002)
NFS工具
exportfs
exportfs可用于管理NFS导出的文件系统
exportfs -v #查看当前共享信息
exportfs -r #重新加载服务配置
showmount
showmount用以查询NFS网络服务器的基本信息
showmount -e // 查看本机发布的NFS共享目录
showmount -e 服务器的ip //查看NFS服务器上哪些目录被共享
showmount -e 172.16.235.55 //显示IP地址为172.16.235.55的NFS服务器上的所有共享目录
实验
实验内容: 把7-1服务端的share文件夹共享到7-2客户端
实验环境:
服务端:172.16.88.4
客户端:172.16.88.3
实验步骤:
服务器配置:
systemctl stop firewalld //关闭防火墙和selinux
setenforce 0
yum install nfs-utils.x86_64-y //安装nfs-utils软件包
mkdir /share //新建共享目录/share
vim /etc/exports //编辑nfs配置文件
systemctl start nfs //开启服务
exportfs -r //重新读取配置
exportfs -v //查看NFS共享目录的详细信息
客户端设置:
systemctl stop firewalld //关闭防火墙和selinux
setenforce 0
yum install nfs-utils.x86_64-y
showmount -e 172.16.88.4 //显示IP地址为172.16.88.4的NFS服务器上的所有共享目录
远端用户永久挂载
vim/etc/fstab
172.16.88.4:/share /mnt nfs defaults,_netdev(如果网络不通,就不挂载了) 0 0