1、RAID(软件磁盘阵列)
1.1、为什么学习raid?
- 解决了数据的读写速度
- 解决磁盘冗余,保护数据以免丢失
1.2、RAID是什么?
- Redundant Arrays of Independent Drives,RAID
- Redundant 冗余
- Arrays 数组队列
- Independen 独立的
- 独立磁盘构成的具有冗余能力的阵列
- 个别磁盘提供数据所产生加成效果提升整个磁盘系统效能
1.3、raid分为哪几类?
- 外接式磁盘阵列柜
- 内接式磁盘阵列卡
- 软件来仿真实现raid
1.4、常见的raid卡型号
- 华为:SR130 不做缓存
SR430C 做缓存 - 戴尔:H330 做缓存
H730P 不做缓存
做缓存的好处是,可以存储CPU传递过来的电信号和光信号, - 扩展:
- raid卡开机需要驱动
- raid卡带电池和不带电池的区别?
带电池:好处是安全,加电池的话掉电的一瞬间内存里尚未写入硬盘的数据可以继续写入硬盘。不加电池的话内存里尚未写入硬盘的数据就没了。
1.5、raid类型:
-
Rraid0(不含检验与冗余的条带存储)
-
Raid0:至少两块盘,只有按条带存储数据
-
特点:提高数据的存取速度,但是没有备份,不能容错,可用容量是100%
-
应用场景:对数据要求不高的场景下
-
Raid1(不含校验的镜像存储)
-
Raid1:至少两块盘,只有镜像
-
特点:不能解决数据存取速度问题,但是可容灾(容许一个盘坏),可用容量是(n-2/n)
-
应用场景:对数据要求很高的场景下
-
Raid5(数据块级别的分布式校验条带存储)
-
raid5:至少3块盘,可以提高存取速率.
-
特点:存储的有存储数据和校验数据,可以容灾(容许一个盘怀),可用容量是(n-1/n)
-
应用场景:折中了Raid0和Raid1的优缺点,可适用于大多数应用场景
-
Raid6(带有两个独立分布式校验方案的独立数据存储)
-
Raid6:至少四块盘,可以容灾(容许两个盘坏),可用容量是(n-2/n)
-
特点:存储的有存储数据和两份校验数据,可以容灾(容许两个盘坏),可用容量是(n-2/n)
-
Raid01 == Raid0+Raid1
-
特点:至少四块盘,即能提高数据读写,也能实现数据容灾,可使用容量50%,容灾能力稍强
-
Raid10 == Raid1+Raid0
-
特点:至少四块盘,既能提高数据读写,也能实现数据容灾,可使用容量50%
1.6、测试raid性能
- 挂载3块盘
- 3个盘的分区,分两个区
fd:———对分区raid,转化一下,支持raid的格式(只存在于raid) - 组raid
- raid0
[root@localhost ~]# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1 - raid5
[root@localhost ~]# mdadm -C /dev/md1 -l 5 -n 3 /dev/sdb2 /dev/sdc2 /dev/sdd2 - 格式化raid
[root@localhost ~]# mkfs.ext4 /dev/md0
[root@localhost ~]# mkfs.ext4 /dev/md1 - 创建挂载点.
[root@localhost ~]# mkdir /raid0
[root@localhost ~]# mkdir /raid1 - 挂载
[root@localhost ~]# mount /dev/md1 /raid1
[root@localhost ~]# mount /dev/md0 /raid0
系统盘:raid5
数据盘:
(插入系统盘,固态——>组raid——>装系统) - 华为 H2288
BMC:10.10.10.1
BMC:VNC
启动
CTRL+C
raid(组合raid)
保存退出
安装系统,选择系统盘。 - 查看可用大小:
[root@localhost ~]# mdadm --detail /dev/md0
raid0 2.5 *2 == (5G)4.88
[root@localhost ~]# mdadm --detail /dev/md1
raid5 2.5 *3 == (5G)5.1 - 数据的读取速率:
- 在不使用raid的情况下:[root@localhost ~]# time dd if=/dev/zero of=txt bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,5.78676 秒,181 MB/秒
real 0m5.798s
user 0m0.000s
sys 0m2.661s - 在使用raid0的情况下:
[root@localhost ~]# time dd if=/dev/zero of=/raid0/txt bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,2.17618 秒,482 MB/秒
real 0m2.199s
user 0m0.000s
sys 0m1.521s - 在使用raid5的情况下:
[root@localhost ~]# time dd if=/dev/zero of=/raid1/txt bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,3.2501 秒,323 MB/秒
real 0m3.257s
user 0m0.000s
1.7、容灾:
sys 0m1.369s
raid0 > raid5 > 不使用
容灾:
[root@localhost /]# mdadm /dev/md1 -f /dev/sdb2
[root@localhost /]# mdadm --detail /dev/md1
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 34 1 active sync /dev/sdc2
3 8 50 2 active sync /dev/sdd2
0 8 18 - faulty /dev/sdb2
[root@localhost /]# mdadm /dev/md0 -f /dev/sdb1
[root@localhost /]# mdadm --detail /dev/md0
mdadm: set device faulty failed for /dev/sdb0: Device or resource busy
2、LVM:(逻辑卷管理器)
生成逻辑卷,动态扩容
2.1、PV: 物理卷,LVM的逻辑存储块,与磁盘分区是逻辑对应关系。
- pvcreate 创建pv
[root@localhost ~]# pvcreate /dev/sdb
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc1
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc{1,2,3} - pvs 查看pv
- pvdisplay 查看pv
- pvscan 列出系统中的物理卷
- pvremove 移除物理卷
- pvmove
2.2、VG: 卷组,逻辑上的磁盘设备。
- vgcreate 创建卷组
vgcreate vgname /dev/device
-s 指定PE的大小
vgcreate -s 8M vgname /dev/device - vgremove 删除卷组
vgremove vgname - vgextend 将物理卷添加到卷组中
vgextend vgname pvname - vgreduce 删除卷组中的物理卷,缩减
- vgs 显示卷组成员
- vgscan 查找系统上面是否有vg存在
- vgdisply 显示目前系统上面的vg状态
- vgrename 更改卷组名称
- vgchange 改变卷组工作状态
2.3、PE:物理扩展块
物理长度,是lvm逻辑上的最小存储单元,lvm默认使用4MB的PE数据块。
2.4、LV:逻辑卷,物理意义上的分区
- lvcreate 创建逻辑卷
- -n 指定逻辑卷名称
- -L 指定逻辑卷大小,以空间大小指定
# 绝对容量
+# 增量 - -l 指定逻辑卷大小,以PE为单位进行指定
- -s 指定创建逻辑卷快照
lvcreate -s -n 快照名 -L 大小 逻辑卷 -p r - -p 设置属性、r只读
[root@localhost ~]# lvcreate -L 2G -n test_lv1 test_vg1 - lvextend 扩展逻辑卷
- lvreduce 缩减逻辑卷
- lvs 查看逻辑卷信息
- lvdisplay
- lvrename 修改逻辑卷名称
- lvremove 删除一个lv
- lvconvert 恢复快照
lvconvert --merge 快照路径
2.5、LE:
逻辑卷物理长度,逻辑盘区是lv管理的最小存储单元,其大小和LV所在VG中的PE大小相同
2.6、lvm扩容
1、[root@CentOS6 ~]# lvextend -L +500M /dev/myvg/mylv 扩容500M
2、[root@CentOS6 ~]# lvdisplay 查看,lv已扩容
3、[root@CentOS6 ~]# df -h 查看,Filesystem 未扩容
4、[root@CentOS6 ~]# resize2fs /dev/myvg/mylv 对文件系统扩容
5、[root@CentOS6 ~]# df -h Filesystem 已扩容
2.7、lvm缩减
1、卸载逻辑卷
2、检测逻辑卷上的空间 e2fsck
[root@CentOS6 ~]# e2fsck -f /dev/myvg/mylv
3、使用resize2fs缩减文件系统大小
[root@CentOS6 ~]# resize2fs /dev/myvg/mylv 1G 缩减到1G
[root@CentOS6 ~]# lvreduce -L 1G /dev/myvg/mylv 缩减磁盘大小
[root@CentOS6 ~]# mount /dev/myvg/mylv /srv/lvm 进行挂载
4、使用lvreduce缩减逻辑卷大小使用