此处是自己作为学习的笔记的实验操作,也是小白学习过程的理解,请不要直接在正式环境搞。


  • [一] 虚拟机扩容分两种:( 方法不同,在虚拟主机操作命令会不一样)
        1.在VM管理的硬盘处直接变更,将原磁盘扩大容量(见图1);该方法是直接变更磁盘大小,需要1个前提:没有快照
        2.在VM管理的硬盘处新增硬盘,挂载一块新的磁盘上去(见图2);
    在磁盘设置位置,将原存储扩大
    原磁盘扩容 图1

    在磁盘设置位置,挂载一块新的磁盘
    新增磁盘扩容 图2


  • [ 二] 我理解的大概存储扩容分两种:
        1.原存储空间不足需扩大存储到已用存储中 。
                (此处又分为两种情况,1是无卷组直接扩容,2是通过卷组扩容);
        2.增加成独立分区,分区挂载后形成新的空间

实验操作
现在进入虚拟机进行设置。

一、在同一存储盘直接新增扩容,扩大到已用空间中(图1的方法)。

        假设我需将同一磁盘下的新增空间扩容至原有空间中:

(一)【无卷组】xfs格式配置,在同一存储盘直接扩容。

参考如下。

df -PTh  #(disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
           文件-P, --portability 使用 POSIX 输出格式
           文件-T, --print-type 显示文件系统的形式

xfs_growfs  #   XFS格式已被最新的CentOS/RHEL 7采用,成为其默认的文件系统。
				xfs_growfs,在大多数Linux默认可用。XFS支持在线调整大小,目标文件系统可以挂载,也可
				以不挂载。在已经挂载的情况下可以进行扩展,缩减却还没有支持。

例子:
[root@localhost boot]# xfs_growfs /dev/sda3
meta-data=/dev/sda3              isize=512    agcount=4, agsize=1160384 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4641536, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4641536 to 7262976

                                         查看扩容需要类型
当前需要扩容/dev/sda3的xfs格式的存储
1)查看当前空间分配情况   lsblk
                              扩容新增
当前sda总空间27G,sda磁盘分配了3个主分区,其中sda3使用的是 / 目录,使用17G,需要进sda3空间扩容。

2)进入sda磁盘进行设置 fdisk /dev/sda(具体干什么?注意什么?) ps:存储扩大后不能缩小
(1)fdisk /dev/sda进入磁盘配置;
     p (print) 输出当前磁盘分区情况;
     d(delete) 删除sda3磁盘(空间大小为:4810752-41943039) 。
(2)n(new) 新建磁盘;
     p(primary) 进行新建主分区磁盘;(一块硬盘顶多只能分四块主分区)
     3新建磁盘空间名3新建磁盘(空间大小为:4810752-56623103);
(3) w (write)保存,保存写入新的配置,磁盘分配配置

[root@localhost ~]#      fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在存储中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


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

磁盘 /dev/sda:29.0 GB, 28991029248 字节,56623104 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理)512 字节 / 512 字节
I/O 大小(最小/最佳)512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00019be8

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200   83  Linux
/dev/sda2          616448     4810751     2097152   82  Linux swap / Solaris
/dev/sda3         4810752    41943039    18566144   83  Linux

命令(输入 m 获取帮助):d
分区号 (1-3,默认 3)3
分区 3 已删除

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3)3
起始 扇区 (4810752-56623103,默认为 4810752):
将使用默认值 4810752
Last 扇区, +扇区 or +size{K,M,G} (4810752-56623103,默认为 56623103):
将使用默认值 56623103
分区 3 已设置为 Linux 类型,大小设为 24.7 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。

3)reboot 重启虚拟机,将刚刚的设置进行保存应用
4)xfs_growfs /dev/sda3 刷新存储空间,实现对存储扩容
                              成功扩容xfs格式
5)lsblk 输出磁盘结构      df -PTh输出磁盘使用情况 (成功将同磁盘的新增空间,扩容到已有空间)
                                   成功扩容xts
                        磁盘已扩容


2.如果是ext2iext3ext4格式的文件直接输入以下命令resize2fs /dev/sdb进行扩容(此处以ext4的类型进行操作,xfs类型参考上面链接)

                              在这里插入图片描述

 resize2fs   # (当前这种在我测试中没出现数据丢失的情况)
					调整ext2iext3ext4文件系统的大小,它可以放大或者缩小没有挂载的文件系统的大小。
			        如果文件系统已经挂载,它可以扩大文件系统的大小,前提是内核支持在线调整大小。

[root@192 ~]#          resize2fs /dev/sdb

resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/sdb is mounted on /ggyy; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/sdb is now 3932160 blocks long.
—————————————————————————————————————————————————————————————————————————————————————————————

                              resize2fs /dev/sdb扩容成功

(二)【有卷组】xfs格式,在同一存储盘直接扩容(图1的方法)。

        可参考如下;也可参考这个链接:LVM原理详解及实战(点击跳转)
1.lvm组成:(从下(磁盘)到上(文件)的结构)
            PV,物理卷,是操作系统获取到的磁盘。
            VG,卷组,由物理卷组成形成的整体卷组。
            LV,逻辑卷,从卷组上分割下来,供人使用的存储单元,并且要mount挂载到目录可存储
                              lvm组成
在部署LVM时,要依次配置物理卷(pv)、卷组(vg)、逻辑卷(lv),扩容需要先扩容物理卷(pv)、再扩容 卷组(vg)、最后扩容 逻辑卷(lv)。常用的LVM部署命令如下表所示:

功能/命令物理卷管理卷组管理逻辑卷管理
扫描(命令执行后)↓pvsvgslvs
命令执行后磁盘状态/dev/vd*/dev/sd*
                                └─centoslinux
/dev/sd*
                                └─centoslinux-lv00
建立pvcreatevgcreatelvcreate
显示pvdisplayvgdisplaylvdispaly
删除pvremotevgremotelvremote
扩展物理卷不能扩展vgextendlvextend
缩小物理卷不能缩小vgreducelvreduce


         2. 实验目标:操作前sdb磁盘下已用三个分区,其中2个分区组成lvm、1个磁盘直接挂载;操作后需在同一磁盘下,将新的分配的空间扩容到sdb下的lvm空间中。
          (1)操作前:控制台管理台查看当前磁盘空间。

[root@localhost ~]#
[root@localhost ~]# lsblk
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                8:0    0   20G  0 disk
├─sda1             8:1    0  300M  0 part /boot
├─sda2             8:2    0    2G  0 part [SWAP]
└─sda3             8:3    0 17.7G  0 part /
sdb                8:16   0    6G  0 disk
├─sdb1             8:17   0    2G  0 part
│ └─centos-linxu 253:0    0  3.9G  0 lvm  /data
├─sdb2             8:18   0    2G  0 part /ggyy
└─sdb3             8:19   0    2G  0 part
  └─centos-linxu 253:0    0  3.9G  0 lvm  /data
sr0               11:0    1 1024M  0 rom
[root@localhost ~]#

                                                                                在这里插入图片描述
(2)在控制台扩容存储空间,并在lsblkfdisk -l下检查磁盘空间。通过lsblk确定,已经sdb/vdb的6G空间扩大到10G,现在需要将新增的空间单独创建分区,并将分区制作为物理卷(pv)再制作为卷组(vg)在扩容至逻辑卷(lv)。

                                                                            在这里插入图片描述

[root@localhost ~]#
[root@localhost ~]# lsblk
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                8:0    0   20G  0 disk
├─sda1             8:1    0  300M  0 part /boot
├─sda2             8:2    0    2G  0 part [SWAP]
└─sda3             8:3    0 17.7G  0 part /
sdb                8:16   0   10G  0 disk
├─sdb1             8:17   0    2G  0 part
│ └─centos-linxu 253:0    0  3.9G  0 lvm
├─sdb2             8:18   0    2G  0 part
└─sdb3             8:19   0    2G  0 part
  └─centos-linxu 253:0    0  3.9G  0 lvm
sr0               11:0    1 1024M  0 rom
[root@localhost ~]#
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x73600d2a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4150000     2073976+  83  Linux
/dev/sdb2         4151296     8388607     2118656   83  Linux
/dev/sdb3         8388608    12582911     2097152   83  Linux

(3)需要将新增的空间单独创建分区,通过fdisk /dev/vdb创建/dev/vdb4;通过fdisk -l确定新区已建好;此时先reboot重启服务器,再用mkfs.ext4 /dev/sdb4将/dev/vdb4格式化。

[root@localhost ~]#
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x73600d2a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4150000     2073976+  83  Linux
/dev/sdb2         4151296     8388607     2118656   83  Linux
/dev/sdb3         8388608    12582911     2097152   83  Linux

Command (m for help): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): p
Selected partition 4
First sector (4150001-20971519, default 12582912):
Using default value 12582912
Last sector, +sectors or +size{K,M,G} (12582912-20971519, default 20971519):
Using default value 20971519
Partition 4 of type Linux and of size 4 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@localhost ~]#
[root@localhost ~]
[root@localhost ~]fdisk -l
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x73600d2a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4150000     2073976+  83  Linux
/dev/sdb2         4151296     8388607     2118656   83  Linux
/dev/sdb3         8388608    12582911     2097152   83  Linux
/dev/sdb4        12582912    20971519     4194304   83  Linux

Disk /dev/mapper/centos-linxu: 4190 MB, 4190109696 bytes, 8183808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[root@localhost ~]#
[root@localhost ~]# reboot
Connection to 192.168.100.129 closed by remote host.
Connection to 192.168.100.129 closed.
PS C:\Users\chenc>
[root@localhost ~]#
[root@localhost ~]# mkfs.ext4 /dev/sdb4
mke2fs 1.42.9 (28-Dec-2013)
Could not stat /dev/sdb4 --- No such file or directory

The device apparently does not exist; did you specify it correctly?
[root@localhost ~]#

(4)制作物理卷(pv)。通过pvs、pvdisplay展示当前的物理卷,并根据pvcreate /dev/sdb /dev/sdb4命令制作物理卷(在/dev/sdb磁盘中的/dev/sdb4创建为物理卷),再通过pvs、pvdispaly确认已成功创建/dev/sdb4物理卷。

[root@localhost ~]#
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize  PFree
  /dev/sdb1  centos lvm2 a--  <1.98g     0
  /dev/sdb3  centos lvm2 a--  <2.00g 72.00m
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               centos
  PV Size               <1.98 GiB / not usable 647.50 KiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              506
  Free PE               0
  Allocated PE          506
  PV UUID               xd9BhF-05pZ-OoMN-SacB-yZSx-NPSY-HWNDFD

  --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               centos
  PV Size               2.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              511
  Free PE               18
  Allocated PE          493
  PV UUID               0Z2dEp-SxeV-G1qE-UvEO-k18Q-QXHb-WrGhqy

[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# pvcreate /dev/sdb /dev/sdb4
  Device /dev/sdb not found (or ignored by filtering).
  Physical volume "/dev/sdb4" successfully created.
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize  PFree
  /dev/sdb1  centos lvm2 a--  <1.98g     0
  /dev/sdb3  centos lvm2 a--  <2.00g 72.00m
  /dev/sdb4         lvm2 ---   4.00g  4.00g
[root@localhost ~]# 
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               centos
  PV Size               <1.98 GiB / not usable 647.50 KiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              506
  Free PE               0
  Allocated PE          506
  PV UUID               xd9BhF-05pZ-OoMN-SacB-yZSx-NPSY-HWNDFD

  --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               centos
  PV Size               2.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              511
  Free PE               18
  Allocated PE          493
  PV UUID               0Z2dEp-SxeV-G1qE-UvEO-k18Q-QXHb-WrGhqy

  "/dev/sdb4" is a new physical volume of "4.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb4
  VG Name
  PV Size               4.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               8741WI-KLy1-6zVW-TChn-pQaT-A46B-bpLIw1

[root@localhost ~]#

(5)制作卷组(vg)。通过vgsvgdispaly查看当前的卷组情况,再通过vgextend centos /dev/sdb4将新的物理卷(pv)扩容组成名为centos的卷组中(vg),并通过vgsvgdispaly查看当前的卷组情况。

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize VFree
  centos   2   1   0 wz--n- 3.97g 72.00m
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.97 GiB
  PE Size               4.00 MiB
  Total PE              1017
  Alloc PE / Size       999 / 3.90 GiB
  Free  PE / Size       18 / 72.00 MiB
  VG UUID               lwWViu-G030-LrKU-zucs-MQz6-Uo7Y-8Dc7Dk

[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   3   1   0 wz--n- <7.97g <4.07g
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <7.97 GiB
  PE Size               4.00 MiB
  Total PE              2040
  Alloc PE / Size       999 / 3.90 GiB
  Free  PE / Size       1041 / <4.07 GiB
  VG UUID               lwWViu-G030-LrKU-zucs-MQz6-Uo7Y-8Dc7Dk

(6)扩容逻辑卷(lv)。通过lvslvdispaly查看当前的逻辑卷情况,将新增的卷组/dev/sdb4扩容到逻辑卷组,使用lvextend -L 7.9G /dev/centos/linxu /dev/sdb1 /dev/sdb3 /dev/sdb4命令,将/dev/sdb1、/dev/sdb2、/dev/sdb3组成名称为centos的逻辑卷中,并通过lvslvdispaly查看当前的逻辑卷情况。

[root@localhost ~]#
[root@localhost ~]# lvextend -L 7.9G /dev/centos/linxu /dev/sdb1 /dev/sdb3 /dev/sdb4
  WARNING: No free extents on physical volume "/dev/sdb1".
  Rounding size to boundary between physical extents: 7.90 GiB.
  Size of logical volume centos/linxu changed from 3.90 GiB (999 extents) to 7.90 GiB (2023 extents).
  Logical volume centos/linxu successfully resized.
[root@localhost ~]#
[root@localhost ~]# lvs
  LV    VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  linxu centos -wi-a----- 7.90g
[root@localhost ~]#
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/linxu
  LV Name                linxu
  VG Name                centos
  LV UUID                07gJOh-o58q-6b5L-uqeS-DeP2-S0BO-ty1Xzv
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-09-21 20:36:38 -0700
  LV Status              available
  # open                 0
  LV Size                7.90 GiB
  Current LE             2023
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
[root@localhost ~]#

(7)将逻辑卷挂载,并通过xfs_growfs /dev/centos/linxu刷新逻辑卷磁盘空间,并用lsblkdf -PTh确认挂载和扩容成功。

[root@localhost ~]#
[root@localhost ~]# mount /dev/centos/linxu /data
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# xfs_growfs /dev/centos/linxu
meta-data=/dev/mapper/centos-linxu isize=512    agcount=4, agsize=124672 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=498688, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 498688 to 2071552
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# lsblk
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                8:0    0   20G  0 disk
├─sda1             8:1    0  300M  0 part /boot
├─sda2             8:2    0    2G  0 part [SWAP]
└─sda3             8:3    0 17.7G  0 part /
sdb                8:16   0   10G  0 disk
├─sdb1             8:17   0    2G  0 part
│ └─centos-linxu 253:0    0  7.9G  0 lvm  /data
├─sdb2             8:18   0    2G  0 part
├─sdb3             8:19   0    2G  0 part
│ └─centos-linxu 253:0    0  7.9G  0 lvm  /data
└─sdb4             8:20   0    4G  0 part
  └─centos-linxu 253:0    0  7.9G  0 lvm  /data
sr0               11:0    1 1024M  0 rom
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# df -PTh
[root@localhost ~]#
[root@localhost ~]# df -PTh
Filesystem               Type      Size  Used Avail Use% Mounted on
/dev/sda3                xfs        18G  5.0G   13G  28% /
devtmpfs                 devtmpfs  898M     0  898M   0% /dev
tmpfs                    tmpfs     912M     0  912M   0% /dev/shm
tmpfs                    tmpfs     912M  9.1M  903M   1% /run
tmpfs                    tmpfs     912M     0  912M   0% /sys/fs/cgroup
/dev/sda1                xfs       297M  157M  141M  53% /boot
tmpfs                    tmpfs     183M   12K  183M   1% /run/user/42
tmpfs                    tmpfs     183M     0  183M   0% /run/user/0
/dev/mapper/centos-linxu xfs       7.9G   33M  7.9G   1% /data
[root@localhost ~]#


二、在不同存储盘直接新增扩容,扩大到已用空间中(图2的方法)。

(一)【有卷组】XFS格式,可参考如下。

(1)在关机状态下执行,在原存储盘进行扩容4GB后开机进行。
                              在这里插入图片描述                                                  在这里插入图片描述
(2)扩容后检查下各磁盘状态。通过lsblk查看各磁盘真实大小,结合上图与下命令,可知/dev/sdb 3Gb、/dev/sdc 4Gb、/dev/sdd 9Gb

[root@localhost ~]#
[root@localhost ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                  8:0    0   20G  0 disk
├─sda1               8:1    0  300M  0 part /boot
├─sda2               8:2    0    2G  0 part [SWAP]
└─sda3               8:3    0 17.7G  0 part /
sdb                  8:16   0    3G  0 disk
└─centoslinux-lv00 253:0    0   12G  0 lvm
sdc                  8:32   0    4G  0 disk
└─centoslinux-lv00 253:0    0   12G  0 lvm
sdd                  8:48   0    9G  0 disk
└─centoslinux-lv00 253:0    0   12G  0 lvm
sr0                 11:0    1 1024M  0 rom

(3)通过pvdisplay查看对应物理卷真实大小,可知存储如下:/dev/sdb 3Gb、/dev/sdc 4Gb、/dev/sdd 5Gb,可确定需要将/dev/sdd的物理卷从5Gb扩容至9Gb

[root@localhost ~]#
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               centoslinux
  PV Size               3.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              767
  Free PE               0
  Allocated PE          767
  PV UUID               CZbN4c-L1S1-0dmm-t1jq-erQo-yqHs-1aCHBc

  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               centoslinux
  PV Size               4.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              1023
  Free PE               0
  Allocated PE          1023
  PV UUID               tSh9KI-efoV-BR2c-YlTc-A9Uv-sVC9-DQ39Pj

  --- Physical volume ---
  PV Name               /dev/sdd
  VG Name               centoslinux
  PV Size               <5.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              1279
  Free PE               0
  Allocated PE          1279
  PV UUID               TI4pTB-MTxO-itAt-UchK-9fiy-9iOY-wVwb8D
  [root@localhost ~]#

(4)扩容物理卷(pv)。通过pvresize /dev/sd*刷新具体的存储盘,再通过pvdisplay查看对应物理卷真实大小,此时/dev/vdd已为9Gb,则成功将物理磁盘新增的空间划入到逻辑卷(pv)中。

[root@localhost ~]#
[root@localhost ~]# pvresize /dev/sdd
  Physical volume "/dev/sdd" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               centoslinux
  PV Size               3.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              767
  Free PE               0
  Allocated PE          767
  PV UUID               CZbN4c-L1S1-0dmm-t1jq-erQo-yqHs-1aCHBc

  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               centoslinux
  PV Size               4.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              1023
  Free PE               0
  Allocated PE          1023
  PV UUID               tSh9KI-efoV-BR2c-YlTc-A9Uv-sVC9-DQ39Pj

  --- Physical volume ---
  PV Name               /dev/sdd
  VG Name               centoslinux
  PV Size               <9.00 GiB / not usable 3.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              2303
  Free PE               1024
  Allocated PE          1279
  PV UUID               TI4pTB-MTxO-itAt-UchK-9fiy-9iOY-wVwb8D
  [root@localhost ~]#

(5)扩容卷组(vg)。我在实验过程中,直接输入vgs查看已经达到扩容,不需要进行该(4)扩容卷组,而进行(5)扩容逻辑卷(lv)的操作。
如果是其他空间未分配,则通过vgextend centos**** /dev/sd*命令,将物理卷(pv)名称为/dev/sd*的空间融入至卷组(vg)名称为centos****中,再通过vgdisplay查看卷组(vg)的空间。

[root@localhost ~]#
[root@localhost ~]# vgextend centoslinux /dev/sdd
  Can't open /dev/sdd exclusively.  Mounted filesystem?
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centoslinux
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <15.99 GiB
  PE Size               4.00 MiB
  Total PE              4093
  Alloc PE / Size       3069 / <11.99 GiB
  Free  PE / Size       1024 / 4.00 GiB
  VG UUID               QO1nE5-QjCq-2gNd-NWuV-UfR9-VzSy-ts6kAv
  [root@localhost ~]#

(6)扩容逻辑卷(lv)。通过lvslvdisplay查看当前逻辑卷空间。

[root@localhost ~]#
[root@localhost ~]# lvs
  LV   VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv00 centoslinux -wi-a----- <11.99g
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centoslinux/lv00
  LV Name                lv00
  VG Name                centoslinux
  LV UUID                ekpLhA-e3A6-dVKb-Rd0N-1kXx-9dND-ziQkWI
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-09-20 21:56:41 -0700
  LV Status              available
  # open                 0
  LV Size                <11.99 GiB
  Current LE             3069
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
  [root@localhost ~]#

再利用lvextend /dev/centoslinux/lv00 /dev/sdd命令,将物理卷(pv)名为/dev/sdd组成卷组(vg)名称为centoslinux的空间融入至名称为lv00的逻辑卷(lv)中,再通过vgdisplay查看卷组(vg)的空间,当前已将12Gb的存储卷组扩容至15.99Gb。
          # lvextend-l +25 /dev/centos/lv00 表示对LVM的逻辑卷进行扩容,-L表示扩容后的大小而不是增加的大小,也可以使用-l参数指定大小。

[root@localhost ~]#
[root@localhost ~]# lvextend /dev/centoslinux/lv00 /dev/sdd
  Size of logical volume centoslinux/lv00 changed from <11.99 GiB (3069 extents) to <15.99 GiB (4093 extents).
  Logical volume centoslinux/lv00 successfully resized.
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# lvs
  LV   VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv00 centoslinux -wi-a----- <15.99g
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centoslinux/lv00
  LV Name                lv00
  VG Name                centoslinux
  LV UUID                ekpLhA-e3A6-dVKb-Rd0N-1kXx-9dND-ziQkWI
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2023-09-20 21:56:41 -0700
  LV Status              available
  # open                 0
  LV Size                <15.99 GiB
  Current LE             4093
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
[root@localhost ~]#

(7)刷新存储情况。最后使用xfs_growfs /dev/centos/linux,刷新使用的逻辑卷/dev/centos/linux。再通过mount进行挂载使用的逻辑卷,最后利用df -PTh确认磁盘已更新,至此逻辑卷扩容完成。(注意:/etc/fstab存储默认挂载信息,如果没有配置,重启后需要手动挂载。)
         可使用如:echo “/dev/centos/linux /data ext4 defaults 0 0” >> /etc/fstab

[root@localhost ~]#
[root@localhost ~]# xfs_growfs /dev/centos/linux
meta-data=/dev/mapper/centos-linux isize=512    agcount=4, agsize=262144 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1048576, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 1048576 to 2619392
[root@localhost ~]#


(二)【无卷组】xfs格式配置,在不同存储盘直接扩容。

df -PTh    #(disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
               文件-P, --portability 使用 POSIX 输出格式
               文件-T, --print-type 显示文件系统的形式
           
fdisk -l   #   命令查看数据盘的已分区和未分区的信息。
			   使用“df –h”命令,无法看到未分区和格式化的数据盘。

lsblk      #   列出所有可用块设备的信息,而且还能显示他们之间的依赖关系
例子:
[root@localhost ~]#    lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   30G  0 disk           #  sda磁盘(30G)分了3块区域,3块区域挂载位置和大小
├─sda1   8:1    0  300M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0 17.7G  0 part /		  #   可看出sda还有空间未分配(分配方法见后面“二”)
sdb      8:16   0   15G  0 disk /ggyy     #  sdb这是第二块磁盘
sr0     11:0    1 1024M  0 rom

              
在这里插入图片描述
上图中的 /dev下有两块磁盘:sda、sdb。
       那sda3哪儿来的?一块硬盘顶多只能分四块主分区,sda3是sda磁盘的第三块分区(如果进行分区,可以进行逻辑卷,物理卷,卷组操作,当前我还理解清晰。);也可不进行分区,如果不进行分区,可以直接将整块硬盘进行挂载操作。

1.新增加的磁盘(/dev/sdb),将新增加的磁盘进行挂载新的空间中(创建目录,进行挂载) 在这里插入图片描述
2.此处的情况就是报错,需要将磁盘进行格式化再进行挂载。

mkfs.ext4 /dev/sdb    # 将磁盘格式化未ext4格式
[root@192 ~]#      mkfs.ext4 /dev/sdb

mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y

文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
...................................................

                                                 挂载磁盘
3.格式化后成功将新的磁盘(即磁盘2)挂载使用。如果新的磁盘(/dev/sdb)中有数据(先做备份),谨慎操作。/ggyy目录下的使用的物理磁盘,再遇到重启时,会掉,需要重新挂载。
如长期使用,如云平台等服务器,需要设置,在系统启动的时候自动挂载。

echo "/dev/sdb /ggyy ext4 defaults 0 0" >> /etc/fstab  

[root@192 ~]#    cat /etc/fstab
# /etc/fstab
# Created by anaconda on Sun Jan 24 04:28:10 2021
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
UUID=9f59f137-198f-41ad-b8d5-d161c2b503ee /                       xfs     defaults        0 0
UUID=94870b22-13d9-4f6a-9c70-993056dbb3ca /boot                   xfs     defaults        0 0
UUID=029976c9-1f7b-4ea3-adc5-f724f3b6e60d swap                    swap    defaults        0 0
/dev/sdb /ggyy ext4 defaults 0 0          #具体意思需要百度,大概是开机默认以ext4格式进行默认挂载
学习使人快乐,可以参考点2(点击跳转)                       
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐