RAID冗余与LVM磁盘阵列技术

RAID冗余与LVM磁盘阵列技术

一、RAID独立冗余磁盘阵列

RAID技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果。

RAID 0、RAID 1、RAID5与RAID10这4种方案的对比如下所示,n代表硬盘总数

     

1、RAID 0

RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入各个物理硬盘中。这样一来,在最理想的状态下,硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发生故障,将导致整个系统的数据都受到破坏。通俗来说,RAID 0技术能够有效地提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力。如下图所示数据被分别写入到不同的硬盘设备中,即硬盘 A 和硬盘 B 设备会分别保存数据资料,最终实现提升读取、写入速度的效果。倘若硬盘发生故障,所有数据都将会被破坏。

2、RAID 1

尽管 RAID 0 技术提升了硬盘设备的读写速度,但它是将数据依次写入到各个物理硬盘中。也就是说,它的数据是分开存放的,其中任何一块硬盘发生故障都会损坏整个系统的数据。因此,如果生产环境对硬盘设备的读写速度没有要求,而是希望增加数据的安全性时,就需要用到 RAID 1 技术了。RAID 1 如下图所示,它是把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以把它看作是备份)。当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用。RAID 1 技术虽然十分注重数据的安全性,但是因为是在多块硬盘设备中写入了相同的数据,因此硬盘设备的利用率得以下降。

3、RAID 5

如下图所示,RAID5 技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID 5 磁盘阵列中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中,而是存储到除自身以外的其他每一块硬盘设备上。这样的好处是,其中任何一设备损坏后不至于出现致命缺陷。图中Parity部分存放的就是数据的奇偶校验信息。换句话说,就是 RAID 5 技术实际上没有备份硬盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据。

RAID 5最少由3块硬盘组成,使用的是硬盘切割(Disk Striping)技术。相较于RAID 1级别,好处就在于保存的是奇偶校验信息而不是一模一样的文件内容,所以当重复写入某个文件时,RAID 5 的磁盘阵列组只需要对应一个奇偶校验信息就可以,效率更高,存储成本也会随之降低。

4、RAID 10

顾名思义,RAID 10技术是RAID 1+RAID 0技术的一个组合体。如图所示,RAID 10 技术需要至少4块硬盘来组建,其中先分别两两制作成 RAID 1 磁盘阵列,以保证数据的安全性;然后再对两个 RAID 1 磁盘阵列实施 RAID 0 技术,进一步提高硬盘设备的读写速度。这样从理论上来讲,只要坏的不是同一阵列中的所有硬盘,那么最多可以损坏 50%的硬盘设备而不丢失数据。由于 RAID 10技术继承了 RAID 0的高读写速度和 RAID 1的数据安全性,在不考虑成本的情况下 RAID 10的性能也超过 RAID 5,另外,RAID 10是由RAID1和RAID0组成的,所以正确的叫法应该是RAID 一零而不是RAID十。

仔细查看图可以发现,RAID 10 是先对信息进行分割,然后再两两一组制作镜像。也就是先将 RAID 1 作为最低级别的组合,然后再使用 RAID 0 技术将 RAID 1 磁盘阵列组合到一起,将它们视为“一整块”硬盘。而 RAID 01 则相反,它是先将硬盘分为两组,然后使用 RAID 0作为最低级别的组合,再将这两组 RAID 0硬盘通过 RAID 1 技术组合到一起。

 

5.1、RAID独立冗余阵列硬盘部署

5.1.1、RAID0部署

mdadm 命令用于创建、调整、监控和管理 RAID 设备,英文全称为“multiple devices admin”,语法格式为“mdadm 参数 硬盘名称”。mdadm命令参数如下:

-a 检测设备名称

-n 指定设备数量

-l 指定 RAID 级别

-C 创建阵列

-v 显示过程

-f 模拟设备损坏

-r 移除设备

-Q 查看摘要信息

-D 查看详细信息

-S 停止 RAID 磁盘阵列(停止前需要取消挂载)

[root@localhost ~]# mdadm -C /dev/md0 -n 2 -l 0 /dev/sdb /dev/sdc

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

[root@localhost ~]# df -hT

文件系统                类型      容量  已用  可用 已用% 挂载点

devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev

tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm

tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run

tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup

/dev/mapper/centos-root xfs        17G   15G  2.1G   88% /

/dev/sda1               xfs      1014M  240M  775M   24% /boot

tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42

overlay                 overlay    17G   15G  2.1G   88% /var/lib/docker/overlay2/f47a7fb74b7839de2af9f2b56c25927fad106fda17e75954f269fb780190c9d2/merged

tmpfs                   tmpfs     378M     0  378M    0% /run/user/0

[root@localhost ~]# mdadm -Q /dev/md0

/dev/md0: 3.99GiB raid0 2 devices, 0 spares. Use mdadm --detail for more detail.

[root@localhost ~]# mdadm -D /dev/md0

将设备格式化并挂载到设置好的挂载点,写入到

[root@localhost ~]# mkfs.xfs /dev/md0

meta-data=/dev/md0               isize=512    agcount=8, agsize=130944 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0, sparse=0

data     =                       bsize=4096   blocks=1047040, imaxpct=25

         =                       sunit=128    swidth=256 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal log           bsize=4096   blocks=2560, version=2

         =                       sectsz=512   sunit=8 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

 

挂载:

mount /dev/md0 /opt/RAID

 

写入配置文件,防止重启后丢失:

echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

 

5.1.2、RAID 1 0部署

[root@localhost ~]# mdadm -C /dev/md0 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

[root@localhost ~]# lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE   MOUNTPOINT

sda               8:0    0   40G  0 disk   

├─sda1            8:1    0    1G  0 part   /boot

└─sda2            8:2    0   39G  0 part   

  ├─centos-root 253:0    0 35.1G  0 lvm    /

  └─centos-swap 253:1    0  3.9G  0 lvm    [SWAP]

sdb               8:16   0    5G  0 disk   

└─md0             9:0    0   10G  0 raid10

sdc               8:32   0    5G  0 disk   

└─md0             9:0    0   10G  0 raid10

sdd               8:48   0    5G  0 disk   

└─md0             9:0    0   10G  0 raid10

sde               8:64   0    5G  0 disk   

└─md0             9:0    0   10G  0 raid10

sr0              11:0    1  973M  0 rom    

提一下RAID10的技术原理,它通过两两一组硬盘组成的 RAID 1 磁盘阵列保 证了数据的可靠性,其中每一份数据都会被保存两次,因此导致硬盘存在 50%的使用率和 50% 的冗余率。这样一来,20GB 的硬盘容量也就只有一半了。

5.1.3、磁盘损坏阵列及修复

使用-f模拟磁盘损坏

mdadm -D /dev/md0 -f /dev/sdc

RAID 10 级别的磁盘阵列中,当 RAID 1 磁盘阵列中存在一个故障盘时并不影响 RAID 10 磁盘阵列的使用。当购买了新的硬盘设备后再使用 mdadm 命令予以替换即可,在此期间可以在/RAID 目录中正常地创建或删除文件。

为了将故障盘移除,还需要再执行移除命令:

mdadm /dev/md0 -r /dev/sdc;如下所示:

[root@localhost ~]# mdadm /dev/md0 -r /dev/sdc

mdadm: hot removed /dev/sdc from /dev/md0

[root@localhost ~]# lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE   MOUNTPOINT

sda               8:0    0   40G  0 disk   

├─sda1            8:1    0    1G  0 part   /boot

└─sda2            8:2    0   39G  0 part   

  ├─centos-root 253:0    0 35.1G  0 lvm    /

  └─centos-swap 253:1    0  3.9G  0 lvm    [SWAP]

sdb               8:16   0    5G  0 disk   

└─md0             9:0    0   10G  0 raid10 /opt/RAID

sdc               8:32   0    5G  0 disk   

sdd               8:48   0    5G  0 disk   

└─md0             9:0    0   10G  0 raid10 /opt/RAID

sde               8:64   0    5G  0 disk   

└─md0             9:0    0   10G  0 raid10 /opt/RAID

sr0              11:0    1  973M  0 rom    

使用-a添加新的磁盘;如下所示:

[root@localhost ~]# mdadm /dev/md0 -a /dev/sdf

mdadm: added /dev/sdf

[root@localhost ~]# mdadm -D  /dev/md0

/dev/md0:

           Version : 1.2

     Creation Time : Tue Feb 18 11:48:36 2025

        Raid Level : raid10

        Array Size : 10475520 (9.99 GiB 10.73 GB)

     Used Dev Size : 5237760 (5.00 GiB 5.36 GB)

      Raid Devices : 4

     Total Devices : 4

       Persistence : Superblock is persistent

 

       Update Time : Tue Feb 18 16:29:59 2025

             State : clean, degraded, recovering

    Active Devices : 3

   Working Devices : 4

    Failed Devices : 0

     Spare Devices : 1

 

            Layout : near=2

        Chunk Size : 512K

 

Consistency Policy : resync

 

    Rebuild Status : 68% complete

 

              Name : localhost.localdomain:0  (local to host localhost.localdomain)

              UUID : fd4578df:02f9126d:a2892943:270aec4d

            Events : 36

 

    Number   Major   Minor   RaidDevice State

       0       8       16        0      active sync set-A   /dev/sdb

       4       8       80        1      spare rebuilding   /dev/sdf

       2       8       48        2      active sync set-A   /dev/sdd

       3       8       64        3      active sync set-B   /dev/sde

 

5.1.4、磁盘阵列+备份盘

创建一个 RAID 5磁盘阵列+备份盘。在下面的命令中,参数-n 3代表创建这个 RAID 5 磁盘阵列所需的硬盘数,参数-l 5 代表 RAID 的级别,而参数-x 1 则代表有一块备份盘。当查看/dev/md0(即 RAID 5 磁盘阵列的名称)磁盘阵列的时候,就能看到有备份盘在等待中了。

[root@localhost ~]# mdadm -Cv /dev/md1 -n3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sdg

mdadm: layout defaults to left-symmetric

mdadm: layout defaults to left-symmetric

mdadm: chunk size defaults to 512K

mdadm: /dev/sdb appears to be part of a raid array:

       level=raid10 devices=4 ctime=Tue Feb 18 11:48:36 2025

mdadm: /dev/sdc appears to be part of a raid array:

       level=raid10 devices=4 ctime=Tue Feb 18 11:48:36 2025

mdadm: /dev/sdd appears to be part of a raid array:

       level=raid10 devices=4 ctime=Tue Feb 18 11:48:36 2025

mdadm: size set to 5237760K

Continue creating array? yes

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md1 started.

[root@localhost ~]# lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE   MOUNTPOINT

sda               8:0    0   40G  0 disk   

├─sda1            8:1    0    1G  0 part   /boot

└─sda2            8:2    0   39G  0 part   

  ├─centos-root 253:0    0 35.1G  0 lvm    /

  └─centos-swap 253:1    0  3.9G  0 lvm    [SWAP]

sdb               8:16   0    5G  0 disk   

└─md1             9:1    0   10G  0 raid5  

sdc               8:32   0    5G  0 disk   

└─md1             9:1    0   10G  0 raid5  

sdd               8:48   0    5G  0 disk   

└─md1             9:1    0   10G  0 raid5  

sde               8:64   0    5G  0 disk   

└─md0             9:0    0   10G  0 raid10

sdf               8:80   0    5G  0 disk   

└─md0             9:0    0   10G  0 raid10

sdg               8:96   0    5G  0 disk   

└─md1             9:1    0   10G  0 raid5  

sr0              11:0    1  973M  0 rom    

 

[root@localhost ~]# mdadm -D /dev/md1

/dev/md1:

           Version : 1.2

     Creation Time : Tue Feb 18 17:36:38 2025

        Raid Level : raid5

        Array Size : 10475520 (9.99 GiB 10.73 GB)

     Used Dev Size : 5237760 (5.00 GiB 5.36 GB)

      Raid Devices : 3

     Total Devices : 4

       Persistence : Superblock is persistent

 

       Update Time : Tue Feb 18 17:37:04 2025

             State : clean, degraded, recovering

    Active Devices : 2

   Working Devices : 4

    Failed Devices : 0

     Spare Devices : 2

 

            Layout : left-symmetric

        Chunk Size : 512K

 

Consistency Policy : resync

 

    Rebuild Status : 46% complete

 

              Name : localhost.localdomain:1  (local to host localhost.localdomain)

              UUID : c2138f66:200468ad:fca1ef92:287ee8e0

            Events : 8

 

    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      spare rebuilding   /dev/sdd

 

       3       8       96        -      spare   /dev/sdg

 

创建好RAID阵列后还是那套流程,格式化、挂载

[root@localhost ~]# mkfs.ext4 /dev/md1

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=128 blocks, Stripe width=256 blocks

655360 inodes, 2618880 blocks

130944 blocks (5.00%) reserved for the super user

第一个数据块=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: 完成                            

正在写入inode表: 完成                            

Creating journal (32768 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

 

[root@localhost ~]# mount /dev/md1 /opt/RAID5/

[root@localhost ~]# df -hT

文件系统                类型      容量  已用  可用 已用% 挂载点

devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev

tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm

tmpfs                   tmpfs     1.9G   12M  1.9G    1% /run

tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup

/dev/mapper/centos-root xfs        36G   21G   15G   59% /

/dev/sda1               xfs      1014M  151M  864M   15% /boot

tmpfs                   tmpfs     378M     0  378M    0% /run/user/0

overlay                 overlay    36G   21G   15G   59% /var/lib/docker/overlay2/c52f6377adacc12c53afa7bf730bea0e344b98eb9e5b3811fa86bd5a43835481/merged

/dev/md1                ext4      9.8G   37M  9.2G    1% /opt/RAID5

 

5.1.5、删除磁盘阵列

磁盘阵列部署后一般不会被轻易停用。但万一赶上了,还是要知道怎么将磁盘阵列删除。

首先,需要将所有的磁盘都设置成停用状态:

[root@localhost ~]# umount /opt/RAID5/

[root@localhost ~]# mdadm /dev/md1 -f /dev/sdb

mdadm: set /dev/sdb faulty in /dev/md1

[root@localhost ~]# mdadm /dev/md1 -f /dev/sdc

mdadm: set /dev/sdc faulty in /dev/md1

[root@localhost ~]# mdadm /dev/md1 -f /dev/sdd

mdadm: set /dev/sdd faulty in /dev/md1

[root@localhost ~]# mdadm /dev/md1 -f /dev/sdf

[root@localhost ~]# mdadm /dev/md1 -f /dev/sdg

mdadm: set /dev/sdg faulty in /dev/md1

 

再给挪出去

[root@localhost ~]# mdadm /dev/md1 -r /dev/sdb

mdadm: hot removed /dev/sdb from /dev/md1

[root@localhost ~]# mdadm /dev/md1 -r /dev/sdc

mdadm: hot removed /dev/sdc from /dev/md1

[root@localhost ~]# mdadm /dev/md1 -r /dev/sdd

mdadm: hot removed /dev/sdd from /dev/md1

[root@localhost ~]# mdadm /dev/md1 -r /dev/sdg

mdadm: hot removed /dev/sdg from /dev/md1

 

查看阵列情况:

[root@localhost ~]# mdadm -D /dev/md1

/dev/md1:

           Version : 1.2

     Creation Time : Tue Feb 18 17:36:38 2025

        Raid Level : raid5

        Array Size : 10475520 (9.99 GiB 10.73 GB)

     Used Dev Size : 5237760 (5.00 GiB 5.36 GB)

      Raid Devices : 3

     Total Devices : 0

       Persistence : Superblock is persistent

 

       Update Time : Tue Feb 18 17:57:04 2025

             State : clean, FAILED

    Active Devices : 0

    Failed Devices : 0

     Spare Devices : 0

 

            Layout : left-symmetric

        Chunk Size : 512K

 

Consistency Policy : resync

 

    Number   Major   Minor   RaidDevice State

       -       0        0        0      removed

       -       0        0        1      removed

       -       0        0        2      removed

下面继续停用整个 RAID 磁盘阵列

[root@localhost ~]# mdadm --stop /dev/md1

mdadm: stopped /dev/md1

查看阵列是否存在

[root@localhost ~]# ls /dev/md1

ls: 无法访问/dev/md1: 没有那个文件或目录

 

二、LVM逻辑卷管理
1、LVM简介:

LVM 是 Linux 系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而 LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。

 

(1)物理卷(Physical Volumes, PVs):这是LVM的基本构建块,通常是一个单独的硬盘分区或者整个硬盘。

(2)卷组(Volume Groups, VGs):由一个或多个物理卷组成。可以将卷组想象成一个大的存储池,从中可以创建逻辑卷。

(3)逻辑卷(Logical Volumes, LVs):从卷组中分配出来的存储区域,它可以像普通分区一样被格式化并挂载到文件系统中。

 

  1. LVM的使用

创建PV(物理卷)之前一定要使用fdisk 命令将分区类型设置成LVM,另一个磁盘同操作

[root@localhost ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)。

 

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

 

Device does not contain a recognized partition table

使用磁盘标识符 0x89a8e205 创建新的 DOS 磁盘标签。

 

命令(输入 m 获取帮助):n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): p

分区号 (1-4,默认 1):

起始 扇区 (2048-10485759,默认为 2048):

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):

将使用默认值 10485759

分区 1 已设置为 Linux 类型,大小设为 5 GiB

 

命令(输入 m 获取帮助):t

已选择分区 1

Hex 代码(输入 L 列出所有代码):8e

已将分区“Linux”的类型更改为“Linux LVM”

 

命令(输入 m 获取帮助):l

 

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        

 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-

 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-

 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-

 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         

 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据

 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .

 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      

 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         

 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       

 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        

 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      

 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        

 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            

 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/

10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  

11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      

12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      

14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       

16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    

17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE

18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动

1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        

1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            

1e  隐藏的 W95 FAT1 80  旧 Minix       

 

命令(输入 m 获取帮助):w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

正在同步磁盘。

2-1、创建PV物理卷

[root@localhost ~]# pvcreate /dev/sdb1

  Physical volume "/dev/sdb1" successfully created.

[root@localhost ~]# pvcreate /dev/sdc1

  Physical volume "/dev/sdc1" successfully created.

查看PV物理卷状态:pvs、pvscan、pvdisplay

2-2、将PV物理卷加入VG卷组(创建卷组VG)

vgcreate vg_name pv1 pv2

查看卷组信息:vgs、vgscan、vgdisplay

也可以通过pvs查看物理卷所存在的地方

pvs

2-3、LV逻辑卷

使用lvcreate命令

 

root# lvcreate -L <lv_size>  <vg_name> -n <lv_name>

 

# 将卷组vg_name下所有剩余空间给创建的lv_name逻辑卷

# 将卷组vg_name下所有剩余空间给创建的lv_name逻辑卷

# FREE指的是当前卷组中未分配给任何逻辑卷的空闲空间

 

在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的参数为-L。例如,使用-L 150M 生成一个大小为 150MB 的逻辑卷。另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为 4MB。例如,使用-l 37 可以生成一个大小为 37×4MB=148MB 的逻辑卷

 

[root@localhost ~]# lvcreate -l +100%FREE test_1 -n test_lv

  Logical volume "test_lv" created.

[root@localhost ~]# lvscan

  ACTIVE            '/dev/centos/swap' [<3.88 GiB] inherit

  ACTIVE            '/dev/centos/root' [45.11 GiB] inherit

  ACTIVE            '/dev/test_1/test_lv' [<5.00 GiB] inherit

[root@localhost ~]# ll /dev/test_1/

总用量 0

lrwxrwxrwx. 1 root root 7 2月  19 14:23 test_lv -> ../dm-2

[root@localhost ~]# ll /dev/test_1/test_lv

lrwxrwxrwx. 1 root root 7 2月  19 14:23 /dev/test_1/test_lv -> ../dm-2

 

2-3-1、查看逻辑卷信息

lvs、lvscan、lvdisplay

2-3-2、扩容逻辑卷

以系统卷组centos为例,扩容空间:

(1)、pv物理卷添加到centos卷组中

[root@localhost ~]# vgextend centos /dev/sdb1 /dev/sdc1

  Volume group "centos" successfully extended

[root@localhost ~]# vgscan

  Reading volume groups from cache.

  Found volume group "centos" using metadata type lvm2

(2)、扩展逻辑卷大小

[root@localhost ~]# lvextend -l +100%FREE /dev/mapper/centos-root

  Size of logical volume centos/root changed from <35.12 GiB (8990 extents) to 45.11 GiB (11549 extents).

  Logical volume centos/root successfully resized.

(3)扩展文件系统

[root@localhost ~]# xfs_growfs /dev/centos/root

meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=2301440 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0 spinodes=0

data     =                       bsize=4096   blocks=9205760, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal               bsize=4096   blocks=4495, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 9205760 to 11826176

 

然后查看磁盘空间变化,这是扩容前的:

这是扩容后的:

3、LVM命令汇总:

(1)PV物理卷:

创建:create /dev/sd*

查看:pvs、pvscan、pvdisplay

删除:pvremove /dev/sd*

  1. vg卷组:

创建:vgcreate vg_name pv

扩展:vgextend vg_name pv

查看:vgs、vgscan、vgdispaly

删除:vgremove vg_name

  1. lv逻辑卷

创建:lvcreate +100%FREE vg_name lv_name

扩展:lvextend +100%FREE lv_name

查看:lvs、lvscan、lvdispaly

删除:lvremove /dev/lv_name

[root@localhost ~]# lvremove /dev/test_1/test_lv

Do you really want to remove active logical volume test_1/test_lv? [y/n]: y

  Logical volume "test_lv" successfully removed

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值