一、什么是RAID
RAID:Redundant Arrays of Inexpensive(Independent) Disks 廉价(独立)磁盘冗余阵列
1988年由加利福尼亚大学伯克利分校(University of California-Berkeley) “A Case for Redundant
Arrays of Inexpensive Disks”,多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供
RAID功能:
- 提高IO能力,磁盘并行读写
- 提高耐用性,磁盘冗余算法来实现
RAID实现得方式:
- 外接式磁盘阵列:通过扩展卡提供适配能力
- 内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
- 软件RAID:通过OS实现,比如:群晖的NAS
RAID级别:
- 级别:多块磁盘组织在一起的工作方式有所不同
- RAID-0:条带卷,strip
- RAID-1:镜像卷,mirror
- RAID-2
- ..
- RAID-5
- RAID-6
- RAID-10
- RAID-01
- RAID级别
1、RAID 0
N块硬盘虚拟一个逻辑硬盘。数据分别平均存储在N个硬盘中
以 chunk 单位,读写数据
读、写性能提升
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2, 2+
2、RAID 1
镜像,两块硬盘为备份关系,同时增加或删除,利用率为百分之50
读性能提升、写性能略有下降
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2N
3、RAID4
至少3块硬盘才可以实现,数据存放在第一和第二块硬盘,第三块硬盘为校验位,若第一块硬盘损坏,可以根据校验位(校验位减去第二块硬盘数据),继续完整得访问数据。
多块数据盘异或运算值存于专用校验盘 磁盘利用率 (N-1)/N
有冗余能力
4、RAID5
每个硬盘都放校验位和数据。
读、写性能提升,。
可用空间:(N-1)\N
有容错能力:允许最多1块磁盘损坏
最少磁盘数:3, 3+
5、RAID6
存放两个校验位
读、写性能提升
可用空间:(N-2)/N
有容错能力:允许最多2块磁盘损坏
最少磁盘数:4, 4+
6、RAID 10
读、写性能提升
可用空间:N/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+
7、RAID-01
多块磁盘先实现RAID0,再组合成RAID1
二、逻辑卷管理器LVM
LVM: Logical Volume Manager 可以允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小,允许在多个物理设备间重新组织文件系统
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量
实现过程:
- 将设备指定为物理卷
- 用一个或者多个物理卷来创建一个卷组,物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
- 在物理卷上创建的逻辑卷, 是由物理区域(PE)组成
- 可以在逻辑卷上创建文件系统并挂载
第一个逻辑卷对应设备名:/dev/dm-#
dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块
软链接:
/dev/1mapper/VG_NAME-LV_NAME
/dev/VG_NAME/LV_NAME
三、实现逻辑卷步骤
1、安装包
yum -y install lvm2
2、把物理磁盘或分区变成物理卷
创建pv: pvcreate /dev/DEVICE
删除pv : pvremoce /dev/DEVICE
查看PV信息: pvdisplay (更详细)或者pvs
3、创建卷组
创建卷组:vgcreate “卷组名字" /dev/DEVICE /dev/DEVICE
-s : 指定PE大小
查看卷组信息:vgs和vgdisplay
删除卷组:
- 先做pvmove
- 再做vgremove
4、创建逻辑卷
显示逻辑卷:lvs 和lvdisplay
创建逻辑卷:
lvcreate -L 【指定逻辑卷的大小】 -n 【逻辑卷的名字】 【卷组名】
-l : 指定的为PE的个数
5、创建文件系统
mkfs -t ext4 /dev/mapper/vg_mysql-lv_date
6、挂载
使用bikid 查看逻辑卷uuid,写入/etc/fstab
[root@centos8 ~]#blkid /dev/mapper/vg_mysql-lv_date
/dev/mapper/vg_mysql-lv_date: UUID="bc3726df-244e-496d-b925-10fe620ba689" BLOCK_SIZE="4096" TYPE="ext4"
UUID=bc3726df-244e-496d-b925-10fe620ba689 /mysql/data ext4 defaults 0 0
7、在线扩展逻辑卷
lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
加 上 -r 选项后不同同步文件系统
#同步文件系统:针对ext
resize2fs /dev/VG_NAME/LV_NAME
- [root@centos8 /]#xfs_growfs /mysql/data/
#同步文件系统针对xfs
xfs_growfs MOUNTPOINT后面跟的是挂载点的文件夹
lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
8、在线扩展逻辑卷组
先将物理磁盘使用PV变成物理卷
vgextend “卷组名字" /dev/DEVICE