网络拓扑:
- DAS(直接附加存储)
普通磁盘
如:电脑内的磁盘,手机内的磁盘
优点:技术简单,传输速率更高
缺点:存储设备与磁盘相互绑定
- NAS(网络附加存储)
用户网络和NAS处于同一个广播域
如:小米路由器上可以接磁盘的接口,接上后可以开启局域网内网共享,客户机可以通过网络访问到共享磁盘 ,可以当备份磁盘
优点:技术相对简单;不要求存储设备直连主机(通过网络),只需在同局域网下即可;不需要操作文件系统,DAS需要格式化等等
缺点:存储速率较慢
个人数据存储用CIF协议;服务器存储用NFS
- SAN(存储区域网络)
用户网络和SAN不在同一个网络内
优点:存储安全性较高(用户网络和SAN不在同一个网络内);存储速率较高
缺点:造价昂贵(需要有交换机,网卡);技术难度相对较高
存储技术
- 块存储
![]()
![]()
优点:可以通过Raid/LVM等提供保护;可以独立使用
缺点:不利于共享
- 文件存储/网络存储
![]()
优点:可以再不同主机之间共享存储;构建资金低;不同操作文件系统
缺点:读写速率慢,传输速率慢
一般会与NAS结合起来
- 分布式存储(包含上面所有的优点,速率快,能共享)
把共享存储服务器分布式,分布多个服务器存放不同数据(master存放元数据,chunk servers存放真实数据)
原理:超级快--记录存储文件的元信息(文件的详细信息);数据块--真正记录数据的地方;元数据服务器--超级快单独放在一个服务器上存储;真实数据服务器--数据块单独放在一个服务器上存储;客户访问文件先找元数据服务器,它把元数据信息返回给客户端并且告诉客户真实数据所在服务器的位置,然后客户去连接后端真实服务器获取数据,取数据会在多台服务器上去取,所以速率会很快
优点:读写效率高(把数据分散到不同服务器上存储);可在不同主机之间共享存储
缺点:造价昂贵;技术实现难度较高
- 分布式
将一个文件拆分多份,把每一份放在不同的服务器进行存储
如果有一组文件,把组内的每一个文件单独放在不同的服务器进行存储(一般都用这一种)
MFS(驯鹿文件系统)--moosefs
- 介绍:具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上三种方式,确保一份数据有多个备份副本,可以给FTP,web等提供后端存储。
这里的冗余指的是一份数据会备份到多个服务器内,可以手动指定,只有两台服务器同时损坏才会造成数据丢失
这里的容错指的是保护管理员误删除的,它会有一个类似于垃圾箱的功能(会将删除的数据放入垃圾箱内保存一段时间,定时清空)
- MFS的优点:
a.高可靠性--每一份数据可以设置多个备份,并可以存储在不同的主机上
b.高可扩展性:可以轻松的通过主机的磁盘容量或增加主机数量来动态扩展整个文件系统的存储量
c.高可容错性:通过对mfs进行设置,实现当数据文件被删除后的一段时间内,依旧存放于主机的回收站里,以备误删除恢复数据
d.高数据一致性:即使文件被写入,访问时,依然可以轻松完成对文件的一致性快照(可以帮当前的文件拍出一个新的超级快)
- MFS的缺点:
a.master是存放超级块的,目前是单节点,如果gg了,那么用户就访问不了。MFS企业版无单节点,社区版是单节点,但是我们使用社区版可以通过keepalived对master进行高可用
b.master服务器对主机的内存要求略高,因为master会把当前所有数据的元数据信息全部加载到内存中
c.复制元数据时间较长(可调整)
- MFS的应用场景:
大规模高并发的数据存储及访问。在小型环境中共享存储内放着一些很小的文件,用分布式存储反而会更慢;
- MFS的组件说明:
master服务器:存放元数据信息的服务器,会把数据放在master的内存进行索引操作
Metalogger服务器:备份Master服务器内的元数据。可以恢复元数据,可以有多个
data servers(chunk servers)数据存储服务器:存放真正数据文件的实体服务器,可以由三种不同类型的磁盘充当,物理服务器、磁盘、分区
client servers:挂载并使用MFS文件系统的客户端,当读写文件时,客户端首先会连接master服务器获取数据的实体服务器的位置,然后找实体服务器,访问服务器读取或写入,mfs客户端通过fuse mechanism实现挂载mfs文件系统的,因此,只有系统支持fuse(用户空间文件系统),就可以作为客户端访问mfs整个文件系统
- MFS工作与客户端之间的方案:
遍历:ls,客户端连接master,检索内存数据返回元数据信息
删除:rm,客户端连接master,给master发出删除文件的请求---master定位要删除的元数据信息,删除元数据信息,将删除真实数据的请求加入到队列中,到达保存时间后,真实数据被删除---master返回信息,客户端响应
查看:cat,客户端连接master,给master发出要查看的文件的IP Port chunkid请求,master把IP Port chunkid返回给客户端,客户端拿着IP Port chunkid找chunkserver直接获取数据
拷贝文件:copy,客户端连接master,给master发出拷贝文件的请求,master确定chunkserver向对应chunkserver传输文件大小创建新块请求,chunkserver接受请求在当前目录创建新块用于写入数据创建成功后MFS返回chunkid给master,master发送IP port chunkid至客户端,客户端连接新块并向master发送关闭文件的请求,msater连接至新块检索判断最终大小以及修改时间更新当前元数据信息
修改文件:vim,客户端连接master,给master发出修改文件的请求,master向chunkserver告知拷贝新块(副本1),master将副本1的块的IP port chunkid返回给客户端,客户端连接副本1块,客户端开始修改,修改完成客户端向master发起文件关闭请求(文件如果未被修改,master连接至副本1块对比文件内容,如果一致,删除副本1块,更新元数据信息,比如是最终修改时间;文件如果被修改,master,master连接至副本1块对比文件内容,如果不一致,chunkserver创建副本2,副本2根据副本1的大小定制,将内容拷贝到副本2,chunkserver删除副本1块,将副本2id返回给master服务器,master更新源数据信息,修改元信息)
网络拓扑+存储技术
- 块存储+DAS
STAT线连接(成本低)
- 块存储+NAS
- 块设备+SAN
- 文件存储+NAS
- 分布式存储+SAN
- ISCSI服务的搭建
ISCSI的工作方式:服务端--target 客户端---initator;ISCSI服务器是用来做共享的块设备的
LUN(逻辑单元):如果ISCSI有两块2T的磁盘,它只想让客户端使用50个G的话,那么它先把磁盘挂载到本地的/mnt/iscsi下,然后把目录指定成LUN,如果客户找LUN就相当于找的是/mnt/iscsi,如果要指定LUN,那么需要把LUN封装成一个IQN的标签,一个IQN标签会对应多个LUN,如果把IQN绑定给客户端,那么客户端就绑定了这两个35个G的磁盘
![]()
![]()

普通磁盘
用户网络和NAS处于同一个广播域
用户网络和SAN不在同一个网络内



STAT线连接(成本低)





1768

被折叠的 条评论
为什么被折叠?



