LVM和RAID
- LVM
- RAID
- 概念
- 技术
- 原理
- 作用
- 分类
- 使用场景
- 级别
- RAID0:无差错控制的带区组
- RAID1:无校验的镜像
- RAID3:带有专用位校验的数据条带
- RAID4:带有专用块级校验的数据条带
- RAID5:带分散校验的数据条带
- RAID6:带双重分散校验的数据条带
- 组合
LVM
基础知识
概念
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux系统对磁盘分区进行管理的一种机制。
LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,为磁盘分区提供一个文件系统,该文件系统是在存储卷上建立的
LVM层的位置:
其中方框表示LVM层的位置
术语
PV:physical volume,物理卷,其最小单位是PE,一般默认为4MB。物理卷是LVM的基本存储逻辑块
VG:volume group,卷组,是物理卷的一个组合,可以理解成一台机器的所有内存
LV:logical volume,逻辑卷,用卷组中的空间建立文件系统,相当于磁盘里面的分区,基本单位是LE,是逻辑卷LV可被寻址的基本单位,其大小与PE一一对应
可用df命令去查看磁盘情况,有mapper的就表示是使用的逻辑卷进行分区操作。
工作原理
将几块物理卷组合起来形成一个卷组,通过LVM层去管理外存设备,因此外存设备不再由内核直接管理。
LVM可以每次从卷组中划分出不同大小的逻辑卷(LogicalVolume)创建新的逻辑设备。逻辑卷相当于文件系统中的分区
优点
1.用户在无需停机的情况下可以方便地调整各个分区大小
2.可以改变逻辑分区的大小
3.有快照功能,可以将数据备份
注意
linux中的boot分区没有使用LVM技术
LVM逻辑设备不受物理约束的限制,逻辑卷不必是连续的空间,它可以跨越许多物理卷,并且可以在任何时候任意的调整大小
linux中使用LVM创建逻辑卷
步骤:
1.查看磁盘分区的个数
fdisk -l
2.创建PV
pvcreate /dev/sdb
3.查看PV
pvscan
4.创建卷组VG
vgcreate alidiidi /dev/sdb
5.创建文件系统LV
lvcreate -L 1G -n office alidiidi
6.查看LV
lvscan
7.格式化LV
mkfs.xfs /dev/alidiidi/office
8.挂载磁盘分区
mkdir office
mount /dev/alidiidi/office office/
可以看到,此时的/dev/mapper/alidiidi-office已经被挂载到/root/office下了,且可以知道该项分区的技术是LVM
若LV空间不足,则要给LV扩容,LV扩容的容量是VG卷组提供的,因此VG空间足够的情况下,可以直接使用lvextend命令去扩容,当VG空间不足,则要给VG卷组扩容,此时就需要新增物理卷PV了。
显示VG的详细信息,用来判断VG空间是否足够
vgdisplay
若VG空间不够,则要给VG扩容
vgextend alidiidi /dev/sdd
VG扩容之后,就可以给LV提供容量了,LV向VG空间申请容量
lvextend -L +2G /dev/alidiidi/office
将申请到的容量添加进去到LV中,并重新识别
xfs_growfs /dev/alidiidi/office
将其写进etc/fstab,可以让其开机自启
RAID
概念
RAID:是独立冗余磁盘阵列(Redundant Arrays of Independent Disks),
由很多块独立的磁盘,组合成一个容量巨大的磁盘组,简单来说就是将多个硬盘通过RAID controller结合成一个虚拟的单台的大容量的硬盘。RAID中部分物理存储空间用来记录保存在剩余空间上的用户数据的冗余信息。当其中某一个磁盘或访问路径发生故障时,冗余信息可用来重建用户数据,可以实现数据的可靠性并且提高磁盘i/o性能
技术
镜像
将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。数据条带,将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。
数据条带
数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。
数据校验
利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。
原理
用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。
把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。
作用
(1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
(2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
(3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。通过数据校验提供容错功能
分类
磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真
外接式磁盘阵列柜:常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵
内接式磁盘阵列卡:价格便宜,但需要较高的安装技术,适合技术人员使用操作
软件仿真:指通过cpu和网络操作系统提供的磁盘管理功能将多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,不适合大数据流量的服务器
使用场景
1、DAS–direct access storage device直接访问存储设备
DAS以服务器为中心,传统的网络存储设备都是将RAID硬盘阵列直接连接到网络系统的服务器上
2、NAS–Network Attached Storage网络附加存储设备
NAS以数据为中心,NAS是 Network Attached Storage的简称,中文称为直接联网存储在NAS存储结构中,存储系统不再通过I/O总线附属于某个特定的服务器或客户机,而是直接通过网络接口与网络直接相连,由用户通过网络访问。
3、SAN–Storage Area Networks存储区域网
SAN以网络为中心,SAN是一种类似于普通局域网的高速存储网络。SAN提供了一种与现有LAN连接的简易方法,允许企业独立地增加它们的存储容量,并使网络性能不至于受到数据访问的影响。这种独立的专有网络存储方式使得SAN具有不少优势:可扩展性高;存储硬件功能的发挥不受LAN的影响;易管理;集中式管理软件使得远程管理和无人值守得以实现;容错能力强。
级别
RAID有很多种级别,RAID 每一个等级代表一种实现方法和技术,等级之间并无高低之分
常见RAID的对比图:
不常用的对比图:
RAID0:无差错控制的带区组
RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。
RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等
其数据写入图如下:
RAID1:无校验的镜像
将数据完全一致地分别写到工作磁盘和镜像磁盘。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。
RAID1 应用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。
其数据写入图如下:
RAID3:带有专用位校验的数据条带
它采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据交叉存储到各个数据盘中。
RAID3 完好时读性能与 RAID0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。因此写操作时,系统开销非常大,性能较低。
如果 RAID3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好的数据来重建数据。当故障磁盘被更换后,系统按相同的方式重建故障盘中的数据至新磁盘。
RAID3 只需要一个校验盘,阵列的存储空间利用率高,再加上并行访问的特征,能够为高带宽的大量读写提供高性能,
适用大容量数据的顺序访问应用,如影像处理、流媒体服务等。目前, RAID5 算法不断改进,在大数据量读取时能够模拟 RAID3 ,而且 RAID3 在出现坏盘时性能会大幅下降,因此常使用 RAID5 替代 RAID3 来运行具有持续性、高带宽、大量读写特征的应用。
RAID4:带有专用块级校验的数据条带
RAID4 与 RAID3 的原理大致相同,区别在于条带化的方式不同。 RAID4按照 块的方式来组织数据,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。 RAID4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。
写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。正是如上这些限制和不足, RAID4 在实际应用中很少见,主流存储产品也很少使用 RAID4 保护。
RAID5:带分散校验的数据条带
RAID5 应该是目前最常见的 RAID 等级,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。
RAID5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。
RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。
RAID6:带双重分散校验的数据条带
采用两个独立的校验算法,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。
它可以保证阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID5 等级。
RAID6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID10 方案的经济性选择。
组合
RAID0和RAID1的组合,需要至少4个磁盘。
RAID10:
先镜射再分区
RAID01:
先分区再镜射