一、基础知识:
RAID磁盘管理:独立冗余磁盘阵列( Redundant Array of Inexpensive Disks )
RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,阵列的价值:提升I/O效率,提高数据可靠性,实现硬件级别的数据冗余;
RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity )
镜像——将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。
数据条带——将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。
数据校验——利用冗余数据进行数据错误检测和修复,利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。
操作系统支持的最常见的 RAID 等级有 RAID0 、 RAID1 、 RAID10 、 RAID01 和 RAID5 等
标准 RAID 等级:SNIA 、 Berkeley 等组织机构把 RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、 RAID6 七个等级定为标准的 RAID 等级。
——RAID0 条带模式。 是一种简单的、无数据校验无冗余的数据条带化技术。【 RAID0 将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点,但是不具备数据恢复和冗余的功能。至少需要两块盘。】RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。
——RAID1 镜像模式 ,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% ,RAID1 拥有完全容错的能力,但实现成本高。在数据写入时,响应时间会有所影响。【 RAID1 应用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。】至少2块盘。
——RAID5 高性价比模式 (分布式奇偶校验的高效阵列模式):RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案,校验数据分布在阵列中的所有磁盘上。至少3块盘组成。
——RAID6 高性价比/可靠性模式:RAID6 引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。RAID6 具有快速的读取性能、更高的容错能力。它的成本要高于 RAID5 许多,写性能也较差,并有设计和实施非常复杂。主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID10 方案的经济性选择。至少4块盘组成。
——RAID 组合等级:广泛应用的只有 RAID01 和 RAID10 两个等级。
RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力。
1.1 文件系统类型:
#man 5 fs 查看所有文件系统类型说明
分区格式化是指采用指定的文件系统类型对分区空间进行登记、索引并建立相应的管理表格的过程。
ext2 ——具有极快的速度和极小的CPU占用率,可用于硬盘和移动存储设备
ext3 —— 增加日志功能,可回溯追踪
ext4 ——日志式文件系统,支持1EB(1024*1024TB),最大单文件16TB,支持连续写入可减少文件碎片。rhel6默认文件系统
xfs —— 可以管理500T的硬盘。rhel7默认文件系统
brtfs文件系统针对固态盘做优化
格式化命令:mkfs -t <文件系统类型> <分区设备文件名>
RAMFS:内存文件系统
ISO 9660:光盘
NFS:网络文件系统
SMBAFS/CIFS:支持Samba协议的网络文件系统
Linux swap:交换分区,用以提供虚拟内存。
1.2 物理硬盘设备的接口协议
硬盘接口类型主要有IDE、SCSI和SATA这3种。
IDE: 是一种成熟稳定、价格便宜的并行传输接口。
SATA : 是一种传输速度更快、数据校验更完整的串行传输接口。
SCSI : 是一种用于计算机和硬盘、光驱等设备之间系统级接口的通用标准,具有系统资源占用率低、转速高、传输速度快等优点。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
二、常见存储技术
存储概述:是指根据不同的应用环境通过采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问。
存储技术分类:
SCSI小型计算机系统接口;
DAS直连式存储;
NAS网络技术存储;
SAN存储区域网络
FC光纤通道。Fibre Channel;
SCSI (Small Computer System Interface),作为输入/输出接口,主要用于硬盘、光盘、磁带机等设备。
Fibre Channel (FC): 一种适用于千兆数据传输,成熟而安全解决方案;
FC提供更高的数据传输速率,更远的传输距离,更多的设备连接支持以及更稳定的性能、更简易的安装;
FC主要组件:光纤;HBA(主机总线适配器);FC交换机;
FC交换机交换拓扑:
——点对点 point-to-point :简单将两个设备互连
——已裁定的环路 arbitrated loop :可多达126个设备共享一段信道或环路
——交换式拓扑:switched fabric :所有设备通过光纤交换机互连
外挂存储根据连接的方式分为:直连式存储(Direct-Attached Storage,简称DAS)和网络化存储(Fabric-Attached Storage,简称FAS);
网络化存储根据传输协议又分为:网络接入存储(Network-Attached Storage,简称NAS)和存储区域网络(Storage Area Network,简称SAN)。
常见三种存储架构 DAS、NAS、SAN:
——DAS :将存储设备通过SCSI接口或光纤直接连接到计算机上。
优点:DAS购置成本低,配置简单,速度快;
适用:那些数据量不大,对磁盘访问速度要求较高的中小企业;
缺点:服务器发生故障,数据不可访问;
不能实现数据与其他主机的共享;
数据备份操作占用比较多的服务器主机资源;
直连式存储的数据量越大,备份和恢复的时间就越长,性能越差
随着服务器CPU的处理能力越来越强,存储硬盘空间越来越大,阵列的硬盘数量越来越多,SCSI通道将会成为IO瓶颈;
直连式存储或服务器主机的升级扩展,只能由原设备厂商提供,往往受原设备厂商限制。
——NAS :一种专用于数据存储的服务器,以数据为中心,将存储设置与服务器彻底分离,集中管理数据,从而释放带宽、提高性能,降低总拥有成本、保护投资。是连接到TCP/IP网络(通常是以太网)的文件级数据存储设备
用户通过NFS/CIFS/HTTP协议访问数据等;
NAS是文件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。
优点:易于安装和部署,管理方便;NAS产品是真正即插即用的产品;
缺点:NAS仍使用网络进行备份和恢复,备份过程中会造成带宽消耗;
存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块
——SAN :通过光纤交换机、光纤路由器、光纤集线器等设备将磁盘阵列,磁带等存储设备与相关服务器连接起来,形成高速专网网络。用于整合块级存储的专用高性能网络。网络将存储设备、交换机和主机互连。
一种专门为存储建立的独立于TCP/IP网络之外的专用网络,SAN一般采用高端的RAID阵列。
SAN 分为:ip_san 传输介质式双绞线 ; FC_san 传输介质是光纤;
组成部分:如路由器、光纤交换机;接口:SCSI、FC 等; 通信协议:iSCSI 等。
优点:扩展性好,存取速度快;
缺点:价格昂贵;需要单独建立光纤网络,异地扩展比较困难
适用于大型应用或数据库系统,缺点是成本高、较复杂。
iSCSI 技术:网际SCSI接口
一种基于C/S 架构的虚拟磁盘技术:服务器提供磁盘空间,客户机连接当成本地磁盘使用;
IEIF制定的标准,将SCSI数据块映射为以太网数据包;
是一种基于IP Storage理论的新型存储技术;
将存储行业广泛应用的SCSI接口技术与IP网络相结合;
可以在IP网络上构建SAN;
优点:可以利用普通的TCP/IP网来传输本来用存储区域网来传输的SCSI数据块。
iSCSI实现的IP SAN 相对于FC SAN 成本更低;
解决了传输效率、存储容量、兼容性、开放性、安全性等方面的问题
没有距离限制;
基于IP协议技术的标准;
允许网络在TCP/IP协议上传输SCSI命令;
缺点: 通过普通网卡存取iSCSI数据时,解码成SCSI需要CPU进行运算,增加了系统性能开销;
使用数据网络进行存取,存取速度冗余受网络运行状况的影响。传输速率和稳定性是iSCSI技术的瓶颈。
新兴的技术,提供完整解决方案的厂商较少,对管理者技术要求高;
客户端:——iSCSI Initiator :软件实现,成本低,性能较低;
—— iSCSI HBA :硬件实现,性能好,成本高;
存储设备端 :——iSCSI Target
以太网交换机
iSCSI-HBA卡:连接的则是SCSI接口或FC(光纤通道)总线和内存,专门用于在主机之间交换存储数据,
运行Linux系统的服务器会基于iSCSI协议把硬盘设备命令与数据打包成标准的TCP/IP数据包,然后通过以太网传输到目标存储设备,而当目标存储设备接收到这些数据包后,还需要基于iSCSI协议把TCP/IP数据包解压成硬盘设备命令与数据。
———————————————————————————————————————————
NAS和SAN的区别:
——NAS提供文件级的数据访问、存储服务;而SAN提供块级数据访问、存储服务。。
——文件系统所在位置:NAS的文件系统集成在NAS设备上;而SAN的文件系统集成在服务器主机上;
——SAN的数据是封装成IP包在网络中传输(不受传输距离的限制,受网速限制);NAS是把数据封装成协议在网络中传输的;
——NAS可以使用多种协议与服务器连接,包括NFS、SMB/CIFS、HTTP;在SAN方面,服务器使用SCSI协议与SAN磁盘驱动器设备进行通信。
总结:
对于小型且服务较为集中的商业企业,可采用简单的DAS方案。
对于中小型商业企业,服务器数量比较少,有一定的数据集中管理要求,且没有大型数据库需求的可采用NAS方案。
对于大中型商业企业,SAN和iSCSI是较好的选择。如果希望使用存储的服务器相对比较集中,且对系统性能要求极高,可考虑采用SAN方案;
对于希望使用存储的服务器相对比较分散,又对性能要求不是很高的,可以考虑采用iSCSI方案。
Multipath多路径
概述:当服务器到某一存储设备有多条路径时,每条路径都会被识别为一个单独的设备;
多路径允许将服务器节点和储存阵列间的多个I/O路径配置为一个单一设备;
这些I/O路径是可包含独立电缆、交换器和控制器的实体SAN链接;
多路径集合了I/O路径,并生成由这些集合路径组成的新设备
多路径主要功能:
冗余——主备模式,高可用
改进的性能——主主模式,负载均衡
多路径的主要功能就是和存储设备一起配合实现:
1——故障的切换和恢复;
2——I/O流量的负载均衡
3——磁盘的虚拟化
多路径设备:DM Multipath :
提供了有逻辑的管理I/O路径的方法,即在基础设备顶端生成单一多路径设备。
若没有DM Multipath,从服务器节点到储存控制器的每一条路径都会被系统视为独立的设备,即使I/O路径连接的是相同的服务器节点到相同的储存控制器也是如此。
多路径设备识别符:
每个多路径设备都有一个WWD(全球识别符),它是全球唯一的,无法更改的号码
默认的情况下会将多路径设备的名称设定为它的WWID
可以在多路径配置文件中设置user_friendly_names 选项,该选项可将别名设为格式为mpathn的节点唯一名称
也可以自定义存储设备名称。
Udev
是Linux kernel 2.6系列的设备管理器
——只有连到系统上来的设备才在/dev下创建设备文件;
——与主、次设备编号无关
——为设备提供持久的,一致的名字
接入设备事件链:内核发现设备并导入设备状态到sysfs——udev 接到事件的通知——udev 创建设备节点或是运行只读的程序——udev 通知hald守护进程——HAL探测设备信息——HAL创建设备对象结构——HAL通过系统消息总线广播该事件——用户程序也可以监控该事件。
udev 的作用:
1)从内核收到添加/移除硬件事件时,udev 将会分析:——/sys目录下信息;——/etc/udev /rules.d 目录中的规则。
2)基于分析结果,udev 会:处理设备命名;决定要创建哪些设备文件或链接;决定如何设置属性;决定触发哪些事件。
udev 的初始化脚本在系统启动时创建设备节点,并且当插入新设备——加入驱动模块——在sysfs上注册新的数据后,udev会创新新的设备节点。
udev 是一个工作在用户空间的工具,它能根据系统中硬件设备的状态动态的更新设备文件,包括设备文件的创建,删除,权限等。udev能动态地在/dev 目录里产生自定义的、标识性强的设备文件或设备链接。
udev 运行在用户模式,而非内核中。udev 必须有内核中的sysfs和tmpfs支持,sysfs 为udev 提供设备入口和uevent 通道,tmpfs 为udev 设备文件提供存放空间。
udev 是通过对内核产生的设备文件修改,或增加别名的方式来达到自定义设备文件的目的。
udev 服务的主要配置文件在/etc/udev/udev.conf
规 则文件是存放在/etc/udev/rules.d 目录下,有的规则文件都必须以.rules 作为后缀名。