1 RAID

1.1 什么是RAID

"RAID"一词是由David Patterson, Garth A. Gibson, Randy Katz于1987年在加州大学伯克利分校发明的。在1988年6月SIGMOD会议上提交的论文"ACase for Redundant Arrays of Inexpensive Disks""中提出,当时性能最好的大型机不断增长的个人电脑市场开发的一系列廉价驱动器的性能所击败。尽管故障与驱动器数量的比例会上升,但通过配置冗余,阵列的可靠性可能远远超过任何大型单个驱动器的可靠性

独立硬盘冗余阵列(RAID, Redundant Array of lndependent Disks),旧称廉价磁盘冗余阵列

(Redundant Array of Inexpensive Disks),简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。

RAID层级不同,数据会以多种模式分散于各个硬盘,RAID层级的命名会以RAID-开头并带数字,例如: RAID 0、RAID1、RAID 5、RAID 6、RAID7、RAID 01、RAID 10、RAID 50、RAID 60。每种等级都有其理论上的优缺点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器(群)读写性能。

简单来说,RAID把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID功能更加有效地与主板集成,它也成为普通用户的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作。

RAID功能实现

  • 提高IO能力,磁盘并行读写
  • 提高耐用性,磁盘冗余算法来实现

RAID实现的方式

  • 外接式磁盘阵列:通过扩展卡提供适配能力
  • 内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
  • 软件RAID:通过OS实现,比如:群晖的NAS

1.2 RAID级别

级别:多块磁盘组织在一起的工作方式有所不同

维基百科:https://zh.wikipedia.org/wiki/RAID

  • RAID-0 条带卷,strip
  • RAID-1 镜像卷,mirror
  • RAID-2
  • ...
  • RAID-5
  • RAID-6
  • RAID-10
  • RAID-01
1.2.1 RAID-0

以chunk单位,读写数据,因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失。

  • 读、写性能提升
  • 可用空间:N*min(S 1,S2,...)
  • 无容错能力
  • 最少磁盘数:1+
1.2.2 RAID-1

也称为镜像,两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,与RAID 0相同。另外写入速度有微小的降低。

  • 读取性能提升、写性能略有下降
  • 可用空间:1*min(S1,S2...)
  • 有冗余能力
  • 最少磁盘数:2+
1.2.3 RAID-4

  • 多块数据盘异步或运算值存于专用校验盘
  • 磁盘利用率(N-1)/N
  • 有冗余能力
  • 至少3块磁盘次才可以实现
1.2.4 RAID-5

  • 读、写性能提升
  • 可用空间:(N-1)*min(S1,S2...)
  • 有容错能力:允许最多1块硬盘损坏
  • 最少磁盘数:3,3+
1.2.5 RAID-6

  • 读、写性能提升
  • 可用空间:(N-2)*min(S1,S2,...)
  • 有容错能力:允许最多2块磁盘损坏
  • 最少磁盘数:4,4+
1.2.6 RAID-10

  • 读、写性能提升
  • 可用空间:N*min(S1,S2,...)/2
  • 有容错能力:每组镜像最对只能坏一块
  • 最少磁盘数:4,4+
1.2.7 RAID-01

多块磁盘先实现RAID0,在组成RAID1

1.2.8 RAID-50

多块磁盘先实现RAID5,在组成RAID0

1.2.9 RAID-60

1.2.10 其他级别

JBOD:Just a Bunch Of Disks

功能:将多块此磁盘的空间合并成一个大的连续空间使用

可用空间sum(S1,S2,...)

RAID7

RAID 7并非公开的RAID标准,而是Storage Computer Corporation的专利硬件产品名称,RAID7是以RAID 3及RAID4为基础所发展,但是经过强化以解决原来的一些限制。另外,在实现中使用大量的缓冲存储器以及用以实现异步数组管理的专用即时处理器,使得RAID 7可以同时处理大量的IO要求,所以性能甚至超越了许多其他RAID标准的实际产品。但也因为如此,在价格方面非常的高昂.RAID7可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式。

1.2.11 RAID总结

磁盘阵列比较表

RAID等级 最少硬盘 最大容量 可用容量 读取性能 写入性能 安全性 目的 应用场景
单一磁盘 (参考) 0 1 1 1
JBOD 1 0 n 1 1 无(同RAID0) 增加容量 个人(暂时)存储备份
0 1 0 n n n 一个硬盘异常,全部硬盘都会有异常 追求最大容量、速度 影片剪接 缓存用途
1 2 n-1 1 n 1 高,一个正常即可 追去最大安全性 个人、企业备份
5 3 1 n-1 n-1 n-1 最求最大容量、最小预算 个人、企业备份
6 4 1 n-1 n-1 n-1 安全性较RAID5高 同RAID5,但较安全 个人、企业备份
10 4 2 n-2 n-2 n-2 总合RAID0/1有点,理论速度较快 大型数据库、服务器
50 6 提升数据安全
60 8 提升数据安全

2 网络标准

2.1 网络标准和分层

  • 旧模型:专有产品,由一个厂商控制应用程序和嵌入的软件
  • 基于标准的模型:多厂商软件,分层方法
分层 名称 名称(英文) 解释
7 应用层 Application 针对特定应用的协议
6 表示层 Presentation 设备固有数据格式和网络标准数据格式的转换。
5 会话层 Session 通信管理。负责建立和断开通信连接(数据滚动的逻辑通路)。管理传输层以下的分层
4 传输层 Transport 管理两个节点之间的数据传输。负责可靠传输(确保数据被可靠地传送到目标地址)
3 网络层 Network 地址管理与路由选择
2 数据链路层 Data Link 互联设备之间传送和识别数据帧
1 物理层 Physical 以“0”、“1”代表电压的高低、灯光的闪灭。界定连接器和网线的规格

在制定计算机网络标准方面,起着重大作用的两大国际组织是:国际电信联盟电信标准化部门,与国际标准组织(ISO),虽然它们工作领域不同,但随着科学技术的发展,通信与信息处理之间的界限开始变得比较模糊,这也成了国际电信联盟电信标准化部门和ISO共同关心的领域。1984年,ISO发布了著名的OSI(Open System Interconnection)标准,它定义了网络互联的7层框架,物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),即OSI开放系统互连参考模型

OSI模型的七层结构

第7层 应用层

应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如:HTTP、HTTPS、FTP、TELNET、SSH、SMTP、POP3、MySQL等

第6层 表示层

主条目:表示层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式

第5层 会话层

会话层(Session Layer)负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。

第4层 传输层

传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。

第3层 网络层

网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成报文。网络表头包含了网络数据。例如:互联网协议(IP)等。

第2层 数据链接层

数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至数据时,会形成信息框(Data Frame)。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。分为两个子层:逻辑链路控制(logical link control,LLC)子层和介质访问控制(Media access control,MAC)子层

第1层 物理层

物理层(Physical Layer)在局部局域网上传送数据帧(Data Frame),它负责管理电脑通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机接口卡等

2.2 TCP/IP协议栈

2.2.1 TCP/P标准3.1.1 TCP/IP介绍

Transmission Control Protocol/Internet Protocol传输控制协议/因特网互联协议

TCPIP是一个Protocol Stack,包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP等许多协议

最早发源于1969年美国国防部(缩写为DoD)的因特网的前身ARPA网项目,1983年1月1日,TCP/IP取代了旧的网络控制协议NCP,成为今天的互联网和局域网的基石和标准,由互联网工程任务组负责维护国防高级研究计划局DARPA与BBN技术公司、斯坦福大学和伦敦大学学院签约,在多个硬件平台上开发协议的操作版本。在协议开发过程中,数据包路由层的版本号从版本1进展到版本4,后者于1983年安装在ARPANET中。它被称为互联网协议版本4 (IPv4)作为协议,仍在互联网使用,连同其目前的继承,互联网协议版本6(IPv6)。

RFC文档: https://www.ietf.org/rfc/rfc1180.html

2.2.2 TCP/IP分层

共定义了四层,和OSI参考模型的分层有对应关系

RFC文档: https://www.ietf.org/rfc/rfc1122#section-1.3.3

RFC官方分为四层:

  • Application Layer
  • Transport Layer
  • lnternet Layer
  • Link Layer(media-access)

TCP/IP应用层

2.2.3 TCP/IP通信过程

2.2.4 TCP/IP和OSI模型的比较
  • 相同点

    • 两者都是以协议栈的概念为基础
    • 协议栈中的协议彼此相互独立
    • 下层对上层提供服务
  • 不同点

    • OSI是先有模型;TCP/IP是先有协议,后有模型
    • OSI是国际标准,适用于各种协议栈;TCP/IP实际标准,只适用于TCP/IP网络
    • 层次数量不同