一:特点和区别
RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)
LVM(逻辑卷管理器)
我的理解:
(1):RAID
RAID分为RAID0、RAID1、RAID5、RAID10这四种形式,都是为了解决硬盘读写速度和安全性而不断更新换代,当然不同的场景也可以用不同的形式,解决遇到的不同的问题。下面对这四种类型进行解释和比较:
RAID0:简单来说就是一个整体的数据,我把它分别存放在若干块硬盘里,这样数据的读写速度就提高了,但是安全性没有考虑,如果其中一个硬盘丢失了,那数据就不完整了。
RAID1:这次只考虑到安全性,我把数据备份,放到两个硬盘里。这样做的缺陷是设备成本太高。
RAID5:可以理解为是RAID 0和RAID 1的折衷方案 。RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中,某块硬盘上的数据丢失的话,可以通过数据奇偶信息来进行修复。这样的好处是其中任何一设备损坏后不至于出现致命缺陷;还是放个图好理解。
就是RAID0+RAID1,简单粗暴,因为大多数企业更在乎数据本身,所以生产环境中主要用RAID10。放图简单易懂。
(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