RAID与LVM磁盘阵列技术
Posted JiangHua·Zhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RAID与LVM磁盘阵列技术相关的知识,希望对你有一定的参考价值。
RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)
RAID概念:
RAID技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果
1. RAID 0 (最少2块)
概念:RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。 优点:RAID 0技术能够有效地提升硬盘数据的吞吐速度,在最理想的状态下,硬盘设备的读写性能会提升数倍 缺点:不具备数据备份和错误修复能力,若任意一块硬盘发生故障将导致整个系统的数据都受到破坏
2. RAID 1(最少2块)
概念:RAID 1技术把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份)。当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用。 优点:RAID 1有极高的安全性,当一块硬盘坏掉后完全不会影响到系统的数据,推荐应用场景:系统盘,对于读写速度要求不高的情景下使用 缺点:贵,浪费!设备利用率下降,加入RAID 1的硬盘越多,资源利用率越低
3. RAID 5(最少3块)
概念:RAID 5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID 5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中,而是存储到除自身以外的其他每一块硬盘设备上。 RAID 5技术实际上没有备份硬盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据。 优点:其中任何一块硬盘损坏后不至于出现致命缺陷,可以通过奇偶校验和及时恢复数据 缺点:容错率相对较低,只能容许有一块磁盘的损坏,如果超过1块以上就完了
4. RAID 10(最少4块)
概念:顾名思义,RAID 10技术是RAID 1+RAID 0技术的一个“组合体”。 RAID 10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID 1磁盘阵列,以保证数据的安全性;然后再对两个RAID 1磁盘阵列实施RAID 0技术,进一步提高硬盘设备的读写速度 优点:只要坏的不是同一组中的所有硬盘,那么最多可以损坏50%的硬盘设备而不丢失数据。 缺点:成本较高,在不考虑成本的情况下是最优的选择。
创建RAID:
mdadm命令用于管理Linux系统中的软件RAID硬盘阵列,格式为“mdadm [参数] <RAID设备名称> [选项] [成员设备名称]”。
mdadm命令的常用参数和作用:
参数 作用 -a 检测设备名称 -n 指定设备数量 -l 指定RAID级别 -C 创建 -v 显示过程 -f 模拟设备损坏 -r 移除设备 -Q 查看摘要信息 -D 查看详细信息 -S 停止RAID磁盘阵列 -x 指定备份盘个数
- 创建raid 10:
-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID磁盘阵列的名称;-l 10参数则代表RAID 10方案;而-n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列,最后再加上4块硬盘设备的名称就搞定了。
[root@zhangjh ~]# mdadm -Cv /dev/md0 -l 10 -n 4 /dev/sd[b-e] mdadm: layout defaults to n2 mdadm: layout defaults to n2 mdadm: chunk size defaults to 512K mdadm: size set to 20954624K mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
- 把创建好的raid磁盘阵列格式化
[root@zhangjh ~]# mkfs.ext4 /dev/md0 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=128 blocks, Stripe width=256 blocks 2621440 inodes, 10477312 blocks 523865 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2157969408 320 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
- 创建挂载点然后把硬盘设备进行挂载操作。挂载成功后可看到可用空间为40GB。
[root@zhangjh ~]# mkdir /raid_mount [root@zhangjh ~]# mou mount mount.nfs mountpoint mousetweaks mount.fuse mount.nfs4 mountstats [root@zhangjh ~]# mount /dev/md0 /raid_mount/ [root@zhangjh ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/rhel-root 18G 3.0G 15G 17% / devtmpfs 909M 0 909M 0% /dev tmpfs 918M 80K 918M 1% /dev/shm tmpfs 918M 8.9M 909M 1% /run tmpfs 918M 0 918M 0% /sys/fs/cgroup /dev/sda1 497M 119M 379M 24% /boot /dev/md0 40G 49M 38G 1% /raid_mount
- 最后,查看/dev/md0磁盘阵列的详细信息,并把挂载信息写入到配置文件中,使其永久生效。
[root@zhangjh ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat May 26 11:33:43 2018 Raid Level : raid10 Array Size : 41909248 (39.97 GiB 42.92 GB) Used Dev Size : 20954624 (19.98 GiB 21.46 GB) Raid Devices : 4 Total Devices : 4 Persistence : Superblock is persistent Update Time : Sat May 26 12:51:55 2018 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 512K Name : zhangjh:0 (local to host zhangjh) UUID : 71c316b2:ee22cd6c:378cb2c4:3039fc9e Events : 17 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 2 8 48 2 active sync /dev/sdd 3 8 64 3 active sync /dev/sde
[root@zhangjh ~]# echo "/dev/md0 /raid_mount ext4 defaults 0 0" >> /etc/fstab
故障处理:
在确认有一块物理硬盘设备出现损坏而不能继续正常使用后,应该使用mdadm -r 命令将其移除,然后查看RAID磁盘阵列的状态,可以发现状态已经改变。
mdadm /dev/md0 -f /dev/sdb #-f 模拟设备损坏
[root@zhangjh ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@zhangjh ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat May 26 11:33:43 2018
Raid Level : raid10
Array Size : 41909248 (39.97 GiB 42.92 GB)
Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sat May 26 13:42:20 2018
State : clean, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : zhangjh:0 (local to host zhangjh)
UUID : 71c316b2:ee22cd6c:378cb2c4:3039fc9e
Events : 19
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 64 3 active sync /dev/sde
0 8 16 - faulty /dev/sdb #状态已经改变成faulty(有错误的)
在RAID 10级别的磁盘阵列中,当RAID 1磁盘阵列中存在一个故障盘时并不影响RAID 10磁盘阵列的使用。当购买了新的硬盘设备后再使用mdadm命令来予以替换即可,在此期间我们可以在/RAID目录中正常地创建或删除文件。由于我们是在虚拟机中模拟硬盘,所以先重启系统,然后再把新的硬盘添加到RAID磁盘阵列中。
[root@zhangjh ~]# umount /raid_mount/ 重启 [root@zhangjh ~]# mdadm -D /dev/md0 #磁盘损坏,可以看到下面标红处显示的状态是removed /dev/md0: Version : 1.2 Creation Time : Sat May 26 11:33:43 2018 Raid Level : raid10 Array Size : 41909248 (39.97 GiB 42.92 GB) Used Dev Size : 20954624 (19.98 GiB 21.46 GB) Raid Devices : 4 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat May 26 21:48:40 2018 State : clean, degraded Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 512K Name : zhangjh:0 (local to host zhangjh) UUID : 71c316b2:ee22cd6c:378cb2c4:3039fc9e Events : 25 Number Major Minor RaidDevice State 0 0 0 0 removed #损坏的sdb盘 1 8 32 1 active sync /dev/sdc 2 8 48 2 active sync /dev/sdd 3 8 64 3 active sync /dev/sde [root@zhangjh ~]# mdadm /dev/md0 -a /dev/sdb #检测新加入磁盘并加入md0阵列中 mdadm: added /dev/sdb [root@zhangjh ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat May 26 11:33:43 2018 Raid Level : raid10 Array Size : 41909248 (39.97 GiB 42.92 GB) Used Dev Size : 20954624 (19.98 GiB 21.46 GB) Raid Devices : 4 Total Devices : 4 Persistence : Superblock is persistent Update Time : Sat May 26 13:50:30 2018 State : clean, degraded, recovering Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1 Layout : near=2 Chunk Size : 512K Rebuild Status : 4% complete #修复进度4% Name : zhangjh:0 (local to host zhangjh) UUID : 71c316b2:ee22cd6c:378cb2c4:3039fc9e Events : 29 Number Major Minor RaidDevice State 4 8 16 0 spare rebuilding /dev/sdb #修复中的sdb 1 8 32 1 active sync /dev/sdc 2 8 48 2 active sync /dev/sdd 3 8 64 3 active sync /dev/sde
LVM逻辑卷管理器:
- LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整
- 物理卷处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列,这都可以。卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷。逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。这就是LVM的核心理念。
- 部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。常用的部署命令如下所示:
功能/命令 物理卷管理 卷组管理 逻辑卷管理 扫描 pvscan vgscan lvscan 建立 pvcreate vgcreate lvcreate 显示 pvdisplay vgdisplay lvdisplay 删除 pvremove vgremove lvremove 扩展 vgextend lvextend 缩小 vgreduce lvreduce
- 创建逻辑卷
第1步:硬盘建立物理卷
[root@zhangjh ~]# pvcreate /dev/md0 WARNING: ext4 signature detected on /dev/md0 at offset 1080. Wipe it? [y/n] y Wiping ext4 signature on /dev/md0. Physical volume "/dev/md0" successfully created
第2步:把硬盘加入到storage卷组中,然后查看卷组的状态。
[root@zhangjh ~]# vgcreate storage /dev/md0 Volume group "storage" successfully created [root@zhangjh ~]# vgdisplay --- Volume group --- VG Name storage 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 39.96 GiB PE Size 4.00 MiB Total PE 10231 Alloc PE / Size 0 / 0 Free PE / Size 10231 / 39.96 GiB VG UUID TFd8PC-tCS3-NeOq-Xl96-UX8n-ifuI-EsZSjI
第3步:分出一个约为10G的逻辑卷设备并查看逻辑卷状态。
这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的参数为-L。例如,使用-L 150M生成一个大小为150MB的逻辑卷。另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为4MB。例如,使用-l 37可以生成一个大小为37×4MB=148MB的逻辑卷。
[root@zhangjh ~]# lvcreate -n zjh_dir -L 10G storage Logical volume "zjh_dir" created [root@zhangjh ~]# lvdisplay --- Logical volume --- LV Path /dev/storage/zjh_dir LV Name zjh_dir VG Name storage LV UUID lGd2v7-ZS3Z-ByzV-Q0Ai-v8ig-5558-uWxamh LV Write Access read/write LV Creation host, time zhangjh, 2018-05-26 16:35:14 +0800 LV Status available # open 0 LV Size 10.00 GiB Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 4096 Block device 253:2
第4步:把生成好的逻辑卷进行格式化,然后挂载使用。
[root@zhangjh ~]# mkfs.ext4 /dev/storage/zjh_dir mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=128 blocks, Stripe width=256 blocks 655360 inodes, 2621440 blocks 131072 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2151677952 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
root@zhangjh ~]# mkdir linshiceshi [root@zhangjh ~]# mount /dev/storage/zjh_dir linshiceshi/
第5步:查看挂载状态,并写入到配置文件,使其永久生效。
[root@zhangjh ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/rhel-root 18G 3.0G 15G 17% / devtmpfs 909M 0 909M 0% /dev tmpfs 918M 80K 918M 1% /dev/shm tmpfs 918M 8.9M 909M 1% /run tmpfs 918M 0 918M 0% /sys/fs/cgroup /dev/sda1 497M 119M 379M 24% /boot /dev/mapper/storage-zjh_dir 9.8G 37M 9.2G 1% /root/linshiceshi [root@zhangjh ~]# echo "/dev/storage/zjh_dir /root/linshiceshi ext4 defaults 0 0" >> /etc/fstab
- 扩容逻辑卷:
只要卷组中有足够的资源,就可以一直为逻辑卷扩容, 扩展前一定要记得卸载设备和挂载点的关联。
[root@zhangjh ~]# umount /root/linshiceshi
第1步:把上一个实验中的逻辑卷 zjh_dir 扩展至15G。
[root@zhangjh ~]# lvextend -L 15G /dev/storage/zjh_dir Extending logical volume zjh_dir to 15.00 GiB Logical volume zjh_dir successfully resized
第2步:检查硬盘完整性,并重置硬盘容量。
[root@zhangjh ~]# e2fsck -f /dev/storage/zjh_dir e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/storage/zjh_dir: 11/655360 files (0.0% non-contiguous), 83137/2621440 blocks [root@zhangjh ~]# resize2fs /dev/storage/zjh_dir resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/storage/zjh_dir is mounted on /root/linshiceshi; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 2 The filesystem on /dev/storage/zjh_dir is now 3932160 blocks long.
第3步:重新挂载硬盘设备并查看挂载状态。
[root@zhangjh ~]# mount -a [root@zhangjh ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/rhel-root 18G 3.0G 15G 17% / devtmpfs 909M 0 909M 0% /dev tmpfs 918M 80K 918M 1% /dev/shm tmpfs 918M 8.9M 909M 1% /run tmpfs 918M 0 918M 0% /sys/fs/cgroup /dev/sda1 497M 119M 379M 24% /boot /dev/mapper/storage-zjh_dir 15G 41M 14G 1% /root/linshiceshi
- 缩小逻辑卷:
相较于扩容逻辑卷,在对逻辑卷进行缩容操作时,其丢失数据的风险更大。所以在生产环境中执行相应操作时,一定要提前备份好数据。另外Linux系统规定,在对LVM逻辑卷进行缩容操作之前,要先检查文件系统的完整性(当然这也是为了保证我们的数据安全)。在执行缩容操作前记得先把文件系统卸载掉。
[root@zhangjh ~]# umount /root/linshiceshi/
第1步:检查文件系统的完整性。
[root@zhangjh ~]# e2fsck -f /dev/storage/zjh_dir e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/storage/zjh_dir: 134/983040 files (0.0% non-contiguous), 105047/3932160 blocks
第2步:把逻辑卷 zjh_dir 的容量减小到8G。
[root@zhangjh ~]# resize2fs /dev/storage/zjh_dir 8G resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/storage/zjh_dir to 2097152 (4k) blocks. The filesystem on /dev/storage/zjh_dir is now 2097152 blocks long. [root@zhangjh ~]# lvreduce -L 8G /dev/storage/zjh_dir WARNING: Reducing active logical volume to 8.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce zjh_dir? [y/n]: y Reducing logical volume zjh_dir to 8.00 GiB Logical volume zjh_dir successfully resized
第3步:重新挂载文件系统并查看系统状态。
[root@zhangjh ~]# mount -a [root@zhangjh ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/rhel-root 18G 3.0G 15G 17% / devtmpfs 909M 0 909M 0% /dev tmpfs 918M 80K 918M 1% /dev/shm tmpfs 918M 8.9M 909M 1% /run tmpfs 918M 0 918M 0% /sys/fs/cgroup /dev/sda1 497M 119M 379M 24% /boot /dev/mapper/storage-zjh_dir 7.8G 38M 7.4G 1% /root/linshiceshi
- 逻辑卷快照:
LVM还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。
LVM的快照卷功能有两个特点: 快照卷的容量必须等同于逻辑卷的容量;
快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。
首先查看卷组的信息。
[root@zhangjh ~]# vgdisplay --- Volume group --- VG Name storage System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 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 39.96 GiB PE Size 4.00 MiB Total PE 10231 Alloc PE / Size 2048 / 8.00 GiB Free PE / Size 8183 / 31.96 GiB VG UUID TFd8PC-tCS3-NeOq-Xl96-UX8n-ifuI-EsZSjI
通过卷组的输出信息可以清晰看到,卷组中已经使用了 8.813G 的容量,空闲容量还有 31.96 GB。接下来用重定向往逻辑卷设备所挂载的目录中写入一个文件。
[root@zhangjh ~]# echo "hahahahahahahahahaxxxxxxxxxxxxxx" > /root/linshiceshi/readme.txt [root@zhangjh ~]# ls -l /root/linshiceshi/readme.txt -rw-r--r--. 1 root root 33 May 26 17:24 /root/linshiceshi/readme.txt
第1步:使用-s参数生成一个快照卷,使用-L参数指定切割的大小。另外,还需要在命令后面写上是针对哪个逻辑卷执行的快照操作。
[root@zhangjh ~]# lvcreate -L 8183m -s -n SNAPSHOT /dev/storage/zjh_dir Rounding up size to full physical extent 7.99 GiB Logical volume "SNAPSHOT" created [root@zhangjh ~]# lvdisplay --- Logical volume --- LV Path /dev/storage/zjh_dir LV Name zjh_dir VG Name storage LV UUID lGd2v7-ZS3Z-ByzV-Q0Ai-v8ig-5558-uWxamh LV Write Access read/write LV Creation host, time zhangjh, 2018-05-26 16:35:14 +0800 LV snapshot status source of SNAPSHOT [active] LV Status available # open 1 LV Size 8.00 GiB Current LE 2048 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 4096 Block device 253:2 --- Logical volume --- LV Path /dev/storage/SNAPSHOT LV Name SNAPSHOT VG Name storage LV UUID 8WQ4VL-7J4S-c3fG-2fJS-HG0v-DpFA-xyYcw8 LV Write Access read/write LV Creation host, time zhangjh, 2018-05-26 17:28:19 +0800 LV snapshot status active destination for zjh_dir LV Status available # open 0 LV Size 8.00 GiB Current LE 2048 COW-table size 7.99 GiB COW-table LE 2046 Allocated to snapshot 0.00% Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 4096 Block device 253:3
第2步:在逻辑卷所挂载的目录中创建一个100MB的垃圾文件,然后再查看快照卷的状态。可以发现存储空间占的用量上升了。
[root@zhangjh ~]# dd if=/dev/zero of=/root/linshiceshi/files count=2 bs=1G 2+0 records in 2+0 records out 2147483648 bytes (2.1 GB) copied, 323.427 s, 6.6 MB/s [root@zhangjh linshiceshi]# lvdisplay --- Logical volume --- LV Path /dev/storage/SNAPSHOT LV Name SNAPSHOT VG Name storage LV UUID 8WQ4VL-7J4S-c3fG-2fJS-HG0v-DpFA-xyYcw8 LV Write Access read/write LV Creation host, time zhangjh, 2018-05-26 17:28:19 +0800 LV snapshot status active destination for zjh_dir LV Status available # open 0 LV Size 8.00 GiB Current LE 2048 COW-table size 7.99 GiB COW-table LE 2046 Allocated to snapshot 25.13% #此处可以看到,写入的2G数据已经占了4分之一 Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 4096 Block device 253:3
第3步:为了校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载。
[root@zhangjh ~]# umount /root/linshiceshi [root@zhangjh ~]# lvconvert --merge /dev/storage/SNAPSHOT Merging of volume SNAPSHOT started. zjh_dir: Merged: 75.2% zjh_dir: Merged: 80.4% zjh_dir: Merged: 84.3% zjh_dir: Merged: 89.1% zjh_dir: Merged: 94.0% zjh_dir: Merged: 99.7% zjh_dir: Merged: 100.0% Merge of snapshot into logical volume zjh_dir has finished. Logical volume "SNAPSHOT" successfully removed
第4步:快照卷会被自动删除掉,并且刚刚在逻辑卷设备被执行快照操作后再创建出来的 2G 的垃圾文件也被清除了。
[root@zhangjh ~]# mount -a [root@zhangjh ~]# ll /root/linshiceshi/files ls: cannot access /root/linshiceshi/files: No such file or directory
- 删除逻辑卷操作:
- 必须要依次删除逻辑卷、卷组、物理卷设备,这个顺序不可颠倒。
第1步:取消逻辑卷与目录的挂载关联,删除配置文件中永久生效的设备参数。
[root@zhangjh ~]# umount linshiceshi/ [root@zhangjh ~]# vim /etc/fstab #/dev/storage/zjh_dir /root/linshiceshi ext4 defaults 0 0
第2步:删除逻辑卷设备。
[root@zhangjh ~]# lvremove /dev/storage/zjh_dir Do you really want to remove active logical volume zjh_dir? [y/n]: y Logical volume "zjh_dir" successfully removed
第3步:删除卷组,此处只写卷组名称即可,不需要设备的绝对路径。
[root@zhangjh ~]# vgremove storage Volume group "storage" successfully removed
第4步:删除物理卷设备。
[root@zhangjh ~]# pvremove /dev/md0 Labels on physical volume "/dev/md0" successfully wiped
以上是关于RAID与LVM磁盘阵列技术的主要内容,如果未能解决你的问题,请参考以下文章