目录

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.1存储历史 竹简  ->  纸张 -> 选数管 ->穿孔卡 -> 穿孔纸带 ->磁带 -> 磁鼓 ->硬盘->软盘 ->光盘->U盘(闪 ...

  2. 【存储知识学习】第二章存走进计算机IO世界--《大话存储》阅读笔记

    2.1IO的通路--总线 IO是通过共享一条总线的方式来实现的.包括用于数据交互的数据总线.传递信号的控制总线.中断与仲裁的中断总线,还有一些是地址总线,用来确认通信时的目标设备. 1.PCI总线 P ...

  3. 《Python网络爬虫——从入门到实践》第六章将数据存储至MySQL数据库的学习心得与总结(出错与纠正方法)

    <Python网络爬虫--从入门到实践>第六章将数据存储至MySQL数据库的学习心得与总结(出错与纠正方法) 作为刚开始入门python的小白,对大数据,网络爬虫比较感兴趣.完全是自我修炼 ...

  4. STM32固件库(标准外设库)入门学习 第六章TIM定时器(一)

    STM32固件库(标准外设库)入门学习 第六章TIM定时器(一) 文章目录 STM32固件库(标准外设库)入门学习 第六章TIM定时器(一) 前言 一.定时器类型 1 基本定时器 2 通用定时器 3 ...

  5. Java基础学习——第六章 面向对象编程(下)

    Java基础学习--第六章 面向对象编程(下) 一.关键词:static 1. static关键字的引入 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new ...

  6. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第六章:数据存储

    第 6 章 数据存储 本章介绍Android 4种存储方式的用法,包括共享参数SharedPreferences.数据库SQLite.存储卡文 件.App的全局内存,另外介绍Android重要组件-应 ...

  7. 计算机组成原理学习-第六章 中央处理器(详细、系统)

    如果你对其他计算机组成原理知识感兴趣,请考虑阅读我的专栏: 计算机组成原理[专栏] 须知 本文仅作学习笔记使用,仅在CSDN网站发布,如果在其他网站发现,均为侵权行为,请举报.作者:小王在努力. 参考 ...

  8. [翻译] 神经网络与深度学习 第六章 深度学习 - Chapter 6 Deep learning

    目录: 首页 译序 关于本书 关于习题和难题 第一章 利用神经网络识别手写数字 第二章 反向传播算法是如何工作的 第三章 提升神经网络学习的效果 第四章 可视化地证明神经网络可以计算任何函数 第五章 ...

  9. datawhale可视化学习第六章 场景案例显神通

    数据可视化的图表种类繁多,各式各样,因此我们需要掌握如何在特定场景下使用特定的图表. 数据可视化是为业务目的服务的,好的可视化图表可以起到清晰准确反映业务结果的目的,在选择使用何种图表时,通常我们需要 ...

  10. 【知识图谱】 | 《知识图谱——方法、实践与应用》阅读笔记

    <知识图谱--方法.实践与应用>的阅读笔记 知识图谱--方法.实践与应用 第1章 知识图谱概述 1.1 什么是知识图谱 1.2 知识图谱的发展历史 1.3 知识图谱的价值 1.4 国内外典 ...

最新文章

  1. 寻找获取Bean 的入口
  2. 2018年排名Top 100的Java类库——在分析了277,975份源码之后得出的结论
  3. 如何清理qt源码_Qt+FFmpeg本地录制音频
  4. python下载教程-Python 如何入门?附Python教程下载
  5. 尚硅谷设计模式笔记-适配器模式
  6. 如何格式化搭载 Apple 芯片的 Mac?
  7. 【Datawhale IntelVINO学习笔记】OpenVINO音频和人体姿态识别
  8. 关于:Table '项目名称..hibernate_sequence' doesn't exist的解决方法
  9. FYI| Free online events
  10. MiniGUI编程指南
  11. 练习2-7 编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果:将x从第p位开始的n个(二进制)位求反(即1变成0,0变成1),x的其余各位保持不变。
  12. rk3588 与 rk3399 差异比较
  13. Tuscany插件的安装
  14. Python初探:turtle(海龟)实现动画
  15. 婚恋交友源码开发,实现图片的滑动切换
  16. 股票分析平台 python_GitHub - pythonstock/stock: stock,股票系统。使用python进行开发。...
  17. dpdk 的环境配置搭建
  18. 技术点:connect函数的几种写法及连接方式
  19. 验证Tensorflow-gpu下载成功
  20. JavaScript中的图片处理与合成(四)

热门文章

  1. source insight 注释乱码?(【File】 > 【Reload As Encoding…】 > 【Chinese Simplified (GB18030)】 > 选择后,点击load)
  2. 电脑物理内存与虚拟内存的区别与关系
  3. 【Github上有趣的项目】TensorKart 自动驾驶马里奥赛车(玩不了)
  4. 【放置奇兵】算法 酒馆攻略
  5. tensorflow GPU笔记
  6. python numpy np.argmax(a, axis=None, out=None) (按给定轴位比较,返回第一个最大值索引【下标】)
  7. Ubuntu16.04彻底删除旧内核
  8. win10 详细配置JAVA环境变量(最详细),操作步骤如下:
  9. 面向对象技术-设计模式的图
  10. centos6.8安装mysql打不开,Centos6.8安装Mysql5.7