LVM&RAID 特点&区别

简介: RAID分为RAID0、RAID1、RAID5、RAID10这四种形式,都是为了解决硬盘读写速度和安全性而不断更新换代,当然不同的场景也可以用不同的形式,解决遇到的不同的问题。LVM可以允许用户对硬盘资源进行动态调整。

一:特点和区别


RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)

LVM(逻辑卷管理器)


我的理解:


(1):RAID


RAID分为RAID0、RAID1、RAID5、RAID10这四种形式,都是为了解决硬盘读写速度和安全性而不断更新换代,当然不同的场景也可以用不同的形式,解决遇到的不同的问题。下面对这四种类型进行解释和比较:


RAID0:简单来说就是一个整体的数据,我把它分别存放在若干块硬盘里,这样数据的读写速度就提高了,但是安全性没有考虑,如果其中一个硬盘丢失了,那数据就不完整了。


RAID1:这次只考虑到安全性,我把数据备份,放到两个硬盘里。这样做的缺陷是设备成本太高。


RAID5:可以理解为是RAID 0和RAID 1的折衷方案 。RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中,某块硬盘上的数据丢失的话,可以通过数据奇偶信息来进行修复。这样的好处是其中任何一设备损坏后不至于出现致命缺陷;还是放个图好理解。


微信图片_20220507205917.png


就是RAID0+RAID1,简单粗暴,因为大多数企业更在乎数据本身,所以生产环境中主要用RAID10。放图简单易懂。


微信图片_20220507205922.png


(2):LVM


当用户想要随着实际需求的变化调整硬盘分区的大小时,会受到硬盘“灵活性”的限制。这时就需要用到另外一项非常普及的硬盘设备资源管理技术了—LVM(逻辑卷管理器)。LVM可以允许用户对硬盘资源进行动态调整。


区别:


RAID技术用来解决磁盘的读写速度和安全性问题,LVM则可以灵活的解决随着实际需求的变化,来调整硬盘分区的大小这个问题。


一:磁盘列阵RAID


[root@linuxprobe ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde


其中,-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID磁盘阵列的名称;-a yes参数代表自动创建设备文件;-n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列;而-l 10参数则代表RAID 10方案;最后再加上4块硬盘设备的名称就搞定了。


二:LVM逻辑卷管理


我们可以通过部署LVM来解决上述问题。部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。常用的部署命令如表7-2所示。


表7-2 常用的LVM部署命令


功能/命令

物理卷管理

卷组管理 逻辑卷管理
扫描  pvscan vgscan  lvscan
建立 pvcreate vgcreate  lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除  pvremove vgremove lvremove
扩展  vgextend  lvextend


缩小  vgreduce lvreduce



第一步:


建立pv物理分区(physical volume)physical物理的,physics n.


pvcreate /dev/sdb /dev/sdc


第二步:


建立vg卷组,并把pv物理分区加入vg卷组


vgcreate vg /dev/sdb /dev/sdc


第三步:


建立lv逻辑卷(logical volume)


lvcreate -n lv -L 1G vg


如果要用lv的话需要先格式化后在建立挂载点并进行挂载。


mkfs -t ext4 /dev/vg/lv
mkdir /lv
mount /dev/vg/lv /lv
End!


扩容lv:


第一步:卸载设备和挂载点


umount /lv

第二步:将逻辑卷扩容


lvextend -L 1G /dev/vg/lv


第三步:


e2fsck -f /dev/vg/app 检查硬盘完整性
resize2fs /dev/vg/app 重置硬盘(lv)容量


第四步:重新挂载硬盘并查看


mount -a
df -h 可以看到/app已经成功扩容到8G了


如果vg容量不足,添加硬盘然后把硬盘加入vg在扩容


umount /lv
vgextend vg /dev/sdd
lvextend -L 1G /dev/vg/lv
e2fsck -f /dev/vg/lv
resize2fs /dev/vg/lv
mount -a
df -h


缩小逻辑卷


把逻辑卷缩小到10G


umount /lv
e2fsck -f /dev/vg/lv
resize2fs /dev/vg/lv 10G
lvreduce -L 10G /dev/vg/lv
mount -a


逻辑卷快照


echo “fdsafdsafsdafdsa”> /lv/text.txt
lvcreate -L 120M -s -n SNAP /dev/vg/lv #相当于给lv创建了一个快照,快照大小是120M


dd if=/dev/zero of=/app/files count=1 bs=100M


为了校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载。


umount /app
lvconvert --merge /dev/vg/SNAP
Merging of volume vg/SNAP started.
vg/app: Merged: 23.03%
v g/app: Merged: 100.00%
mount -a
cd /app
[root@a app]# ll
total 14
drwx------. 2 root root 12288 Mar 3 10:28 lost+found
-rw-r–r--. 1 root root 26 Mar 3 10:35 readme.txt
相关文章
|
12月前
|
存储 Linux
LVM条带化
LVM条带化
343 0
|
安全 计算机视觉
LVM&RAID 特点&区别
LVM&RAID 特点&区别
187 0
|
存储
RAID与LVM
RAID与LVM
247 1
|
数据库
RAID和LVM的组合
因为RAID实际使用是使用RAID卡来控制RAID设备的构建。但是RAID设备一旦空间构建完毕,那么其分区空间无法扩展,所以我们raid一定要做足够的空间,然后通过LVM来把block空间变为PE空间,动态的去使用RAID设备的空间给不同的挂载点。
1013 0