第五章 使用RAID与LVM磁盘阵列技术

news2025/1/20 16:24:30

第五章 使用RAID与LVM磁盘阵列技术

一、RAID磁盘冗余阵列

1、部署磁盘阵列

(1)、RAID0、1、5、10方案技术对比
RAID级别最少硬盘可用容量读写性能安全性特点
02nn追求最大容量和速度,任何一块盘损坏,数据全部异常。
12n/2n追求最大安全性,只要阵列组中有一块硬盘可用,数据不受影响。
53n-1n-1在控制成本的前提下,追求硬盘的最大容量、速度及安全性,允许有一块硬盘异常,数据不受影响。
104n/2n/2综合RAID1和RAID0的优点,追求硬盘的速度和安全性,允许有一半硬盘异常(不可同组),数据不受影响。
(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技术是因为硬盘设备的成本问题对读写速度和数据的安全性能而有了一定的妥协,但是大部分企业更在乎的是数据本身的价值而非硬盘价格,因此生产环境中主要使用RAID 10技术。
	顾名思义,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命令的常用参数和作用
参数作用
-a检测设备名称
-n指定设备数量
-l指定RAID级别
-C创建
-v显示过程
-f模拟设备损坏
-r移除设备
-Q查看摘要信息
-D查看详细信息
-S停止RAID磁盘阵列
(5)创建RAID10并检查看摘要信息
//创建
[root@centos ~]# mdadm -C -v /dev/md10 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: 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-2020)
创建含有 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.8G     0  1.8G    0% /dev
tmpfs                1.9G     0  1.9G    0% /dev/shm
tmpfs                1.9G  9.8M  1.9G    1% /run
tmpfs                1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/cl-root   17G  5.4G   12G   32% /
/dev/sr0              11G   11G     0  100% /media/cdrom
/dev/sda1           1014M  351M  664M   35% /boot
tmpfs                371M   28K  371M    1% /run/user/0
/dev/md10             40G   49M   38G    1% /RAID
(8)、查看详细信息
[root@centos ~]# mdadm -D /dev/md10 
/dev/md10:
           Version : 1.2
     Creation Time : Thu Apr 27 15:52:48 2023
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Apr 27 15:57:12 2023
             State : clean 
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : centos:10  (local to host centos)
              UUID : b46517fa:62c223f5:24cd68c3:e7116ee3
            Events : 19

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

2、损坏磁盘阵列及修复

(1)、模拟损坏的硬盘设备
[root@centos ~]# mdadm /dev/md10 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md10
(2)、查看详细信息
[root@centos ~]# mdadm -D /dev/md10 
/dev/md10:
           Version : 1.2
     Creation Time : Thu Apr 27 15:52:48 2023
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Apr 27 17:11:40 2023
             State : clean, degraded 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : centos:10  (local to host centos)
              UUID : b46517fa:62c223f5:24cd68c3:e7116ee3
            Events : 21

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

       0       8       16        -      faulty   /dev/sdb
(3)、移除损坏的硬盘
[root@centos ~]# mdadm /dev/md10 -r /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md10
(4)、重新添加硬盘
[root@centos ~]# mdadm /dev/md10 -a /dev/sdb
mdadm: added /dev/sdb
(5)、查看详细情况
[root@centos ~]# mdadm -D /dev/md10 
/dev/md10:
           Version : 1.2
     Creation Time : Thu Apr 27 15:52:48 2023
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Apr 27 17:17:23 2023
             State : clean 
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : centos:10  (local to host centos)
              UUID : b46517fa:62c223f5:24cd68c3:e7116ee3
            Events : 41

    Number   Major   Minor   RaidDevice State
       4       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active 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/sde
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
(2)、查看详细信息
[root@centos ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Thu Apr 27 18:14:09 2023
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Apr 27 18:19:47 2023
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : centos:5  (local to host centos)
              UUID : 279cba83:dcd23661:cbd67fac:8bae8d86
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       3       8       64        -      spare   /dev/sde
(3)、格式化
//将RAID磁盘阵列格式化为ext4格式
[root@centos ~]# mkfs.ext4 /dev/md5 
mke2fs 1.45.6 (20-Mar-2020)
创建含有 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.8G     0  1.8G    0% /dev
tmpfs                1.9G     0  1.9G    0% /dev/shm
tmpfs                1.9G  9.8M  1.9G    1% /run
tmpfs                1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/cl-root   17G  5.4G   12G   32% /
/dev/sr0              11G   11G     0  100% /media/cdrom
/dev/sda1           1014M  351M  664M   35% /boot
tmpfs                371M   24K  371M    1% /run/user/0
/dev/md5              40G   49M   38G    1% /RAID
(5)、移除磁盘并查看详细信息
//将硬盘设备/dev/sdb移除磁盘阵列
[root@centos ~]# mdadm /dev/md5 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md5
//查看/dev/md0磁盘阵列的详细信息
[root@centos ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Thu Apr 27 18:14:09 2023
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Apr 27 18:23:31 2023
             State : clean, degraded, recovering 
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 69% complete

              Name : centos:5  (local to host centos)
              UUID : 279cba83:dcd23661:cbd67fac:8bae8d86
            Events : 31

    Number   Major   Minor   RaidDevice State
       3       8       64        0      active sync   /dev/sde
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       0       8       16        -      faulty   /dev/sdb

4、删除磁盘阵列

(1)、卸载
[root@centos ~]# umount /RAID 
(2)、模拟损坏硬盘并删除
[root@centos ~]# mdadm /dev/md5 -f /dev/sdb -r /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md5
mdadm: hot removed /dev/sdb from /dev/md5
[root@centos ~]# mdadm /dev/md5 -f /dev/sdc -r /dev/sdc
mdadm: set /dev/sdc faulty in /dev/md5
mdadm: hot removed /dev/sdc from /dev/md5
[root@centos ~]# mdadm /dev/md5 -f /dev/sdd -r /dev/sdd
mdadm: set /dev/sdd faulty in /dev/md5
mdadm: hot removed /dev/sdd from /dev/md5
[root@centos ~]# mdadm /dev/md5 -f /dev/sde -r /dev/sde
mdadm: set /dev/sde faulty in /dev/md5
mdadm: hot removed /dev/sde from /dev/md5
(3)、查看详细信息
[root@centos ~]# mdadm -D /dev/md5 
/dev/md5:
           Version : 1.2
     Creation Time : Thu Apr 27 18:14:09 2023
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 0
       Persistence : Superblock is persistent

       Update Time : Thu Apr 27 18:27:36 2023
             State : clean, degraded 
    Active Devices : 0
   Working Devices : 0
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : centos:5  (local to host centos)
              UUID : 279cba83:dcd23661:cbd67fac:8bae8d86
            Events : 41

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       -       0        0        1      removed
       -       0        0        2      removed
(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部署命令
功能物理卷管理卷组管理逻辑卷管理
扫描pvsacnvgscanlvsacn
建立pvcreatevgcreatelvcreate
显示pvdisplayvgdisplaylvdisplay
删除pvremovevgremovelvremove
扩展vgextendlvextend
缩小vgreducelvreduce
(2)、创建物理卷
//使新添加的硬盘设备支持LVM技术
[root@centos ~]# pvcreate /dev/sdb /dev/sdc
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.
(3)、添加到卷组并查看状态
//将硬盘添加到storage卷组
[root@centos ~]# vgcreate storage /dev/sdb /dev/sdc
  Volume group "storage" successfully created
//查看卷组状态
[root@centos ~]# vgdisplay storage 
  --- Volume group ---
  VG Name               storage
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0   
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               GImCki-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 MiB
  Logical volume "vo" created.
[root@centos ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                4VinRD-jJfs-s0Pe-Wva1-9kAX-QUAd-Vjq2MS
  LV Write Access        read/write
  LV Creation host, time centos, 2023-04-27 19:08:01 +0800
  LV Status              available
  # open                 0
  LV Size                152.00 MiB
  Current LE             38
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/cl/swap
  LV Name                swap
  VG Name                cl
  LV UUID                fNUlBi-Vdj3-OcaE-Waaq-DsQy-eNb6-3zAUN4
  LV Write Access        read/write
  LV Creation host, time 192.168.2.22, 2023-04-21 18:57:34 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/cl/root
  LV Name                root
  VG Name                cl
  LV UUID                LRAw0u-HJN0-jaZc-VSIJ-sVxe-G7F7-izx3yi
  LV Write Access        read/write
  LV Creation host, time 192.168.2.22, 2023-04-21 18:57:34 +0800
  LV Status              available
  # open                 1
  LV Size                <17.00 GiB
  Current LE             4351
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
(5)、格式化
[root@centos ~]# mkfs.ext4 /dev/storage/vo
mke2fs 1.45.6 (20-Mar-2020)
创建含有 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
文件系统                容量  已用  可用 已用% 挂载点
devtmpfs                1.8G     0  1.8G    0% /dev
tmpfs                   1.9G     0  1.9G    0% /dev/shm
tmpfs                   1.9G  9.7M  1.9G    1% /run
tmpfs                   1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/cl-root      17G  5.4G   12G   32% /
/dev/sr0                 11G   11G     0  100% /media/cdrom
/dev/sda1              1014M  351M  664M   35% /boot
tmpfs                   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-2020)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-2020)/dev/storage/vo 上的文件系统调整为 299008 个块(每块 1k)。
/dev/storage/vo 上的文件系统现在为 299008 个块(每块 1k)。
(5)、重新挂载并查看状态
//重新挂载硬盘设备
[root@centos ~]# mount /dev/storage/vo /RAID2
//查看挂载状态
[root@centos ~]# df -h
文件系统                容量  已用  可用 已用% 挂载点
devtmpfs                1.8G     0  1.8G    0% /dev
tmpfs                   1.9G     0  1.9G    0% /dev/shm
tmpfs                   1.9G  9.7M  1.9G    1% /run
tmpfs                   1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/cl-root      17G  5.4G   12G   32% /
/dev/sr0                 11G   11G     0  100% /media/cdrom
/dev/sda1              1014M  351M  664M   35% /boot
tmpfs                   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/vo
e2fsck 1.45.6 (20-Mar-2020)1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/storage/vo:11/75776 文件(0.0% 为非连续的), 15729/299008
(3)、通知系统缩减逻辑卷的容量
//通知系统内核将逻辑卷vo的容量缩减到120MB
[root@centos ~]# resize2fs /dev/storage/vo 120M
resize2fs 1.45.6 (20-Mar-2020)/dev/storage/vo 上的文件系统调整为 122880 个块(每块 1k)。
/dev/storage/vo 上的文件系统现在为 122880 个块(每块 1k)。
(4)、缩容
//将逻辑卷vo的容量缩减到120MB
[root@centos ~]# resize2fs /dev/storage/vo 120M
resize2fs 1.45.6 (20-Mar-2020)/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]: y
  Size 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
文件系统                容量  已用  可用 已用% 挂载点
devtmpfs                1.8G     0  1.8G    0% /dev
tmpfs                   1.9G     0  1.9G    0% /dev/shm
tmpfs                   1.9G  9.7M  1.9G    1% /run
tmpfs                   1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/cl-root      17G  5.4G   12G   32% /
/dev/sr0                 11G   11G     0  100% /media/cdrom
/dev/sda1              1014M  351M  664M   35% /boot
tmpfs                   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 Name               storage
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       30 / 120.00 MiB
  Free  PE / Size       10208 / <39.88 GiB
  VG UUID               GImCki-hscS-une3-74Xa-XOkz-2JhH-ugaUdU
   
  --- Volume group ---
  VG Name               cl
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               nbPTja-DqYx-A8wh-Njm0-YyWW-nanS-IGIdRl
(4)、写入文件
[root@centos ~]# echo "Welcome to www.baidu.com" > /RAID2/content.txt
(5)、生成快照卷
[root@centos ~]# lvcreate -s -n vo1 -L 120M /dev/storage/vo
  Logical 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/vo
  LV Name                vo
  VG Name                storage
  LV UUID                4VinRD-jJfs-s0Pe-Wva1-9kAX-QUAd-Vjq2MS
  LV Write Access        read/write
  LV Creation host, time centos, 2023-04-27 19:08:01 +0800
  LV snapshot status     source of
                         vo1 [active]
  LV Status              available
  # open                 1
  LV Size                120.00 MiB
  Current LE             30
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/storage/vo1
  LV Name                vo1
  VG Name                storage
  LV UUID                tIHyhk-PenO-sSkN-Ew28-mbcl-zrYJ-pxjPYu
  LV Write Access        read/write
  LV Creation host, time centos, 2023-04-27 19:32:29 +0800
  LV snapshot status     active destination for vo
  LV Status              available
  # open                 0
  LV Size                120.00 MiB
  Current LE             30
  COW-table size         120.00 MiB
  COW-table LE           30
  Allocated to snapshot  83.71%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:5
   
  --- Logical volume ---
  LV Path                /dev/cl/swap
  LV Name                swap
  VG Name                cl
  LV UUID                fNUlBi-Vdj3-OcaE-Waaq-DsQy-eNb6-3zAUN4
  LV Write Access        read/write
  LV Creation host, time 192.168.2.22, 2023-04-21 18:57:34 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/cl/root
  LV Name                root
  VG Name                cl
  LV UUID                LRAw0u-HJN0-jaZc-VSIJ-sVxe-G7F7-izx3yi
  LV Write Access        read/write
  LV Creation host, time 192.168.2.22, 2023-04-21 18:57:34 +0800
  LV Status              available
  # open                 1
  LV Size                <17.00 GiB
  Current LE             4351
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
(7)、卸载
[root@centos ~]# umount /RAID2 
(8)、恢复快照
[root@centos ~]# lvconvert --merge /dev/storage/vo1
  Merging 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
总用量 15K
drwxr-xr-x.  3 root root 1.0K 427 19:30 .
dr-xr-xr-x. 19 root root  249 427 19:11 ..
-rw-r--r--.  1 root root   25 427 19:30 content.txt
drwx------.  2 root root  12K 427 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]: y
  Logical volume "vo" successfully removed.
(3)、删除卷组
[root@centos ~]# vgremove storage 
  Volume group "storage" successfully removed
(4)、删除物理卷设备
[root@centos ~]# pvremove /dev/sdb /dev/sdc
  Labels on physical volume "/dev/sdb" successfully wiped.
  Labels on physical volume "/dev/sdc" successfully wiped.

(9)、挂载并查看

//挂载设备
[root@centos ~]# mount /dev/storage/vo /RAID2
//查看内容,发现100MB的垃圾文件被清除了
[root@centos ~]# cd /RAID2
[root@centos RAID2]# ls -alh
总用量 15K
drwxr-xr-x.  3 root root 1.0K 427 19:30 .
dr-xr-xr-x. 19 root root  249 427 19:11 ..
-rw-r--r--.  1 root root   25 427 19:30 content.txt
drwx------.  2 root root  12K 427 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]: y
  Logical volume "vo" successfully removed.
(3)、删除卷组
[root@centos ~]# vgremove storage 
  Volume group "storage" successfully removed
(4)、删除物理卷设备
[root@centos ~]# pvremove /dev/sdb /dev/sdc
  Labels on physical volume "/dev/sdb" successfully wiped.
  Labels on physical volume "/dev/sdc" successfully wiped.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/469203.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

魔兽世界服务端用户注册以及网页的搭建教程

魔兽世界服务端用户注册以及网页的搭建教程 大家好我是艾西&#xff0c;上一章我们讲解了怎么编译一个魔兽的服务端以及安装最后进到我们自己的游戏。那么在平时娱乐的同时肯定是需要和朋友们一起玩游戏才会更有意思&#xff0c;那么今天艾西教大家怎么搭建用户注册页面以及网…

java进程引发的内存泄露问题排查分析

近期工作过程中遇到了一次容器内存不断增高&#xff0c;最终达到90%引发告警的情况。 特征1&#xff0c;把监控面板时间轴拉长会发现&#xff0c;重启后内存占用78%左右&#xff0c;每天增长1%&#xff0c;大约2周后会涨到90%触发告警&#xff08;即如果2周内有代码发布部署&am…

2022-04-27:用go语言重写ffmpeg的remuxing.c示例。

2022-04-27&#xff1a;用go语言重写ffmpeg的remuxing.c示例。 答案2022-04-27&#xff1a; ffmpeg的remuxing.c是一个用于将多媒体文件从一种容器格式转换为另一种容器格式的命令行工具。它可以将音频、视频和字幕等元素从源文件中提取出来&#xff0c;并按照用户指定的方式…

构造函数和析构函数

1.构造函数 1.1 .构造函数概括 、构造函数是一个特殊的成员函数&#xff0c;名字与类名相同,创建类类型对象时由编译器自动调用&#xff0c;以保证每个数据成员都有 一个合适的初始值&#xff0c;并且在对象整个生命周期内只调用一次。 构造函数是特殊的成员函数&#xff0c…

简单认识 Postman界面操作

查看本文前 您需要先登录Postman 如果还没有处理好 可以先查看我的文章 Postman登录注册指导 右上角的 Home 代表主页 就是我们现在看到的这个界面 Workspaces 是一个工作空间管理 这里 我们选择进入 我的工作空间 之后 我们所有的接口请求 就都是在这一块完成的 Collection…

ubuntu中安装VMware Tools,实现Windows文件拖入Ubuntu

ubantu作为一款非常好用的Linux发行版本&#xff0c;深受广大开发者的喜爱&#x1f603;&#xff0c;为了开发的方便&#xff0c;人们常常在windows电脑中安装VMware虚拟机来运行Linux系统&#xff0c;我们时常会遇到这样一种情况&#xff1a;无法互传虚拟机与主机文件。 原因就…

终端连接工具Tabby的下载、安装与配置

目录 一、终端连接工具Tabby的下载1.1、Tabby的下载地址1.2、Tabby的下载步骤 二、终端连接工具Tabby的安装三、终端连接工具Tabby的SSH连接四、终端连接工具Tabby的SFTP 传输工具4.1、服务器上的文件传输到本地电脑4.2、本地电脑的文件传输到服务器 五、终端连接工具Tabby的设…

基于网络爬虫和SpringBoot框架的晋江文学小说小型网站项目

一、Python网路爬虫技术的设计与实现 Scrapy是一个为了爬取网站数据&#xff0c;提取结构性数据而编写的应用框架&#xff0c;常可以应用在包括数据挖掘&#xff0c;信息处理或存储历史数据等一系列的程序中。项目中&#xff0c;主要采取Scrapy框架实现一个爬虫&#xff0c;抓…

JavaSE3(4/26)

目录 1.线程的状态 2.线程安全问题 3.synchronized的具体用法 4. 1.线程的状态 首先明白进程的状态:就绪或者阻塞 上述说的就绪和阻塞其实是针对系统中的线程状态(PCB) Java中对于Thread类中的线程的状态进行了进一步的细化 NEW: Thread对象有了,但是线程还没有被执行 TERMI…

RabbitMQ之介绍以及安装

1.1 MQ的相关概念 1.1.1 什么是MQ ​ MQ&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO先入先出&#xff0c;只不过队列中存放的内容是message而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息。在互联网架构中&#xff0c;MQ…

摄影tips

一、基础知识 相机挡位 A档就是全自动模式或称场景智能自动模式&#xff0c;该拍摄模式下&#xff0c;相机会根据光线和你所拍摄的对象等场景环境自行设置快门、光圈等参数&#xff0c;你不需要调整任何参数&#xff0c;拿起相机对焦按快门就行&#xff0c;也就是AUTO模式。虽…

opengauss编译和使用oracle_fdw

opengauss虽然继承自postgresql9.2&#xff0c;但由于做了魔改&#xff0c;网上通用的从oracle_fdw源码编译安装到postgresql的方法&#xff0c;是否成功的应用到opengauss&#xff0c;并不一定&#xff0c;今天试了一下&#xff0c;参照opengauss官网文档&#xff08;其实写的…

Spring Bean的作用域及生命周期

目录 前言&#xff1a; Bean的作用域&#xff08;Scope&#xff09; 单例模式 原型模式&#xff08;多例作用域&#xff09; 请求作用域&#xff08;request&#xff09; 会话作用域 全局作用域 网络长连接 Spring执行流程 Bean的生命周期 测试 小结&#xff1a; 前…

多模态论文串讲:ALBEF VLMo BLIP CoCa Beit V3

文章目录 前言ALBEF:Align before Fuse: Vision and Language Representation Learning with Momentum Distillation(2021-10)VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts(2021-11)relatedmethod BLIP&#xff1a;Bootstrapping Language-Im…

【贴片SD Card介绍】贴片SD Card (LEILONG雷龙科技)

有幸申请到了雷龙科技代理的 贴片 SD Card (SD NAND) 样品&#xff0c;做出测试&#xff0c;分享一下。 型号&#xff1a;CSNP32GCR01-BOW&#xff1b;CSNP4GCR01-BOW 生产方&#xff1a;CS创世半导体 由于是第一次使用贴片类型的 SD Card &#xff0c;可能文章会有较多疏忽。…

【Git】Windows Git和TortoiseGit安装教程(Git2.23.0、TortoiseGit2.8.0、语言包2.8.0)

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…

eletron+react+antd+node开发桌面小程序并打包(electron-packager+electron-builder)

首先罗列一下项目中用到的技术&#xff1a; electron, react&#xff0c;antd, typescript, node&#xff0c;及打包命令&#xff1a;pkg&#xff0c;electron-packager&#xff0c;electron-builder及child_process实现多进程 需求&#xff1a;开发一个桌面应用&#xff0c;左…

前端架构师-week3-脚手架执行准备过程实现

目录​​​​​​​​​​​​​​ 脚手架框架代码拆包 import-local应用 检查版本号功能开发&#xff08;require加载资源类型讲解 npmlog封装&#xff09; 最低Node版本检查功能开发 root 账号启动检查和自动降级功能开发 用户主目录检查功能开发 入参检查和 debug…

华为OD机试真题(Java),火星文计算(100%通过+复盘思路)

一、题目描述 已知火星人使用的运算符为#、$&#xff0c;其与地球人的等价公式如下&#xff1a; x#y 2*x3*y4 x$y 3*xy2 其中x、y是无符号整数&#xff1b;地球人公式按C语言规则计算&#xff1b;火星人公式中&#xff0c;$的优先级高于#&#xff0c;相同的运算符&#x…

数字船厂信息化整体解决方案(ppt可编辑)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除 数字船厂建设思路 智慧船厂将以信息化为基础、以数据为纽带、以制造为核心、以管理为载体打造新型智慧园区&#xff0c;该智慧园区整合了船厂的安全、环保、能源、安防、应急…