一:特点和区别

RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)
LVM(逻辑卷管理器)

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

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

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

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

LVM&RAID 特点&区别_数据

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

LVM&RAID 特点&区别_数据_02


(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