如何在RAID之上的循环设备和LVM上创建RAID。
时间:2020-03-21 11:44:02 来源:igfitidea点击:
注意,本文是实验性的,谨慎参考。
我在实验室中曾经做过许多实验性工作,而这仅仅是其中之一。
我们已经对分区,RAID和LVM进行了深入的研究和了解。
众所周知,一旦我们在RAID之上创建了LVM,将任何其他卷添加到RAID变得非常容易。
现在,我们将不再使用真实设备或者真实分区,而是使用循环设备。
然后,在创建循环设备之后,我们将在循环设备上创建RAID,然后在RAID之上创建LVM。
逐步说明:
- 首先,我们需要创建回路设备:
- 然后,我们可以使用这些循环设备创建新的阵列,或者可以说创建RAID设备。
- 之后,我们需要初始化物理卷(PV)。
- 然后,我们可以创建卷组(VG)。
- 之后,我们将创建逻辑卷(LVM)。
- 现在,我们可以调整RAID阵列的大小。
- 我们还可以调整LVM和RAID的大小,并可以在进行每次更改后轻松测试或者验证其大小。
- 完成此实验性实验室之后,我们可以通过给定的过程删除所有这些,这是我最后在本文中提到的。
首先使用dd命令创建三个200mb文件。
使用dd(磁盘转储命令,我们将创建三个文件,每个文件的大小为200MB)
[root@satish ~]# dd if=/dev/zero of=raid-0 bs=1M count=200 200+0 records in 200+0 records out 209715200 bytes (210 MB) copied, 0.554498 seconds, 378 MB/s [root@satish ~]# cp raid-0 raid-1 [root@satish ~]# cp raid-0 raid-2
通过使用lostup命令将它们转换成循环设备,使用三个以上的200mb文件创建初始阵列。
losttup命令用于在Linux中创建循环设备。
[root@satish ~]# losetup /dev/loop0 raid-0 [root@satish ~]# losetup /dev/loop1 raid-1 [root@satish ~]# losetup /dev/loop2 raid-2
使用这三个回路设备创建新的阵列。
[root@satish ~]# mdadm --create --verbose /dev/md5 --level=5 --raid-devices=3 /dev/loop0 /dev/loop1 /dev/loop2 mdadm: layout defaults to left-symmetric mdadm: chunk size defaults to 64K mdadm: size set to 204736K mdadm: array /dev/md5 started.
使用madam命令,我们使用名为/dev/loop0/dev/loop1和/dev/loop2的三个循环设备创建了raid5软件。
现在创建raid之后,我们需要确认raid是否已正确配置,因此我们需要对其进行测试,我们可以使用带有选项--detail的mdadm命令以非常简单的方式对其进行检查,如下所述。
现在详细检查创建的RAID设备。
[root@satish ~]# mdadm --detail /dev/md5 /dev/md5: Version : 0.90 Creation Time : Wed May 31 16:21:01 2013 Raid Level : raid5 Array Size : 409472 (399.94 MiB 419.30 MB) Used Dev Size : 204736 (199.97 MiB 209.65 MB) Raid Devices : 3 Total Devices : 3 Preferred Minor : 5 Persistence : Superblock is persistent Update Time : Wed May 31 16:22:36 2013 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K UUID : 592f15a1:dba02592:c3b644ca:412e7cf4 Events : 0.2 Number Major Minor RaidDevice State 0 7 0 0 active sync /dev/loop0 1 7 1 1 active sync /dev/loop1 2 7 2 2 active sync /dev/loop2
上面的输出清楚地告诉我们,三个设备/dev/loop0/dev/loop1和/dev/loop2在raid数组中处于活动状态。
现在初始化物理卷(PV)并创建卷组(VG)
[root@satish ~]# pvcreate /dev/md5 Physical volume "/dev/md5" successfully created [root@satish ~]# pvdisplay "/dev/md5" is a new physical volume of "399.88 MB" --- NEW Physical volume -- PV Name /dev/md5 VG Name PV Size 399.88 MB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID ytsDuk-Z1BG-S3tO-3mMy-wAQv-kuTZ-3a5TbM [root@satish ~]# vgcreate lvm-satish /dev/md5 Volume group "lvm-satish" successfully created [root@satish ~]# vgdisplay --- Volume group -- VG Name lvm-satish System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 396.00 MB PE Size 4.00 MB Total PE 99 Alloc PE/Size 0/0 Free PE/Size 99/396.00 MB VG UUID N0d0YK-9sGO-v8jY-9kSL-rFfx-lLCA-VnCqYP
创建并检查lvm卷。
[root@satish ~]# lvcreate -l 60 lvm-satish -n lvm0 Logical volume "lvm0" created [root@satish ~]# lvdisplay --- Logical volume -- LV Name /dev/lvm-satish/lvm0 VG Name lvm-satish LV UUID yMOTeD-1X3S-W5G7-arSn-s6tf-PKD1-y6Bv54 LV Write Access read/write LV Status available # open 0 LV Size 240.00 MB Current LE 60 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 512 Block device 253:0
现在,格式化并将其安装在目录上。
其中我将其安装在theitroad目录中。
[root@satish ~]# mkfs.ext3 /dev/lvm-satish/lvm0 [root@satish ~]# mount /dev/lvm-satish/lvm0 theitroad/ [root@satish ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 24G 12G 11G 54% / tmpfs 502M 0 502M 0% /dev/shm /dev/mapper/lvm--satish-lvm0 233M 6.1M 215M 3% /root/theitroad
现在添加一个文件。
[root@satish ~]# dd if=/dev/zero of=theitroad/ironman3.avi bs=10240 count=10240 10240+0 records in 10240+0 records out 104857600 bytes (105 MB) copied, 0.714737 seconds, 147 MB/s [root@satish ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/lvm--satish-lvm0 233M 107M 114M 49% /root/theitroad
现在,创建一个新的200mb环回设备,并使用此环设备,扩展raid数组。
[root@satish ~]# mdadm --grow /dev/md5 -n4 --backup-file=raid5backup mdadm: Need to backup 384K of critical section.. mdadm: ... critical section passed. [root@satish ~]# dd if=/dev/zero of=raid-3 bs=1M count=200 [root@satish ~]# losetup /dev/loop3 raid-3 [root@satish ~]# mdadm --add /dev/md5 /dev/loop3 mdadm: added /dev/loop3 [root@satish ~]# mdadm --detail /dev/md5 /dev/md5: Version : 0.90 Creation Time : Wed May 31 16:21:01 2013 Raid Level : raid5 Array Size : 614208 (599.91 MiB 628.95 MB) Used Dev Size : 204736 (199.97 MiB 209.65 MB) Raid Devices : 4 Total Devices : 4 Preferred Minor : 5 Persistence : Superblock is persistent Update Time : Wed May 31 17:14:20 2013 State : clean, degraded, recovering Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 64K Rebuild Status : 14% complete UUID : 592f15a1:dba02592:c3b644ca:412e7cf4 Events : 0.168 Number Major Minor RaidDevice State 0 7 0 0 active sync /dev/loop0 1 7 1 1 active sync /dev/loop1 2 7 2 2 active sync /dev/loop2 4 7 3 3 spare rebuilding /dev/loop3
调整RAID和LVM的大小,然后检查其大小。
[root@satish ~]# pvresize /dev/md5 Physical volume "/dev/md5" changed 1 physical volume(s) resized/0 physical volume(s) not resized [root@satish ~]# vgdisplay lvm-satish --- Volume group -- VG Name lvm-satish System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size 596.00 MB PE Size 4.00 MB Total PE 149 Alloc PE/Size 60/240.00 MB Free PE/Size 89/356.00 MB VG UUID N0d0YK-9sGO-v8jY-9kSL-rFfx-lLCA-VnCqYP [root@satish ~]# lvresize -l 50 /dev/lvm-satish/lvm0 WARNING: Reducing active and open logical volume to 200.00 MB THIS Jan DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lvm0? [y/n]: y Reducing logical volume lvm0 to 200.00 MB Logical volume lvm0 successfully resized [root@satish ~]# lvdisplay --- Logical volume -- LV Name /dev/lvm-satish/lvm0 VG Name lvm-satish LV UUID yMOTeD-1X3S-W5G7-arSn-s6tf-PKD1-y6Bv54 LV Write Access read/write LV Status available # open 1 LV Size 200.00 MB Current LE 50 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 512 Block device 253:0
现在学习如何删除所有这些东西
要删除我们在本练习中所做的所有操作,请按照相反的过程进行。
首先,我们需要在停止阵列之前先卸载所有文件系统。
如果要从阵列中删除设备,首先需要对它们进行故障处理。
我们可以手动对任何运行状况良好的设备进行故障处理。
[root@satish ~]#umount theitroad [root@satish ~]#lvremove -f /dev/lvm-satish/lvm0 [root@satish ~]#vgremove lvm-satish
停止和删除RAID阵列。
[root@satish ~]#mdadm --stop /dev/md5 [root@satish ~]#mdadm --remove /dev/md5
现在,删除所有循环设备。
[root@satish ~]#losetup -d /dev/loop0 [root@satish ~]#losetup -d /dev/loop1 [root@satish ~]#losetup -d /dev/loop2 [root@satish ~]#losetup -d /dev/loop3
现在,删除所有用作循环设备的文件。
[root@satish ~]#rm -rf raid-3 raid-2 raid-1 raid-0
最后,删除已安装RAID的目录。
[root@satish ~]rmdir theitroad