磁盘存储与相关架构

RAID

RAID5 磁盘容量为N-1;最少需要3块磁盘

LVM

DAS

存储通过SAS、iSCSI或FC等接口与服务器直接连接,中间没有任何转换交换设备,作为服务器内置硬盘容量的扩充,具有一定的灵活性和限制性。RAID通常在服务器端进行设置,现在通常单一存储与服务器直连也称为DAS。

NAS

NAS(Network Attached Storage:网络附属存储)是通过IP网络访问的文件系统,可以理解为服务器+硬盘+文件系统软件的组合。存储可配置网络 IP 地址,直接接入IP局域网络,RAID在存储器端进行设置并配置文件共享功能。

SAN

SAN是一种专门用于存储的专业网络,RAID在存储器端进行设置。SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。

其他

NFS

NFS是unix上的协议,在Linux上都是用它来实现NAS的。就是网络共享存储,就是通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录的数据。

通过RPC+TCP/IP实现文件访问,RPC服务会统一管理NFS的端口,客户端和服务端通过RPC来确定端口,进行数据传输,这些额外的用来传输数据的端口是随机选择的。在NFS中RPC就是来管理NFS注册的端口的RPC的端口是111。也就是RPC管理服务端的NFS端口分配,客户端要传数据,那客户端的RPC会先跟服务端的RPC去要服务器的端口,要到端口后再建立连接,然后传输数据。

简单流程:

  • 首先服务器端启动RPC服务,并开启111端口
  • 服务器端启动NFS服务,并向RPC注册端口信息
  • 客户端启动RPC服务,向服务端的RPC服务请求服务端的NFS端口
  • 服务端的RPC服务反馈NFS端口信息给客户端
  • 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输

centos7查询相关程序

1
2
rpm -qa | egrep "nfs|rpcbind"
yum search nfs-utils rpcbind

挂载了一个其他linux系统的目录,使用NFS同步过来的文件权限是正确的,写入文件的权限会变成nobody。

参考