1.将磁盘转换为物理卷,并加入 pv
[root@linux-node1 ~]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created.
2.检查 pv 创建情况
[root@linux-node1 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb lvm2 --- 1.00g 1.00g
1.创建名为 datavg 的卷组,然后将物理卷加入进卷组
[root@linux-node1 ~]# vgcreate datavg /dev/sdb Volume group "datavg" successfully created
2.检查卷组(发现存在一个PV卷)
[root@linux-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree datavg 1 0 0 wz--n- 1020.00m 1020.00m
1.分配 datavg 逻辑卷, -n 指定逻辑卷名称, -L 指定逻
辑卷大小;
#1.分配100M空间给lv1逻辑卷 [root@linux-node1 ~]# lvcreate -L 100M -n lv1 datavg Logical volume "datalv1" created.
2.检查逻辑卷
[root@linux-node1 ~]# lvscan ACTIVE '/dev/datavg/lv1' [100.00 MiB] inherit
1.格式化逻辑卷
[root@linux-node1 ~]# mkfs.xfs /dev/datavg/lv1
2.创建目录并挂载
[root@linux-node1 ~]# mkdir /lv1 [root@linux-node1 ~]# mount /dev/datavg/lv1 /lv1/ [root@linux-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on ... /dev/mapper/datavg-lv1 97M 5.2M 92M 6% /lv1
1.准备新的磁盘加入至 pv ,然后检查卷组当前的大小;
[root@node~]# pvcreate /dev/sdc [root@node~]# vgs VG #PV #LV #SN Attr VSize VFree datavg 1 1 0 wz--n- 1020.00m 920.00m
2.使用 vgextend 扩展卷组
[root@node ~]# vgextend datavg /dev/sdc Volume group "datavg" successfully extended
3.再次检查,发现卷组已经扩大
[root@node ~]# vgs VG #PV #LV #SN Attr VSize VFree datavg 2 1 0 wz--n- 1.99g 1.89g
[root@node ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb vg1 lvm2 a -- 2.00g 1.76g /dev/sdc vg1 lvm2 a -- 2.00g 2.00g
2.pvmove 在线数据迁移,将 sdb 的数据迁移至 sdc
[root@node ~]# pvmove /dev/sdb /dev/sdb: Moved: 100.00%
3.检查是否将 sdb 数据迁移至 sdc
[root@node~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb vg1 lvm2 a -- 2.00g 2.00g /dev/sdc vg1 lvm2 a -- 2.00g 1.76g
4.从卷组中移除 sdb 磁盘
[root@node ~]# vgreduce datavg /dev/sdb Removed "/dev/sdb" from volume group "datavg"
[root@node~]# vgs VG #PV #LV #SN Attr VSize VFree datavg 1 1 0 wz--n- 1020.00m 920.00m
1.扩展 lv 逻辑卷,增加 800M 分配给逻辑卷
[root@node ~]# lvextend -L +800M /dev/datavg/lv1 #也可以选择分配卷组中多少百分比给逻辑卷 [root@node ~]# lvextend -l +50%FREE /dev/datavg/lv1
2.扩展逻辑卷后需要更新fs文件系统
[root@node ~]# xfs_growfs /dev/datavg/lv1 #xfs文件格式扩容 [root@node ~]# resize2fs /dev/datavg/lv1 #ext文件格式扩容
1.选卸载挂载点,然后在移除逻辑卷
[root@oldxu ~]# umount /dev/datavg/lv1 [root@oldxu ~]# lvremove /dev/datavg/lv1
2.删除 vg
[root@oldxu ~]# vgremove datavg
3.删除 pv
[root@oldxu ~]# pvremove /dev/sdb [root@oldxu ~]# pvremove /dev/sdc
RAID0条带卷,最少两块盘。读写性能好,但没有容
错机制。坏一块磁盘数据全丢。
RAID1 镜像卷,写入性能一般、读取性能快、有容错
机制,但磁盘有50%浪费
RAID5 校验卷,至少3块相同大小的盘,并且只允许
坏一块盘,有效空间 (N-1) ,读写速度快。坏掉一块
盘,读的性能会下降;
硬 RAID 使用硬件阵列卡;在安装操作系统之前进入
BIOS 配置
raid列表
由于使用操作系统模拟的软RAID,所以需要在虚拟机上
添加 9 块硬盘,来完成实验;
raid种类 | 磁盘 | 热备盘 |
---|---|---|
raid0 | sdb,sdc |
1.创建 raid0
[root@node ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
2.查看阵列信息
[root@node ~]# mdadm -Ds [root@node ~]# mdadm -D /dev/md0
3.格式化磁盘并分区挂载
[root@node ~]# mkfs.xfs /dev/md0 [root@node ~]# mkdir /raid0 [root@node ~]# mount /dev/md0 /raid0/ [root@node ~]# df -h
raid种类 | 磁盘 | 热备盘 |
---|---|---|
raid1 | sdd,sde | sdf |
#1.创建raid1阵列 [root@node ~]# mdadm -C -v /dev/md1 -l 1 - n 2 /dev/sdd /dev/sde -x1 /dev/sdf
[root@node ~]# mkfs.xfs -f /dev/md1 [root@node ~]# mkdir /raid1 [root@node ~]# mount /dev/md1 /mnt/raid1/
3.使用 --fail 模拟 RAID1 中数据盘 /dev/sde 出现故障,观察 /dev/sdf 备用盘能否自动顶替故障盘;
[root@node ~]# mdadm /dev/md1 --fail /dev/sde
4.检查当然 raid 状态
[root@node ~]# # mdadm -D /dev/md1 Number Major Minor RaidDevice State 0 8 96 0 active sync /dev/sdd 2 8 128 1 spare rebuilding /dev/sdf # 热备盘已经 在同步数据 1 8 112 - faulty /dev/sde #故障盘
5.移除损坏的磁盘
[root@node ~]# mdadm /dev/md1 -r /dev/sde
raid种类 | 磁盘 | 热设备 |
---|---|---|
raid5 | sdg,sdh,sdi | sdj |
1.创建 raid5 也可以在最后-x添加备用盘
[root@node~]# mdadm -C -v /dev/md5 -l 5 - n 3 /dev/sdg /dev/sdh /dev/sdi -x1 /dev/sdj
2.格式化磁盘并分区挂载
[root@node ~]# mkfs.xfs -f /dev/md5 [root@node ~]# mkdir /mnt/raid5 [root@node ~]# mount /dev/md5 /raid5/ [root@node ~]# echo "Raid" > /raid5/file [root@node ~]# mdadm -D /dev/md5
3.模拟一块磁盘损坏,查看 /dev/sdj 备用磁盘是否会顶上
[root@node ~]# mdadm /dev/md5 --fail /dev/sdg [root@node ~]# mdadm -D /dev/md5
4.将故障的 /dev/sdg 盘剔除;
[root@node ~]# mdadm /dev/md5 -r /dev/sdg
5.再次模拟一块磁盘损坏,检查数据是否丢失;
[root@oldxu ~]# mdadm /dev/md5 --fail /dev/sdg [root@oldxu ~]# mdadm -D /dev/md5