Linux命令学习(五)
一、RAID与LVM
1. RAID
-
作用:RAID独立磁盘冗余阵列,使用多块硬盘,组成大容量的硬盘组,将数据分成多个片段同时进行读写,以提高读写速度,并通过冗余备份实现数据安全性
-
RAID0
- 原理:将至少两块硬盘通过硬件或软件方式 “串联” 起来,组成一个大的硬盘卷组,将数据一次写入各个硬盘中
- 图:
- 特点
- 优点:数据同步传输,读取/写入分开,性能提升较大
- 缺点:任意一块硬盘损坏,整个系统数据无法使用
- 硬盘使用率100%,至少2块硬盘才可组建
-
RAID1
- 原理:把至少两块硬盘 “并联” 起来,写入数据时,数据同时写入到另一硬盘中
- 图:
- 特点
- 优点:使用硬盘镜像功能,提高数据安全性
- 缺点:硬盘利用率50%,使用两块硬盘,一块存储,一块备份,成本较大
-
RAID5
- 产生原因:兼顾读写速度及数据安全,是一种折中方式
- 原理:至少使用三块硬盘,将数据分化存储到不同硬盘中,硬盘中必须存储其他硬盘的校验数据
- 图:
- 特点:
- 优点:兼顾性能,通过 “奇偶校验” 来替代 “镜像备份”
- 缺点:硬盘数据安全性较低,硬盘使用率(n-1)*n,硬盘数据出现问题会自动校验恢复
-
RAID10(主流)
- 本质:RAID1+RAID0
- 原理:至少需要四块硬盘,先制作两两硬盘的RAID1阵列,以保证数据安全性,在两两制作RAID0以提高读写性能
-
mdadm命令
-
作用:管理系统中的RAID磁盘阵列
-
格式:mdadm -模式参数 RAID设备文件名 -性能参数 磁盘成员文件名
-
参数:
- -C:创建RAID
- -D:查看RAID详细信息
- -Q:查看摘要信息
- -S:停止RAID工作
- -a:检测设备名称,添加新硬盘
- -n:指定硬盘数量
- -l:指定RAID级别
- -v:显示过程
- -f:模拟设备损坏
- -r:移除RAID中的硬盘设备
-
例:创建RAID10
-
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
-
分析
-Cv:创建RAID并显示过程
/dev/md0:创建的RAID设备文件名
-a yes:检测RAID设备名并确认
-n 4:参与制作的硬盘个数
-l 10:RAID级别为RAID10
最后为参与制作RAID10的硬盘文件名
- 格式化:mkfs.xfs /dev/md0
- 建立挂载点目录:mkdir -p /RAID
- 挂载RAID设备:mount /dev/md0 /RAID
- 查看RAID信息:mdadm -D /dev/md0
- 开机挂载:vim /etc/fstab
- 添加新行:/dev/md0 /RAID xfs defaults 0 0
- reboot重启
- df -h查看信息
-
-
RAID10 制作小结
-
mdadm 命令制作
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
-
mkfs.xfs 格式化
-
建立挂载点目录
-
mount 挂载
-
vim /etc/fstab 开机挂载
-
mdadm -D 查看信息
-
-
-
解散当前RAID
- 注意:在生产环境中若要取消RAID,必须先进行数据备份,否则已存在数据无法使用
- 第一步:备份数据
- 第二步:取消挂载状态 umount /dev/md0
- 第三步:删除开机挂载信息
- 第四步:停止 RAID10 mdadm -S /dev/md0
- 第五步:重启 reboot
-
RAID损坏修复功能
- 模拟某个硬盘损坏:mdadm /dev/md0 -f /dev/sdb
- 查看信息:mdadm -D /dev/md0
- 卸载RAID:umount /RAID
- 添加新硬盘:mdadm /dev/md0 -a /dev/sdf
- 查看信息:mdadm -D /dev/md0
-
RAID备份技术
-
原理:在RAID10中添加一块大容量硬盘,通过新硬盘进行备份数据,防止2块硬盘同时故障,若某块硬盘故障,备份盘会同步恢复,无需人工干预
-
例:创建RAID10+备份盘阵列系统
-
创建RAID10+备份盘:
mdadm -Cv /dev/md1 -a yes -n 4 -l 10 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
注意:-x 1表示备份盘 ,且为1块硬盘,一般命令的最后一个硬盘为备份盘
-
查看信息:mdadm -D /dev/md1
-
格式化:mkfs.ext4 /dev/md1
-
模拟硬盘损坏:mdadm /dev/md1 -f /dev/sdb
-
注意:/dev/sdf会自动补上,并且自动同步数据
-
-
2. LVM逻辑卷管理器
-
产生原因:硬盘分区及RAID部署后再修改空间大小时就十分不方便,甚至数据会丢失,用户需要动态灵活调整硬盘分区大小时,需要通过LVM技术实现
-
原理:LVM在磁盘分区与文件系统之间添加一个逻辑层,以提供一个抽象的卷组,使得管理者可以忽略底层磁盘布局,从而实现对分区的灵活调整
-
图:
-
分析
- PE:数据基本块,默认为4MB大小
- PV:物理卷,由整个硬盘或分区组成
- VG:卷组,由一个或多个物理卷组成
- LV:逻辑卷,从卷组中切割出的空间,用于创建文件系统,供用户使用
-
命令:
功能/命令 物理卷(PV) 卷组(VG) 逻辑卷(LV) 扫描 pvscan vgscan lvscan 建立 pvcreate vgcreate lvcreate 显示 pvdisplay vgdisplay lvdisplay 删除 pvremove vgremove lvremove 扩大 无 vgextend lvextend 缩小 无 vgreduce lvreduce -
LV使用过程
-
将硬盘设置为物理卷 -> 创建卷组 -> 将物理卷加入卷组 -> 切割指定大小的逻辑卷 -> 格式化逻辑卷 -> 创建挂载目录 -> 挂载逻辑卷 -> 添加开机挂载项
-
例1:系统中添加两个硬盘,创建物理卷及卷组,划分150MB的逻辑卷并格式化挂载使用
-
创建物理卷: pvcreate /dev/sdb /dev/sdc
-
创建卷组并将物理卷加入:vgcreate /dev/VG1 /dev/sdb /dev/sdc
-
显示卷组信息:vgdisplay /dev/VG1
-
切割150MB的逻辑卷:lvcreate -n lv1 -L 150M /dev/VG1
注意:lv1逻辑卷默认路径为卷组目录,使用相对路径即可
-
查看逻辑卷信息:lvdisplay /dev/VG1/lv1
-
格式化逻辑卷:mkfs.xfs /dev/VG1/lv1
-
创建挂载目录:mkdir -p /lvm1
-
挂载:mount /dev/VG1/lv1 /lvm1
-
开机挂载:添加新行 /dev/VG1/lv1 /lvm1 xfs defaults 0 0
-
-
例2:基于上例,划分出200MB的逻辑卷使用
-
划分200M的lv:lvcreate -n lv2 -l 50 /dev/VG1
注意:-n为新建参数,-l为PE(4MB)的个数,-L为实际容量
-
格式化:mkfs.xfs /dev/VG1/lv2
-
建立挂载点目录:mkdir -p /lvm2
-
挂载:mount /dev/VG1/lv2 /lvm2
-
开机挂载:/dev/VG1/lv2 /lvm2 xfs defaults 0 0
-
-
逻辑卷的扩容
- 过程:
- 卸载设备 -> 扩容到指定容量 -> 重新格式化 -> 重新挂载
- 例:对lv1逻辑卷扩容到300M
- 查看lv1信息:lvdisplay /dev/VG1/lv1
- 卸载设备:umount /dev/VG1/lv1
- 扩容:lvextend -L 300M /dev/VG1/lv1
- 格式化:mkfs.xfs -f /dev/VG1/lv1
- 重新挂载:mount /dev/VG1/lv1 /lvm1
- 查看信息:lvdisplay /dev/VG1/lv1
- 注意:
- 扩容前必须先卸载设备
- 扩容时注意容量单位换算(-L与-l的区别)
- 扩容后未格式化,则容量不变
- 过程:
-
逻辑卷的缩容
-
原则:相对扩容,逻辑卷缩容有风险,需提前备份,缩容前需对逻辑卷进行文件系统完整性检查,以保证数据安全
-
过程:
- 卸载设备 -> 文件完整性检查 -> 缩容 -> 重新格式化 -> 重新挂载
-
例:同上例,对lv2缩容到100MB
- 卸载设备:umount /dev/VG1/lv2
- 文件完整性检查:xfs_repair -n /dev/VG1/lv2
- 缩容:lvreduce -l 25 /dev/VG1/lv2(需要输入y确认,-l 25为物理块个数)
- 查看信息:lvdisplay /dev/VG1/lv2
- 重新强制格式化:mkfs.xfs -f /dev/VG1/lv2
- 挂载:mount /dev/VG1/lv2 /lvm2
- 查看信息:lsblk
-
-
删除逻辑卷
- 删除顺序:逻辑卷 -> 卷组 -> 物理卷(顺序不能错乱)
- 注意:
- 删除前必须备份数据
- 删除时需要输入“y”来确认
- 过程:
- 卸载设备 -> 清除fstab开机挂载中的对应数据 -> lvremove删除逻辑卷 -> vgremove删除卷组 -> pvremove删除物理卷
- 例:将上例所有的LVM数据删除
- 卸载:umount /dev/VG1/lv1 umount /dev/VG1/lv2
- 清除fstab对应信息:vim /etc/fstab 删除对应行
- 删除逻辑卷:lvremove /dev/VG1/lv1 lvremove /dev/VG1/lv2(输入y确认)
- 删除卷组:vgremove /dev/VG1
- 删除物理卷:pvremove /dev/sdb /dev/sdc(取消硬盘对物理卷技术的支持)
- 查看信息:lsblk
-
原文作者:絷缘
作者邮箱:zhiyuanworkemail@163.com
原文地址:https://zhiyuandnc.github.io/13bSfXXJ9/
版权声明:本文为博主原创文章,转载请注明原文链接作者信息