1. 扩容方式 我这边使用的是 VirtualBox  虚拟机,Cnetos 7.9,我们可以在虚拟介质管理进行空间分配和调整
然后应用即可(该操作只能在关机状态下操作!)
这边只是分配了空间,我们需要还对磁盘进行分区,又分为两种
不中断业务,新增分区
为扩容后的磁盘增加新的分区,不需要卸载原有分区,相比替换原有分区的方法,对业务影响较小。推荐系统盘或者需要保证业务不中断的磁盘扩容场景使用。
如果当前磁盘使用的是 MBR 格式,则此时要求扩容后的数据盘最大容量为2 TB,并且磁盘的分区数量还未达到上限。
中断业务,替换原有分区
如果当前磁盘使用的是 MBR 格式,并且磁盘的分区数量已经达到上限,则此时需要替换原有分区,替换原有分区不会删除原有分区的数据,但是需要先卸载原有分区,会影响线上业务运行。
如果当前磁盘使用的是 MBR 格式,并且扩容后磁盘容量已经超过2 TB,则 MBR 格式无法对超过2 TB 的部分进行分区。此时若将MBR分区方式换为 GPT,更换磁盘分区方式时会清除磁盘的原有数据,请先对数据进行备份。
 
我这边采取新增分区方案
2. 查看分区 分区前,需要查看当前磁盘的分区方式,当为MBR时可以选择 fdisk 或者 parted 工具,当为 GPT 时需要使用 parted 工具。
查看磁盘分区信息
“/dev/sda” 为系统盘
“Disk label type” 表示当前磁盘的分区方式,dos 表示磁盘分区方式为 MBR,gpt 表示磁盘分区方式为 GPT。
3. 新增分区 
如果分区操作有误,请输入 “q”,则会退出 fdisk 分区工具,之前的分区结果将不会被保留。
 
3.1 使用 fdisk 对 /dev/sda 分区 
3.2 输入 n 新建分区 1 2 3 4 5 6 7 8 9 10 11 Partition type:    p   primary (2 primary, 0 extended, 2 free)    e   extended Select (default p):  # 分区类型,直接默认主分区 Using default response p Partition number (3,4, default 3): # 分区序号,直接默认 First sector (104857600-125829119, default 104857600): # 新分区的起始磁柱编号,默认 Using default value 104857600 Last sector, +sectors or +size{K,M,G} (104857600-125829119, default 125829119): # 新分区的起始磁柱编号,默认 Using default value 125829119 Partition 3 of type Linux and of size 10 GiB is set 
3.3 输入 t 设置分区格式 
8e 为 lvm
LVM利用Linux内核的device-mapper来实现存储系统的虚拟化(系统分区独立于底层硬件)。通过LVM,你可以实现存储空间的抽象化并在上面建立虚拟分区(virtual partitions),可以更简便地扩大和缩小分区,无需担心某个硬盘上没有足够的连续空间。
 
LVM的基本组成块(building blocks)如下:
物理卷 Physical volume (PV) :可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file)。物理卷包括一个特殊的header,其余部分被切割为一块块物理区域(physical extents) 
卷组 Volume group (VG) :将一组物理卷收集为一个管理单元 
逻辑卷 Logical volume (LV) :虚拟分区,由物理区域 
物理区域 Physical extent (PE) :硬盘可供指派给逻辑卷的最小单位(通常为4MB) 
 
比起正常的硬盘分区管理,LVM更富于弹性:
使用卷组(VG),使众多硬盘空间看起来像一个大硬盘 
使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区 
可以创建小的逻辑卷(LV),在空间不足时再动态调整它的大小 
在调整逻辑卷(LV)大小时可以不用考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间 
可以在线(online)对逻辑卷(LV)和卷组(VG)进行创建、删除、调整大小等操作,LVM上的文件系统也需要重新调整大小,某些文件系统也支持这样的在线操作。 
无需重新启动服务,就可以将服务中用到的逻辑卷(LV)在线(online)/动态(live)迁移至别的硬盘上。 
允许创建快照,可以保存文件系统的备份,同时使服务的下线时间(downtime)降低到最小。 
 
3.4 输入 w 将分区结果写入分区表中 
4. 创建物理卷(PV) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 [root@dream ~]# pvdisplay # 查看物理卷   --- Physical volume ---   PV Name               /dev/sda2   VG Name               centos   PV Size               <49.00 GiB / not usable 3.00 MiB   Allocatable           yes    PE Size               4.00 MiB   Total PE              12543   Free PE               1   Allocated PE          12542   PV UUID               YlSuif-tyMd-mohJ-gKQv-YRgc-OyKi-TtsI74     [root@dream ~]# pvcreate /dev/sda3	# 创建物理卷   Physical volume "/dev/sda3" successfully created. [root@dream ~]# pvdisplay #再次查看   --- Physical volume ---   PV Name               /dev/sda2   VG Name               centos   PV Size               <49.00 GiB / not usable 3.00 MiB   Allocatable           yes    PE Size               4.00 MiB   Total PE              12543   Free PE               1   Allocated PE          12542   PV UUID               YlSuif-tyMd-mohJ-gKQv-YRgc-OyKi-TtsI74       "/dev/sda3" is a new physical volume of "10.00 GiB"   --- NEW Physical volume ---   PV Name               /dev/sda3   VG Name                  PV Size               10.00 GiB   Allocatable           NO   PE Size               0      Total PE              0   Free PE               0   Allocated PE          0   PV UUID               fHqGUt-lPu6-s6Oo-BUjK-s6NH-T2T0-goRcd0    #  可以看到新的物理卷,大小为我扩容的 10G 
5. 将物理卷(PV)加入卷组(VG) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [root@dream ~]# vgdisplay	# 查看卷组,可用 PE 为1,也就是 4M   --- Volume group ---   VG Name               centos   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               <49.00 GiB   PE Size               4.00 MiB   Total PE              12543   Alloc PE / Size       12542 / 48.99 GiB   Free  PE / Size       1 / 4.00 MiB   VG UUID               acX3P4-ayHo-cppq-lD59-eCK4-ecWW-7VA4wp [root@dream ~]# vgextend centos /dev/sda3	# 将新分区加入 centos 卷组   Volume group "centos" successfully extended [root@dream ~]# vgdisplay  # 再次查看卷组 可用 PE 为2560,也就是 10GiB   --- Volume group ---   VG Name               centos   System ID                Format                lvm2   Metadata Areas        2   Metadata Sequence No  4   VG Access             read/write   VG Status             resizable   MAX LV                0   Cur LV                2   Open LV               2   Max PV                0   Cur PV                2   Act PV                2   VG Size               58.99 GiB   PE Size               4.00 MiB   Total PE              15102   Alloc PE / Size       12542 / 48.99 GiB   Free  PE / Size       2560 / 10.00 GiB   VG UUID               acX3P4-ayHo-cppq-lD59-eCK4-ecWW-7VA4wp 
6. 逻辑卷(LV)扩容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 [root@dream ~]# df -h #查看磁盘情况 Filesystem               Size  Used Avail Use% Mounted on devtmpfs                 3.9G     0  3.9G   0% /dev tmpfs                    3.9G     0  3.9G   0% /dev/shm tmpfs                    3.9G  9.1M  3.9G   1% /run tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup /dev/mapper/centos-root   47G  8.7G   39G  19% / /dev/sda1               1014M  150M  865M  15% /boot overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/2dfe976c92c0fa85e834e5aadecbb65867beadb76132e29399a4fff638692371/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/3ee3a86bd1a312d5c76608cd9e19a159cc4f8d56298db783f31b23b5a0c2236a/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/c2079604082005e12f82150e3e5faec3b9d0bb8fa8eedeed9de6ab4836fe137d/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/08a128414b31313071d80afedb85cbf773645035e6715e1743f7968c73b0f492/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/97107f876c6416d0796443de593c74b1c109f2eaa76001c169c5ccf306a3801f/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/56f6ff1076be9fa2c30119cfd8a048e55d98bf49764fe50935b60e7f5f4f7f0c/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/37b2f20fb1b26812adc332cb3be1a3d164c5b43b2aaa4bb12348affdbcaa6af6/merged tmpfs                    783M     0  783M   0% /run/user/0 [root@dream ~]# lvdisplay 查看 LV 信息   --- Logical volume ---   LV Path                /dev/centos/swap   LV Name                swap   VG Name                centos   LV UUID                EfZny2-B6fb-cUAK-Q2ra-KLaq-DjXP-s9xKbM   LV Write Access        read/write   LV Creation host, time localhost, 2021-08-01 11:19:18 +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/centos/root   LV Name                root   VG Name                centos   LV UUID                grbt1v-ugSB-fYmd-kwbT-G3kT-LE78-qhcQyC   LV Write Access        read/write   LV Creation host, time localhost, 2021-08-01 11:19:18 +0800   LV Status              available   #  open                 1   LV Size                46.99 GiB   Current LE             12030   Segments               1   Allocation             inherit   Read ahead sectors     auto   - currently set to     8192   Block device           253:0     [root@dream ~]# lvresize -l +100%FREE /dev/centos/root # 给 /dev/centos/root 这个逻辑卷扩容(大小为所在卷组 100% 可用 PE)   Size of logical volume centos/root changed from 46.99 GiB (12030 extents) to 56.99 GiB (14590 extents).   Logical volume centos/root successfully resized. [root@dream ~]# df -h Filesystem               Size  Used Avail Use% Mounted on devtmpfs                 3.9G     0  3.9G   0% /dev tmpfs                    3.9G     0  3.9G   0% /dev/shm tmpfs                    3.9G  9.1M  3.9G   1% /run tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup /dev/mapper/centos-root   47G  8.7G   39G  19% / /dev/sda1               1014M  150M  865M  15% /boot overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/2dfe976c92c0fa85e834e5aadecbb65867beadb76132e29399a4fff638692371/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/3ee3a86bd1a312d5c76608cd9e19a159cc4f8d56298db783f31b23b5a0c2236a/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/c2079604082005e12f82150e3e5faec3b9d0bb8fa8eedeed9de6ab4836fe137d/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/08a128414b31313071d80afedb85cbf773645035e6715e1743f7968c73b0f492/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/97107f876c6416d0796443de593c74b1c109f2eaa76001c169c5ccf306a3801f/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/56f6ff1076be9fa2c30119cfd8a048e55d98bf49764fe50935b60e7f5f4f7f0c/merged overlay                   47G  8.7G   39G  19% /var/lib/docker/overlay2/37b2f20fb1b26812adc332cb3be1a3d164c5b43b2aaa4bb12348affdbcaa6af6/merged tmpfs                    783M     0  783M   0% /run/user/0 [root@dream ~]# xfs_growfs /dev/centos/root # 用 xfs_growfs 对扩容后的 LV 进行 xfs 格式同步系统 meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=3079680 blks          =                       sectsz=512   attr=2, projid32bit=1          =                       crc=1        finobt=0 spinodes=0 data     =                       bsize=4096   blocks=12318720, imaxpct=25          =                       sunit=0      swidth=0 blks naming   =version 2              bsize=4096   ascii-ci=0 ftype=1 log      =internal               bsize=4096   blocks=6015, version=2          =                       sectsz=512   sunit=0 blks, lazy-count=1 realtime =none                   extsz=4096   blocks=0, rtextents=0 data blocks changed from 12318720 to 14940160 [root@dream ~]# df -h # 重新查看磁盘情况,可以看到扩容了 10G Filesystem               Size  Used Avail Use% Mounted on devtmpfs                 3.9G     0  3.9G   0% /dev tmpfs                    3.9G     0  3.9G   0% /dev/shm tmpfs                    3.9G  9.1M  3.9G   1% /run tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup /dev/mapper/centos-root   57G  8.7G   49G  16% / /dev/sda1               1014M  150M  865M  15% /boot overlay                   57G  8.7G   49G  16% /var/lib/docker/overlay2/2dfe976c92c0fa85e834e5aadecbb65867beadb76132e29399a4fff638692371/merged overlay                   57G  8.7G   49G  16% /var/lib/docker/overlay2/3ee3a86bd1a312d5c76608cd9e19a159cc4f8d56298db783f31b23b5a0c2236a/merged overlay                   57G  8.7G   49G  16% /var/lib/docker/overlay2/c2079604082005e12f82150e3e5faec3b9d0bb8fa8eedeed9de6ab4836fe137d/merged overlay                   57G  8.7G   49G  16% /var/lib/docker/overlay2/08a128414b31313071d80afedb85cbf773645035e6715e1743f7968c73b0f492/merged overlay                   57G  8.7G   49G  16% /var/lib/docker/overlay2/97107f876c6416d0796443de593c74b1c109f2eaa76001c169c5ccf306a3801f/merged overlay                   57G  8.7G   49G  16% /var/lib/docker/overlay2/56f6ff1076be9fa2c30119cfd8a048e55d98bf49764fe50935b60e7f5f4f7f0c/merged overlay                   57G  8.7G   49G  16% /var/lib/docker/overlay2/37b2f20fb1b26812adc332cb3be1a3d164c5b43b2aaa4bb12348affdbcaa6af6/merged tmpfs                    783M     0  783M   0% /run/user/0 
7. 说明 7.1 命令 
lresize 命令
xfs_growfs 命令
使用 df -hT 来查看,Type 对应的类型
 
7.2 /dev/centos/root 
/dev/centos/root 对应 /dev/卷组/逻辑卷