【存储知识学习】第六章-磁盘阵列-《大话存储》阅读笔记
目录
6.1 外置机柜
6.2 结合RAID卡实现外置磁盘阵列
6.3独立的外部磁盘阵列
6.4 双控制器的搞安全性磁盘阵列
1.Active-Standby
2.Dual-Activate
3.脑分裂
6.5连接多个扩展柜
6.6 完整功能的模块化磁盘阵列
6.7 主机与磁盘阵列本是一家
6.1 外置机柜
Just a Bound Of Disk
6.2 结合RAID卡实现外置磁盘阵列
自带RAID磁盘控制器的磁盘箱叫做磁盘阵列或者盘阵。整个盘阵对于主机来说就是SCSI总线上一个或者多个设备,具有一个或者多个SCSI ID。所有逻辑磁盘都以LUN的形式呈现给主机。
如如所示,盘阵中SCSI控制器在逻辑上有两个部分,右边的S2控制器连接了一条SCSI总线,上面有若干磁盘,左边的S1控制器也同样连接了一条SCSI总线,但是上面只有两个设备,一个就是主机SCSI控制器,另一个就是它自己。
S1 和 磁盘都处于Target模式,处于被动地位,S2处于Initiator模式,是主动地位。
6.3独立的外部磁盘阵列
磁盘称为独立的外部设备,从此以后,存储技术了真正成为一个独立的外部设备。
1.前端后端
前端后端是相对的
2.内部接口和外部接口
内部接口是指磁盘阵列控制器连接其内部磁盘时使用的接口,可以连接IDE磁盘、SCSI磁盘、SATA磁盘和FC磁盘等,外部接口指磁盘控制器对于主机端,也就是前端,提供什么接口,比如SCSI接口、FC接口等,内部接口可以和外部接口相同,比如内部使用SCSI磁盘,外部也是用SCSI接口连接主机,内外接口也可以不同,比如内部连接IDE盘,外部却用SCSI接口连续剧主机。
3.多外部接口
可以有多个外部SCSI接口,是为了连接多台主机,每个由磁盘RAID控制器生成的逻辑磁盘,可以通过设置只分配(Assign/map)到其中一个接口,比如LUN1被分配到了1号口,那么连接到2号口的主机就不会看到这个LUN。也可以把一个LUN同时分配到两个口,两台主机同时识别出这个LUN。让两台主机同时对宇哥LUN写数据,底层是允许的,但是很容易造成数据的不一致。除非使用集群系统文件或者高可用性系统软件参与。
4.关于LUN
LUN是SCSI ID更细一级的地址好,每个SCSI ID (TargetID)下面还可以有更多LUNID。磁盘阵列可以在一个SCSI ID下虚拟多个LUN地址,每个LUN地址对应一个虚拟磁盘,这样就可以在一条总线上生成众多虚拟磁盘。以满足需求。
后来人们把硬件层次的虚拟磁盘 ,统一称为LUN,不管是不是在SCSI环境下,虽然LUN最迟只是SCSI体系里面的一个概念。而由软件生成的虚拟磁盘统一称为卷,比如各种卷管理软件、软RAID软件等所生成的虚拟磁盘。
6.4 双控制器的搞安全性磁盘阵列
如果盘阵内部只有一个控制器模块,那么将会有单点故障。分配给其中一个控制器的LUN逻辑卷,可以在这个控制器因故障失效的时候,自动被另一个工作正常的控制器接管,继续处理这个LUN的读写请求。两个控制器平时都管理者各自的LUN,一旦发现对方故障,那么就会自动将所有LUN接管过来。
两个控控制器可以使用Active-Standby的方式,也可以使用Sual-Activate的方式
1.Active-Standby
这种方式又称HA,即两个控制器中同事有一个在工作,另外一个处于等待,同步和监控的状态,一旦主控制器 发生故障,则备控制器立即接管其工作。两个控制器分别占用一个ID,这样,剩余14个Id给磁盘使用,平时只有主控制起的来发送指令作为Inititator向除了备份控制器ID之外总线上其他ID来发送指令读写数据。
同时备份控制器与主控制器之间保持通信和缓存同步,一旦主控制器与备份控制器失去联系,那么备份控制器立即接管主控制器。
2.Dual-Activate
两个控制器同时工作,每个控制器都对所有后端的总线有通路,但是每个总线平时只有被其中一个控制器管理,另一个控制器不去触动,可以将后端一半的总线交由零是个控制器管理,一旦其中一个控制器损坏,则另外一个控制器接管所有总线。
3.脑分裂
两个控制器之间通路出现了问题,而不是其中某个控制器死机,两个控制器其实都是正常工作的。但两者都检测不到对方的存在。所以两者都尝试接管所有总线。这就是所谓的脑分裂。
6.5连接多个扩展柜
一个控制器上面有多个通道,一个通道下面就是一条SCSI总线,那么将盘真的每个控制器上再多接一个或者两个通道,来充分发挥他的能力。每个控制器多出一个额外的磁盘的通道接口,这个接口暴露在机箱外面,用线缆连接一个JBOD扩展柜。
经过这样的改造,可以连接的磁盘数量成倍的增长。图中所示的每个控制器增加了一个磁盘通道,还可以增加到两个或者多个通道。理论上,只要控制器处理速度够强,总线带宽和面板上的空间足够大,多增加几个通道都没问题。
把带有控制器的磁盘柜称作机头,机头里可以有磁盘,也可以根本不含磁盘。
6.6 完整功能的模块化磁盘阵列
由于JBOD就是一堆磁盘,显得和机头有些不搭配,所以也给扩展柜增加了所谓的模块,不细看的话,外观和机头没多大区别,支部阔扩展柜的模块上没有RAID控制器功能。但会增加其他功能。
6.7 主机与磁盘阵列本是一家
1.磁盘阵列控制器的主机化
随着人们的需求不断提高,面对大容量的磁盘,小小控制器已经不能满足需求了。因此大的主机系统替代了短小精悍的控制器。
目前有两种趋势,一种是趋向使用现成的主机来充当控制器载体,另一种是趋向使用高集成度的芯片作为控制器的核心。
2.盘阵的类型
SCSI-FC盘阵、FC-FC盘阵、SATA-FC盘阵、SCSI-SCSI盘阵。
【存储知识学习】第六章-磁盘阵列-《大话存储》阅读笔记相关推荐
- 【存储知识学习】第一章存储系统的前世今生--《大话存储》阅读笔记
1.1存储历史 竹简 -> 纸张 -> 选数管 ->穿孔卡 -> 穿孔纸带 ->磁带 -> 磁鼓 ->硬盘->软盘 ->光盘->U盘(闪 ...
- 【存储知识学习】第二章存走进计算机IO世界--《大话存储》阅读笔记
2.1IO的通路--总线 IO是通过共享一条总线的方式来实现的.包括用于数据交互的数据总线.传递信号的控制总线.中断与仲裁的中断总线,还有一些是地址总线,用来确认通信时的目标设备. 1.PCI总线 P ...
- 《Python网络爬虫——从入门到实践》第六章将数据存储至MySQL数据库的学习心得与总结(出错与纠正方法)
<Python网络爬虫--从入门到实践>第六章将数据存储至MySQL数据库的学习心得与总结(出错与纠正方法) 作为刚开始入门python的小白,对大数据,网络爬虫比较感兴趣.完全是自我修炼 ...
- STM32固件库(标准外设库)入门学习 第六章TIM定时器(一)
STM32固件库(标准外设库)入门学习 第六章TIM定时器(一) 文章目录 STM32固件库(标准外设库)入门学习 第六章TIM定时器(一) 前言 一.定时器类型 1 基本定时器 2 通用定时器 3 ...
- Java基础学习——第六章 面向对象编程(下)
Java基础学习--第六章 面向对象编程(下) 一.关键词:static 1. static关键字的引入 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new ...
- 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第六章:数据存储
第 6 章 数据存储 本章介绍Android 4种存储方式的用法,包括共享参数SharedPreferences.数据库SQLite.存储卡文 件.App的全局内存,另外介绍Android重要组件-应 ...
- 计算机组成原理学习-第六章 中央处理器(详细、系统)
如果你对其他计算机组成原理知识感兴趣,请考虑阅读我的专栏: 计算机组成原理[专栏] 须知 本文仅作学习笔记使用,仅在CSDN网站发布,如果在其他网站发现,均为侵权行为,请举报.作者:小王在努力. 参考 ...
- [翻译] 神经网络与深度学习 第六章 深度学习 - Chapter 6 Deep learning
目录: 首页 译序 关于本书 关于习题和难题 第一章 利用神经网络识别手写数字 第二章 反向传播算法是如何工作的 第三章 提升神经网络学习的效果 第四章 可视化地证明神经网络可以计算任何函数 第五章 ...
- datawhale可视化学习第六章 场景案例显神通
数据可视化的图表种类繁多,各式各样,因此我们需要掌握如何在特定场景下使用特定的图表. 数据可视化是为业务目的服务的,好的可视化图表可以起到清晰准确反映业务结果的目的,在选择使用何种图表时,通常我们需要 ...
- 【知识图谱】 | 《知识图谱——方法、实践与应用》阅读笔记
<知识图谱--方法.实践与应用>的阅读笔记 知识图谱--方法.实践与应用 第1章 知识图谱概述 1.1 什么是知识图谱 1.2 知识图谱的发展历史 1.3 知识图谱的价值 1.4 国内外典 ...
最新文章
- 寻找获取Bean 的入口
- 2018年排名Top 100的Java类库——在分析了277,975份源码之后得出的结论
- 如何清理qt源码_Qt+FFmpeg本地录制音频
- python下载教程-Python 如何入门?附Python教程下载
- 尚硅谷设计模式笔记-适配器模式
- 如何格式化搭载 Apple 芯片的 Mac?
- 【Datawhale IntelVINO学习笔记】OpenVINO音频和人体姿态识别
- 关于:Table '项目名称..hibernate_sequence' doesn't exist的解决方法
- FYI| Free online events
- MiniGUI编程指南
- 练习2-7 编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果:将x从第p位开始的n个(二进制)位求反(即1变成0,0变成1),x的其余各位保持不变。
- rk3588 与 rk3399 差异比较
- Tuscany插件的安装
- Python初探:turtle(海龟)实现动画
- 婚恋交友源码开发,实现图片的滑动切换
- 股票分析平台 python_GitHub - pythonstock/stock: stock,股票系统。使用python进行开发。...
- dpdk 的环境配置搭建
- 技术点:connect函数的几种写法及连接方式
- 验证Tensorflow-gpu下载成功
- JavaScript中的图片处理与合成(四)
热门文章
- source insight 注释乱码?(【File】 > 【Reload As Encoding…】 > 【Chinese Simplified (GB18030)】 > 选择后,点击load)
- 电脑物理内存与虚拟内存的区别与关系
- 【Github上有趣的项目】TensorKart 自动驾驶马里奥赛车(玩不了)
- 【放置奇兵】算法 酒馆攻略
- tensorflow GPU笔记
- python numpy np.argmax(a, axis=None, out=None) (按给定轴位比较,返回第一个最大值索引【下标】)
- Ubuntu16.04彻底删除旧内核
- win10 详细配置JAVA环境变量(最详细),操作步骤如下:
- 面向对象技术-设计模式的图
- centos6.8安装mysql打不开,Centos6.8安装Mysql5.7