文章目录
第六章 使用RAID与LVM磁盘阵列技术一、RAID磁盘冗余阵列1、部署磁盘阵列(1)、RAID0、1、5、10方案技术对比(2)、RAID0 RAID1 RAID5 RAID10介绍(3)、mdadm命令(4)、mdadm命令的常用参数和作用(5)创建RAID10并检查看摘要信息(6)、格式化(7)、挂载硬盘设备(8)、查看详细信息 2、损坏磁盘阵列及修复(1)、模拟损坏的硬盘设备(2)、查看详细信息(3)、移除损坏的硬盘(4)、重新添加硬盘(5)、查看详细情况 3、磁盘阵列+备份盘(1)、创建一个RAID5磁盘阵列+备份盘(2)、查看详细信息(3)、格式化(4)、挂载硬盘设备(5)、移除磁盘并查看详细信息 4、删除磁盘阵列(1)、卸载(2)、模拟损坏硬盘并删除(3)、查看详细信息(4)、停止整个RAID磁盘阵列 二、LVM逻辑卷管理器1、逻辑卷介绍2、部署逻辑卷(1)、常用的LVM部署命令(2)、创建物理卷(3)、添加到卷组并查看状态(4)、创建逻辑卷并查看状态(5)、格式化(6)、挂载并查看挂载状态 3、扩容逻辑卷(1)、卸载设备(2)、扩容(3)、检查(4)、重置容量(5)、重新挂载并查看状态 4、缩小逻辑卷(1)、卸载设备(2)、先检查完整性(3)、通知系统缩减逻辑卷的容量(4)、缩容(5)、重新挂载并查看状态 5、逻辑卷快照(1)、优点(2)、lvconvert命令(3)、查看容量是否够用(4)、写入文件(5)、生成快照卷(6)、创建垃圾文件并查看快照卷的状态(7)、卸载(8)、恢复快照(9)、挂载并查看 6、删除逻辑卷(1)、卸载(2)、删除逻辑卷设备(3)、删除卷组(4)、删除物理卷设备第六章 使用RAID与LVM磁盘阵列技术
一、RAID磁盘冗余阵列
1、部署磁盘阵列
(1)、RAID0、1、5、10方案技术对比
(2)、RAID0 RAID1 RAID5 RAID10介绍
RAID0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。这样一来,在最理想的状态下,硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发生故障将导致整个系统的数据都受到破坏。通俗来说,RAID0技术能够有效地提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力。如图所示:数据被分别写入到不同的硬盘设备中,即硬盘A和硬盘B设备会分别保存数据资料,最终实现提升读取、写入速度的效果。
尽管RAID0技术提升了硬盘设备的读写速度,但是它是将数据依次写入到各个物理硬盘中,也就是说,它的数据是分开存放的,其中任何一块硬盘发生故障都会损坏整个系统的数据。因此,如果生产环境对硬盘设备的读写速度没有要求,而是希望增加数据的安全性时,就需要用到RAID1技术了。
如图所示的RAID1技术示意图中可以看到,它是把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份)。当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用。
考虑到写入操作时CPU切换硬盘的开销,速度会比RAID O有微弱的降低,但在读取数据的时候,操作系统可以分别从两块硬盘中读取信息,理论读取速度的峰值可以是硬盘数量的倍数。另外平时只要保证有一块硬盘稳定运行,数据就不会出现损坏的情况,可靠性较高。
另外RAID1技术虽然十分注重数据的安全性,但是因为是在多块硬盘设备中写入了相同的数据,因此硬盘设备的利用率得以下降,从理论上来说,图7-2所示的硬盘空间的真实可用率只有50%,由三块硬盘设备组成的RAID1磁盘阵列的可用率只有33%左右,以此类推。而且,由于需要把数据同时写入到两块以上的硬盘设备,这无疑也在一定程度上增大了系统计算功能的负载。
如图所示,RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中,而是存储到除自身以外的其他每一块硬盘设备上,这样的好处是其中任何一设备损坏后不至于出现致命缺陷;图中parity部分存放的就是数据的奇偶校验信息,换句话说,就是RAID5技术实际上没有备份硬盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据。RAID这样的技术特性“妥协”地兼顾了硬盘设备的读写速度、数据安全性与存储成本问题。
RAID5最少由三块硬盘组成,使用的是Disk Striping硬盘切割技术。比RAID1级别好处就在于保存的是奇偶校验信息而不是一模一样的文件内容,所以当重复写入某个文件时,RAID5级别的磁盘阵列组只需要对应一个奇偶校验信息就可以,效率更高,存储成本也会随之降低。
鉴于RAID5技术是因为硬盘设备的成本问题对读写速度和数据的安全性能而有了一定的妥协,但是大部分企业更在乎的是数据本身的价值而非硬盘价格,因此生产环境中主要使用RAID10技术。
顾名思义,RAID-10技术是RAID1+RAIDO技术的一个“组合体”。如图所示,RAID10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID1磁盘阵列,以保证数据的安全性;然后再对两个RAID1磁盘阵列实施RAID0技术,进一步提高硬盘设备的读写速度。这样从理论上来讲,只要坏的不是同一组中的所有硬盘,那么最多可以损坏50%的硬盘设备而不丢失数据。由于RAID10技术继承了RAIDO的高读写速度和RAID1的数据安全性,在不考虑成本的情况下RAID10的性能都超过了RAID5,因此当前成为广泛使用的一种存储技术。
细看图可以分析出,RAID10是先对信息进行分割,然后再两两一组做的镜像。也就是将RAID1作为最低级别的组合,再使用RAID0技术组合到一起,将它们视为“一整块”硬盘。而RAID01则是相反的,它回先将硬盘分为两组,使用RAID0作为最低级别的组合,再将两组硬盘通过RAID1技术组合到一起。但区别非常明显,RAID10级别中任何一块硬盘损坏都不会影响到数据安全性,其余硬盘均会正常运作。但RAID01只要有任何一—盘损坏,最低级别的RAID0硬盘组马上会停止运作,可能造成严重隐患。所以RAID10远比RAID01常见,很多主板甚至不支持RAID01。
(3)、mdadm命令
mdadm命令用于创建、调整、监控和管理RAID设备,英文全称:“multiple devices admin”。
语法格式:mdadm [参数] 硬盘名称
(4)、mdadm命令的常用参数和作用
(5)创建RAID10并检查看摘要信息
//创建[root@centos ~]# mdadm -C -v /dev/md10 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sdemdadm: layout defaults to n2mdadm: layout defaults to n2mdadm: chunk size defaults to 512Kmdadm: size set to 20954112Kmdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md10 started.//查看[root@centos ~]# mdadm -Q /dev/md10 /dev/md10: 39.97GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.
(6)、格式化
//将RAID磁盘阵列格式化为ext4格式[root@centos ~]# mkfs.ext4 /dev/md10 mke2fs 1.45.6 (20-Mar-)创建含有 10477056 个块(每块 4k)和 2621440 个inode的文件系统文件系统UUID:37a19d4a-f16b-412d-9b0e-4fb936dba160超级块的备份存储于下列块: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624正在分配组表: 完成 正在写入inode表: 完成 创建日志(65536 个块)完成写入超级块和文件系统账户统计信息: 已完成
(7)、挂载硬盘设备
//创建文件夹[root@centos ~]# mkdir /RAID//挂载设备[root@centos ~]# mount /dev/md10 /RAID///查看磁盘空间[root@centos ~]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 1.8G0 1.8G 0% /devtmpfs1.9G0 1.9G 0% /dev/shmtmpfs1.9G 9.8M 1.9G 1% /runtmpfs1.9G0 1.9G 0% /sys/fs/cgroup/dev/mapper/cl-root 17G 5.4G 12G 32% //dev/sr0 11G 11G0 100% /media/cdrom/dev/sda1 1014M 351M 664M 35% /boottmpfs371M 28K 371M 1% /run/user/0/dev/md10 40G 49M 38G 1% /RAID
(8)、查看详细信息
[root@centos ~]# mdadm -D /dev/md10 /dev/md10:Version : 1.2Creation Time : Thu Apr 27 15:52:48 Raid Level : raid10Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Apr 27 15:57:12 State : clean Active Devices : 4Working Devices : 4Failed Devices : 0Spare Devices : 0Layout : near=2Chunk Size : 512KConsistency Policy : resyncName : centos:10 (local to host centos)UUID : b46517fa:62c223f5:24cd68c3:e7116ee3Events : 19Number Major Minor RaidDevice State0 8 16 0active sync set-A /dev/sdb1 8 32 1active sync set-B /dev/sdc2 8 48 2active sync set-A /dev/sdd3 8 64 3active sync set-B /dev/sde
2、损坏磁盘阵列及修复
(1)、模拟损坏的硬盘设备
[root@centos ~]# mdadm /dev/md10 -f /dev/sdbmdadm: set /dev/sdb faulty in /dev/md10
(2)、查看详细信息
[root@centos ~]# mdadm -D /dev/md10 /dev/md10:Version : 1.2Creation Time : Thu Apr 27 15:52:48 Raid Level : raid10Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Apr 27 17:11:40 State : clean, degraded Active Devices : 3Working Devices : 3Failed Devices : 1Spare Devices : 0Layout : near=2Chunk Size : 512KConsistency Policy : resyncName : centos:10 (local to host centos)UUID : b46517fa:62c223f5:24cd68c3:e7116ee3Events : 21Number Major Minor RaidDevice State- 0 0 0removed1 8 32 1active sync set-B /dev/sdc2 8 48 2active sync set-A /dev/sdd3 8 64 3active sync set-B /dev/sde0 8 16 -faulty /dev/sdb
(3)、移除损坏的硬盘
[root@centos ~]# mdadm /dev/md10 -r /dev/sdbmdadm: hot removed /dev/sdb from /dev/md10
(4)、重新添加硬盘
[root@centos ~]# mdadm /dev/md10 -a /dev/sdbmdadm: added /dev/sdb
(5)、查看详细情况
[root@centos ~]# mdadm -D /dev/md10 /dev/md10:Version : 1.2Creation Time : Thu Apr 27 15:52:48 Raid Level : raid10Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Apr 27 17:17:23 State : clean Active Devices : 4Working Devices : 4Failed Devices : 0Spare Devices : 0Layout : near=2Chunk Size : 512KConsistency Policy : resyncName : centos:10 (local to host centos)UUID : b46517fa:62c223f5:24cd68c3:e7116ee3Events : 41Number Major Minor RaidDevice State4 8 16 0active sync set-A /dev/sdb1 8 32 1active sync set-B /dev/sdc2 8 48 2active sync set-A /dev/sdd3 8 64 3active sync set-B /dev/sde
3、磁盘阵列+备份盘
(1)、创建一个RAID5磁盘阵列+备份盘
[root@centos ~]# mdadm -C -v /dev/md5 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sdemdadm: layout defaults to left-symmetricmdadm: layout defaults to left-symmetricmdadm: chunk size defaults to 512Kmdadm: size set to 20954112Kmdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md5 started.
(2)、查看详细信息
[root@centos ~]# mdadm -D /dev/md5/dev/md5:Version : 1.2Creation Time : Thu Apr 27 18:14:09 Raid Level : raid5Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Apr 27 18:19:47 State : clean Active Devices : 3Working Devices : 4Failed Devices : 0Spare Devices : 1Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncName : centos:5 (local to host centos)UUID : 279cba83:dcd23661:cbd67fac:8bae8d86Events : 18Number Major Minor RaidDevice State0 8 16 0active sync /dev/sdb1 8 32 1active sync /dev/sdc4 8 48 2active sync /dev/sdd3 8 64 -spare /dev/sde
(3)、格式化
//将RAID磁盘阵列格式化为ext4格式[root@centos ~]# mkfs.ext4 /dev/md5 mke2fs 1.45.6 (20-Mar-)创建含有 10477056 个块(每块 4k)和 2621440 个inode的文件系统文件系统UUID:5c7fa3d1-33d7-445c-b3b3-9f3e773dc99b超级块的备份存储于下列块: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624正在分配组表: 完成 正在写入inode表: 完成 创建日志(65536 个块)完成写入超级块和文件系统账户统计信息: 已完成
(4)、挂载硬盘设备
//创建文件夹[root@centos ~]# mkdir /RAID//挂载设备[root@centos ~]# mount /dev/md5 /RAID///查看磁盘空间[root@centos ~]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 1.8G0 1.8G 0% /devtmpfs1.9G0 1.9G 0% /dev/shmtmpfs1.9G 9.8M 1.9G 1% /runtmpfs1.9G0 1.9G 0% /sys/fs/cgroup/dev/mapper/cl-root 17G 5.4G 12G 32% //dev/sr0 11G 11G0 100% /media/cdrom/dev/sda1 1014M 351M 664M 35% /boottmpfs371M 24K 371M 1% /run/user/0/dev/md5 40G 49M 38G 1% /RAID
(5)、移除磁盘并查看详细信息
//将硬盘设备/dev/sdb移除磁盘阵列[root@centos ~]# mdadm /dev/md5 -f /dev/sdbmdadm: set /dev/sdb faulty in /dev/md5//查看/dev/md0磁盘阵列的详细信息[root@centos ~]# mdadm -D /dev/md5/dev/md5:Version : 1.2Creation Time : Thu Apr 27 18:14:09 Raid Level : raid5Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 4Persistence : Superblock is persistentUpdate Time : Thu Apr 27 18:23:31 State : clean, degraded, recovering Active Devices : 2Working Devices : 3Failed Devices : 1Spare Devices : 1Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncRebuild Status : 69% completeName : centos:5 (local to host centos)UUID : 279cba83:dcd23661:cbd67fac:8bae8d86Events : 31Number Major Minor RaidDevice State3 8 64 0active sync /dev/sde1 8 32 1active sync /dev/sdc4 8 48 2active sync /dev/sdd0 8 16 -faulty /dev/sdb
4、删除磁盘阵列
(1)、卸载
[root@centos ~]# umount /RAID
(2)、模拟损坏硬盘并删除
[root@centos ~]# mdadm /dev/md5 -f /dev/sdb -r /dev/sdbmdadm: set /dev/sdb faulty in /dev/md5mdadm: hot removed /dev/sdb from /dev/md5[root@centos ~]# mdadm /dev/md5 -f /dev/sdc -r /dev/sdcmdadm: set /dev/sdc faulty in /dev/md5mdadm: hot removed /dev/sdc from /dev/md5[root@centos ~]# mdadm /dev/md5 -f /dev/sdd -r /dev/sddmdadm: set /dev/sdd faulty in /dev/md5mdadm: hot removed /dev/sdd from /dev/md5[root@centos ~]# mdadm /dev/md5 -f /dev/sde -r /dev/sdemdadm: set /dev/sde faulty in /dev/md5mdadm: hot removed /dev/sde from /dev/md5
(3)、查看详细信息
[root@centos ~]# mdadm -D /dev/md5 /dev/md5:Version : 1.2Creation Time : Thu Apr 27 18:14:09 Raid Level : raid5Array Size : 41908224 (39.97 GiB 42.91 GB)Used Dev Size : 20954112 (19.98 GiB 21.46 GB)Raid Devices : 3Total Devices : 0Persistence : Superblock is persistentUpdate Time : Thu Apr 27 18:27:36 State : clean, degraded Active Devices : 0Working Devices : 0Failed Devices : 0Spare Devices : 0Layout : left-symmetricChunk Size : 512KConsistency Policy : resyncName : centos:5 (local to host centos)UUID : 279cba83:dcd23661:cbd67fac:8bae8d86Events : 41Number Major Minor RaidDevice State- 0 0 0removed- 0 0 1removed- 0 0 2removed
(4)、停止整个RAID磁盘阵列
[root@centos ~]# mdadm -S /dev/md5 mdadm: stopped /dev/md5
二、LVM逻辑卷管理器
1、逻辑卷介绍
逻辑卷管理器(Logical Volume Manager):简称LVM,LVM允许用户对硬盘资源进行动态调整。逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失,而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并,这样一来用户不必关心物理硬盘设备的底层架构和布局,就可以实现硬盘分区的动态调整。LVM的技术架构图如下:
2、部署逻辑卷
(1)、常用的LVM部署命令
(2)、创建物理卷
//使新添加的硬盘设备支持LVM技术[root@centos ~]# pvcreate /dev/sdb /dev/sdcPhysical volume "/dev/sdb" successfully created.Physical volume "/dev/sdc" successfully created.
(3)、添加到卷组并查看状态
//将硬盘添加到storage卷组[root@centos ~]# vgcreate storage /dev/sdb /dev/sdcVolume group "storage" successfully created//查看卷组状态[root@centos ~]# vgdisplay storage --- Volume group ---VG NamestorageSystem ID Formatlvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV0Cur LV0Open LV0Max PV0Cur PV2Act PV2VG Size39.99 GiBPE Size4.00 MiBTotal PE 10238Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiBVG UUIDGImCki-hscS-une3-74Xa-XOkz-2JhH-ugaUdU
(4)、创建逻辑卷并查看状态
//分割一个约150MB的逻辑卷设备[root@centos ~]# lvcreate -n vo -L 150MB storage Rounding up size to full physical extent 152.00 MiBLogical volume "vo" created.[root@centos ~]# lvdisplay --- Logical volume ---LV Path/dev/storage/voLV NamevoVG NamestorageLV UUID4VinRD-jJfs-s0Pe-Wva1-9kAX-QUAd-Vjq2MSLV Write Access read/writeLV Creation host, time centos, -04-27 19:08:01 +0800LV Status available# open 0LV Size152.00 MiBCurrent LE 38Segments1Allocation inheritRead ahead sectorsauto- currently set to8192Block device 253:2--- Logical volume ---LV Path/dev/cl/swapLV NameswapVG NameclLV UUIDfNUlBi-Vdj3-OcaE-Waaq-DsQy-eNb6-3zAUN4LV Write Access read/writeLV Creation host, time 192.168.2.22, -04-21 18:57:34 +0800LV Status available# open 2LV Size2.00 GiBCurrent LE 512Segments1Allocation inheritRead ahead sectorsauto- currently set to8192Block device 253:1--- Logical volume ---LV Path/dev/cl/rootLV NamerootVG NameclLV UUIDLRAw0u-HJN0-jaZc-VSIJ-sVxe-G7F7-izx3yiLV Write Access read/writeLV Creation host, time 192.168.2.22, -04-21 18:57:34 +0800LV Status available# open 1LV Size<17.00 GiBCurrent LE 4351Segments1Allocation inheritRead ahead sectorsauto- currently set to8192Block device 253:0
(5)、格式化
[root@centos ~]# mkfs.ext4 /dev/storage/vomke2fs 1.45.6 (20-Mar-)创建含有 155648 个块(每块 1k)和 38912 个inode的文件系统文件系统UUID:5fcc25c4-afa5-4ef7-b005-d6531999dcf8超级块的备份存储于下列块: 8193, 24577, 40961, 57345, 73729正在分配组表: 完成 正在写入inode表: 完成 创建日志(4096 个块)完成写入超级块和文件系统账户统计信息: 已完成
(6)、挂载并查看挂载状态
//创建挂载点[root@centos ~]# mkdir /RAID2//挂载至挂载点[root@centos ~]# mount /dev/storage/vo /RAID2//查看挂载状态[root@centos ~]# df -h文件系统容量 已用 可用 已用% 挂载点devtmpfs1.8G0 1.8G 0% /devtmpfs 1.9G0 1.9G 0% /dev/shmtmpfs 1.9G 9.7M 1.9G 1% /runtmpfs 1.9G0 1.9G 0% /sys/fs/cgroup/dev/mapper/cl-root17G 5.4G 12G 32% //dev/sr0 11G 11G0 100% /media/cdrom/dev/sda1 1014M 351M 664M 35% /boottmpfs 371M 24K 371M 1% /run/user/0/dev/mapper/storage-vo 144M 1.6M 132M 2% /RAID2
3、扩容逻辑卷
(1)、卸载设备
[root@centos ~]# umount /RAID2
(2)、扩容
//将逻辑卷vo扩展至290M[root@centos ~]# lvextend -L 290M /dev/storage/vo Rounding size to boundary between physical extents: 292.00 MiB.Size of logical volume storage/vo changed from 152.00 MiB (38 extents) to 292.00 MiB (73 extents).Logical volume storage/vo successfully resized.
(3)、检查
//检查硬盘的完整性,确认目录结构,内容和文件内容没有丢失[root@centos ~]# e2fsck -f /dev/storage/vo e2fsck 1.45.6 (20-Mar-)第 1 步:检查inode、块和大小第 2 步:检查目录结构第 3 步:检查目录连接性第 4 步:检查引用计数第 5 步:检查组概要信息/dev/storage/vo:11/38912 文件(0.0% 为非连续的), 10567/155648 块
(4)、重置容量
//重置设备在系统中的容量,因为系统内核还没有同步到这部分新修改的信息[root@centos ~]# resize2fs /dev/storage/vo resize2fs 1.45.6 (20-Mar-)将 /dev/storage/vo 上的文件系统调整为 299008 个块(每块 1k)。/dev/storage/vo 上的文件系统现在为 299008 个块(每块 1k)。
(5)、重新挂载并查看状态
//重新挂载硬盘设备[root@centos ~]# mount /dev/storage/vo /RAID2//查看挂载状态[root@centos ~]# df -h文件系统容量 已用 可用 已用% 挂载点devtmpfs1.8G0 1.8G 0% /devtmpfs 1.9G0 1.9G 0% /dev/shmtmpfs 1.9G 9.7M 1.9G 1% /runtmpfs 1.9G0 1.9G 0% /sys/fs/cgroup/dev/mapper/cl-root17G 5.4G 12G 32% //dev/sr0 11G 11G0 100% /media/cdrom/dev/sda1 1014M 351M 664M 35% /boottmpfs 371M 24K 371M 1% /run/user/0/dev/mapper/storage-vo 279M 2.1M 259M 1% /RAID2
4、缩小逻辑卷
(1)、卸载设备
[root@centos ~]# umount /RAID2
(2)、先检查完整性
[root@centos ~]# e2fsck -f /dev/storage/voe2fsck 1.45.6 (20-Mar-)第 1 步:检查inode、块和大小第 2 步:检查目录结构第 3 步:检查目录连接性第 4 步:检查引用计数第 5 步:检查组概要信息/dev/storage/vo:11/75776 文件(0.0% 为非连续的), 15729/299008 块
(3)、通知系统缩减逻辑卷的容量
//通知系统内核将逻辑卷vo的容量缩减到120MB[root@centos ~]# resize2fs /dev/storage/vo 120Mresize2fs 1.45.6 (20-Mar-)将 /dev/storage/vo 上的文件系统调整为 122880 个块(每块 1k)。/dev/storage/vo 上的文件系统现在为 122880 个块(每块 1k)。
(4)、缩容
//将逻辑卷vo的容量缩减到120MB[root@centos ~]# resize2fs /dev/storage/vo 120Mresize2fs 1.45.6 (20-Mar-)将 /dev/storage/vo 上的文件系统调整为 122880 个块(每块 1k)。/dev/storage/vo 上的文件系统现在为 122880 个块(每块 1k)。[root@centos ~]# lvreduce -L 120M /dev/storage/vo WARNING: Reducing active logical volume to 120.00 MiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce storage/vo? [y/n]: ySize of logical volume storage/vo changed from 292.00 MiB (73 extents) to 120.00 MiB (30 extents).Logical volume storage/vo successfully resized.
(5)、重新挂载并查看状态
//重新挂载硬盘设备[root@centos ~]# mount /dev/storage/vo /RAID2//查看挂载状态[root@centos ~]# df -h[root@centos ~]# df -h文件系统容量 已用 可用 已用% 挂载点devtmpfs1.8G0 1.8G 0% /devtmpfs 1.9G0 1.9G 0% /dev/shmtmpfs 1.9G 9.7M 1.9G 1% /runtmpfs 1.9G0 1.9G 0% /sys/fs/cgroup/dev/mapper/cl-root17G 5.4G 12G 32% //dev/sr0 11G 11G0 100% /media/cdrom/dev/sda1 1014M 351M 664M 35% /boottmpfs 371M 24K 371M 1% /run/user/0/dev/mapper/storage-vo 113M 1.6M 103M 2% /RAID2
5、逻辑卷快照
(1)、优点
1、快照卷的容量必须等同于逻辑卷的容量。
2、快照卷仅有一次有效,一旦执行还原操作后会被立即自动删除。
(2)、lvconvert命令
lvconvert命令用于管理逻辑卷的快照。
语法格式:lvconvert [参数] 快照卷名称
(3)、查看容量是否够用
[root@centos ~]# vgdisplay --- Volume group ---VG NamestorageSystem ID Formatlvm2Metadata Areas 2Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV0Cur LV1Open LV1Max PV0Cur PV2Act PV2VG Size39.99 GiBPE Size4.00 MiBTotal PE 10238Alloc PE / Size 30 / 120.00 MiBFree PE / Size 10208 / <39.88 GiBVG UUIDGImCki-hscS-une3-74Xa-XOkz-2JhH-ugaUdU--- Volume group ---VG NameclSystem ID Formatlvm2Metadata Areas 1Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV0Cur LV2Open LV2Max PV0Cur PV1Act PV1VG Size<19.00 GiBPE Size4.00 MiBTotal PE 4863Alloc PE / Size 4863 / <19.00 GiBFree PE / Size 0 / 0 VG UUIDnbPTja-DqYx-A8wh-Njm0-YyWW-nanS-IGIdRl
(4)、写入文件
[root@centos ~]# echo "Welcome to " > /RAID2/content.txt
(5)、生成快照卷
[root@centos ~]# lvcreate -s -n vo1 -L 120M /dev/storage/voLogical volume "vo1" created.
(6)、创建垃圾文件并查看快照卷的状态
//在逻辑卷所挂载的目录中创建一个100MB的垃圾文件[root@centos ~]# dd if=/dev/zero of=/RAID2/files count=1 bs=100M记录了1+0 的读入记录了1+0 的写出104857600 bytes (105 MB, 100 MiB) copied, 4.80057 s, 21.8 MB/s//查看快照卷的状态[root@centos ~]# lvdisplay --- Logical volume ---LV Path/dev/storage/voLV NamevoVG NamestorageLV UUID4VinRD-jJfs-s0Pe-Wva1-9kAX-QUAd-Vjq2MSLV Write Access read/writeLV Creation host, time centos, -04-27 19:08:01 +0800LV snapshot statussource ofvo1 [active]LV Status available# open 1LV Size120.00 MiBCurrent LE 30Segments1Allocation inheritRead ahead sectorsauto- currently set to8192Block device 253:2--- Logical volume ---LV Path/dev/storage/vo1LV Namevo1VG NamestorageLV UUIDtIHyhk-PenO-sSkN-Ew28-mbcl-zrYJ-pxjPYuLV Write Access read/writeLV Creation host, time centos, -04-27 19:32:29 +0800LV snapshot statusactive destination for voLV Status available# open 0LV Size120.00 MiBCurrent LE 30COW-table size 120.00 MiBCOW-table LE 30Allocated to snapshot 83.71%Snapshot chunk size 4.00 KiBSegments1Allocation inheritRead ahead sectorsauto- currently set to8192Block device 253:5--- Logical volume ---LV Path/dev/cl/swapLV NameswapVG NameclLV UUIDfNUlBi-Vdj3-OcaE-Waaq-DsQy-eNb6-3zAUN4LV Write Access read/writeLV Creation host, time 192.168.2.22, -04-21 18:57:34 +0800LV Status available# open 2LV Size2.00 GiBCurrent LE 512Segments1Allocation inheritRead ahead sectorsauto- currently set to8192Block device 253:1--- Logical volume ---LV Path/dev/cl/rootLV NamerootVG NameclLV UUIDLRAw0u-HJN0-jaZc-VSIJ-sVxe-G7F7-izx3yiLV Write Access read/writeLV Creation host, time 192.168.2.22, -04-21 18:57:34 +0800LV Status available# open 1LV Size<17.00 GiBCurrent LE 4351Segments1Allocation inheritRead ahead sectorsauto- currently set to8192Block device 253:0
(7)、卸载
[root@centos ~]# umount /RAID2
(8)、恢复快照
[root@centos ~]# lvconvert --merge /dev/storage/vo1Merging of volume storage/vo1 started.storage/vo: Merged: 50.63%storage/vo: Merged: 100.00%
(9)、挂载并查看
//挂载设备[root@centos ~]# mount /dev/storage/vo /RAID2//查看内容,发现100MB的垃圾文件被清除了[root@centos ~]# cd /RAID2[root@centos RAID2]# ls -alh总用量 15Kdrwxr-xr-x. 3 root root 1.0K 4月 27 19:30 .dr-xr-xr-x. 19 root root 249 4月 27 19:11 ..-rw-r--r--. 1 root root 25 4月 27 19:30 content.txtdrwx------. 2 root root 12K 4月 27 19:09 lost+found
6、删除逻辑卷
(1)、卸载
[root@centos RAID2]# umount /RAID2
(2)、删除逻辑卷设备
[root@centos ~]# lvremove /dev/storage/vo Do you really want to remove active logical volume storage/vo? [y/n]: yLogical volume "vo" successfully removed.
(3)、删除卷组
[root@centos ~]# vgremove storage Volume group "storage" successfully removed
(4)、删除物理卷设备
[root@centos ~]# pvremove /dev/sdb /dev/sdcLabels on physical volume "/dev/sdb" successfully wiped.Labels on physical volume "/dev/sdc" successfully wiped.