- 测试环境
四块盘vdb[c,d,e](三块做raid5,一块冗余盘),物理机是sdb[c,d,e]
- 创建raid5
- 分别初始化4块盘【不必要】
mkfs.ext4 /dev/vdb
- 创建MD5
mdadm –create /dev/md5 –auto=yes –level=5 –raid-devices=3 –spare-devices=1 /dev/vdb /dev/vdc /dev/vdd /dev/vde
create:创建 raid
/dev/md5:md5 为 raid 设备文件名,自定义名称,一般习惯 raid5 就取名 md5, 方便理解
raid-devices=3:使用几个磁盘或分区作为磁盘阵列的设备
spare-devices=1:使用几个磁盘或分区作为备用设备
level=5:设置这组磁盘阵列的等级 如果需要冗余盘的话可以
- 查看创建状态
说明:
第一行部分:指出 md5 为 raid5 ,且使用了 vdd,vde,vdc,vdb,等四个磁盘设备。每个设备后面的中括号[]内的数字为此磁盘在 RAID 中的顺序(RaidDevice);至于vde后面的 [S] 则代表vde为spare之意;
第二行部分:此磁盘阵列拥有41908224个block(每个 block 单位为 1K), 所以总容量约为 9.98GB,使用 RAID 5 等级,写入磁盘的小区块(chunk)大小 为 512K,使用 algorithm 2 磁盘阵列演算法。 [m/n] 代表此阵列需要 m 个设 备,且 n 个设备正常运行。因此本 md5 需要 3 个设备且这 3 个设备均正常 运行。后面的 [UUU] 代表的是四个所需的设备(就是 [m/n] 里面的 m)的启动情况,U 代表正常运行,若为 _ 则代表不正常。
- 配置文件系统(创建lvm)
- 创建lvm分区
pvcreate /dev/md5 (创建物理卷PV)
vgcreate vg_md5 /dev/md5 (创建卷组VG)
lvcreate -n lv_md5 -l 100%VG vg_md5(创建逻辑卷LV,使用全部空间)
lvcreate -l +100%FREE <vg_name> -n <lv_name>(创建逻辑卷LV,使用全部剩余空间)
lvcreate -L 4G <vg_name> -n <lv_name>(创建逻辑卷LV,使用指定空间)
- 扩容逻辑卷
lvextend -L <extend_size> <lv_path>
注意:如果扩容的逻辑卷已经挂载到具体文件系统,则需要执行resize2fs或者xfs_growfs(针对xfs文件系统)命令使修改生效,可以通过df -Th或者blkid查看lv所挂载的文件系统类型。
ext4文件系统扩容使用命令语法:resize2fs 逻辑卷名称resize2fs /dev/vg01/lv01
xfs文件系统扩容使用命令语法:xfs_growfs 挂载点xfs_growfs /lv01
- 查看分区信息
列出可被用作pv的设备:lvmdiskscan
查看pv信息 pvs、pvscan、pvdisplay
查看vg信息 vgs、vgscan、vgdisplay
查看lv信息 lvs、lvscan、lvdisplay
- 格式化lvm分区
mkfs.<filesystem_type> /dev/mapper/<vg_name>-<lv_name>
mkfs.ext4 /dev/mapper/vg_md5-lv_md5
- 挂载lvm分区(暂定挂载路径/mnt/tlbackuprestore)
- 配置开机自动挂载
- 扩容(新添加硬盘)
- 初始化新硬盘
- 将硬盘添加到raid阵列
- 扩容磁盘整列
mdadm –grow /dev/md5 –raid-devices=4 (扩容阵列设备增加到4个)
查看状态,等待完成:
- 更新物理卷PV大小
pvresize /dev/md5
- 扩容逻辑卷
lvextend -l +100%FREE /dev/mapper/vg_md5-lv_md5 (使用所有剩余空间)
- 更新文件系统大小
- 清除LVM和raid5
- 取消自动挂载
删除在/etc/fstab里添加的自动挂载配置
- 取消挂载(umount)
- 删除逻辑卷
lvdisplay查看LV Path
lvremove [lv path]
- 删除卷组
vgdisplay 查看VG Name
vgremove [VG Name]
- 删除物理卷
pvdisplay 查看 PV Name
pvremove [PV Name]
- 停止运行raid
mdadm -S /dev/md5
- 分别删除所有磁盘元数据
mdadm –zero-superblock /dev/vdb[c,d,e…]
- 分别删除磁盘创建的文件系统
wipefs -a -f /dev/vdb[c,d,e…]
或者
dd if=/dev/zero of=/dev/vdb[c,d,e…] bs=1M count=1