17, RAID and LVM

A, RAID

1. What is raid

RAID (Redundant Arrays of Independent Drives, RAID), there are "independent disk array configuration with redundancy" means.

2.raid background birth

Improve reading and writing skills
to ensure data security

What is the use 3.raid

Improve reading and writing skills
to ensure data security

4.raid mode

raid1 条带卷,最少两块盘。读写性能好,但没有容错机制。坏一块磁盘数据全丢。容量是多快盘之和

raid1 镜像卷,写入性能一般、读取性能快、有容错机制,但磁盘有50%浪费

raid5 校验卷, 至少3快盘,只允许坏一块盘,有效空间1/3,读写速度快。坏掉一块盘,读会慢。
-------------------
raid10:raid1和raid0的组合

4.1 Experimental environment:

sdb 8:16 0 20G 0 disk 
sdc 8:32 0 20G 0 disk 
sdd 8:48 0 20G 0 disk 
sde 8:64 0 20G 0 disk 
sdf 8:80 0 20G 0 disk 
sdg 8:96 0 20G 0 disk 
sdh 8:112 0 20G 0 disk 

4.2. Installing the software simulation environment

yum install mdadm -y 

mdadm命令常见参数解释:
 -A 激活磁盘阵列
 -C 建立一个新阵列
 -D 打印阵列设备的信息
 -G 改变阵列大小或形态
 -S 停止阵列

 -r 移除设备
 -l 设定磁盘阵列的级别
 -n 指定阵列磁盘的数量
 -x 指定阵列中备用盘的数量
 -f 将设备状态定为故障
 -a 添加设备到阵列

4.3. Experiment

Creating RAID0 experimental environment

raid种类  磁盘   
1.创建RAID0
[root@oldboy ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc 


[root@oldboy ~]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=oldboy:0 UUID=55b053ef:4e189cab:e892fbe9:33317588

Create a RAID1 experimental environment

raid种类  磁盘  热备盘
raid1   sdd、sde、    sdf

1)创建RAID1,并添加1个热备盘
2)模拟磁盘故障,看备用盘是否会自动顶替故障盘
3)从raid1中移出故障盘

[root@oldboy ~]# mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sd[d,e,f]

Creating RAID5 experimental environment

raid种类  磁盘  热备盘
raid5   sdg、sdh、sdi sdj

1)使用三块盘创建RAID5, 使用-x添加1个热备盘
2)模拟损坏一块磁盘,然后备用盘自动顶上,只能顶一次
3)在模拟损坏,检测数据是否丢失,如果没有再次模拟损坏.


1、创建RAID5阵列,添加一块备用盘
[root@oldboy ~]# mdadm -C -v /dev/md5 -l 5 -n 3 -x 1 /dev/sd{g,h,i,j}

2、格式化RAID5,并挂载使用
[root@oldboy ~]# mkfs.xfs /dev/md5
[root@oldboy ~]# mkdir /raid5
[root@oldboy ~]# mount /dev/md5 /raid5/

3、检查RAID详情
[root@oldboy ~]# mdadm -D /dev/md5

4、模拟一块磁盘损坏
[root@oldboy ~]# mdadm -f /dev/md5 /dev/sdj

5 检查备用盘是否顶上
[root@oldboy ~]# mdadm -D /dev/md5 

6、在模拟一块磁盘损坏
[root@oldboy ~]# mdadm -f /dev/md5 /dev/sdh

......持续此步骤进行验证

Two, LVM

sdb 8:16 0 20G 0 disk  
sdc 8:32 0 20G 0 disk  

1. To achieve the logical volume

1.将普通磁盘转为pv物理卷
[root@oldboy ~]# pvcreate /dev/sdb

2.将/dev/sdb物理卷加入卷组(资源池)-->名字lvm_test
[root@oldboy ~]# vgcreate lvm_test /dev/sdb


3.分配lv逻辑卷(分区)
[root@oldboy ~]# lvcreate -L 100M -n lv1 lvm_test

4.格式化分区
[root@oldboy ~]# mkfs.xfs /dev/lvm_test/lv1

5.挂载使用
[root@oldboy ~]# mount /dev/lvm_test/lv1 /lv1/

2. The size of the extended volume group vg

Allocate a 25GB storage space (less than the original 20GB)

1. How to expand the VG volume group (note the name of the volume group ---)

#1.新硬盘加入pv
[root@xuliangwei~]# pvcreate /dev/sdc

#2.先检查当前的vg卷组大小
[root@oldboyedu ~]# vgs
  VG #PV #LV #SN Attr VSize VFree
  datavg 1 1 0 wz--n- 1020.00m 920.00m

#3.使用vgextend扩展卷组
[root@xuliangwei~]# vgextend datavg /dev/sdc
Volume group "datavg" successfully extended

#4.再次检查,发现卷组已经扩大
[root@oldboyedu ~]# vgs
  VG #PV #LV #SN Attr VSize VFree
  datavg 2 1 0 wz--n- 1.99g 1.89g

3. To reduce the size of the volume group vg

Suppose you want to remove / dev / sdb disk, the proposed first sdb sdc disk data migrate to disk, and then removed.
(Same disk volume group can be online migration) (Note the name of the volume group ---)

#1.检查当前逻辑卷VG中PV使用情况
[root@xuliangwei~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb vg1 lvm2 a -- 2.00g 1.76g 
/dev/sdc vg1 lvm2 a -- 2.00g 2.00g

#2.pvmove在线数据迁移,将sdb的数据迁移至sdc 
[root@xuliangwei~]# pvmove /dev/sdb
  /dev/sdb: Moved: 100.00%

#3.检查是否将sdb数据迁移至sdc 
[root@xuliangwei~]# pvs
PV VG Fmt Attr PSize PFree 
/dev/sdb vg1 lvm2 a -- 2.00g 2.00g 
/dev/sdc vg1 lvm2 a -- 2.00g 1.76g

#4.从卷组中移除sdb磁盘
[root@xuliangwei~]# vgreduce datavg /dev/sdb
  Removed "/dev/sdb" from volume group "datavg"

4. Dynamic adjustment of the size of the logical volume

1. The logical volume expansion, depending on whether there is remaining capacity vg volume, attention should not exceed the total size of the extended logical volume group VG,

[root@xuliangwei~]# vgs
VG #PV #LV #SN Attr VSize VFree
datavg 1 1 0 wz--n- 1020.00m 920.00m

#1.扩展lv逻辑卷,增加800M分配给逻辑卷 {注意: 800M +800M 不一样}
[root@xuliangwei~]# lvextend -L +800M /dev/datavg/lv1
    #或者可以选择分配磁盘池中多少百分比给逻辑卷
[root@xuliangwei~]# lvextend -l +50%FREE /dev/datavg/lv1

#2.扩展逻辑卷后需要更新fs文件系统
[root@xuliangwei~]# xfs_growfs /dev/datavg/lv1 #xfs文件格式扩容

5. Delete Logical Volume

3.删除逻辑卷,如果不想使用逻辑卷可以选择删除
[root@oldboyedu ~]# umount /dev/datavg/lv1
[root@oldboyedu ~]# lvremove /dev/datavg/lv1


LVM如果有一个磁盘损坏,整个lvm都坏了. lvm只有动态扩展作用
 底层用RAID + 上层LVM = 既有冗余又有动态扩

6. Summary

 1.RAID
 2.RAID模式 0 1 5 10
 3.RAID实现 硬 软
 4.系统的mdadm工具实现的软RAID (看看效果)

 5.LVM逻辑卷
  动态调整分区的大小(如果不是逻辑卷,无法调整)
  PV    pvcreate pvs
  VG    vgcreate vgextend vgremove vgs 
  LV    lvcreate lvextend lvremove lvs




Guess you like

Origin www.cnblogs.com/Forever-x/p/f6be7b97825dbabcc2255c2a01f13a1c.html
LVM