卷组扩容、逻辑卷扩容

背景

当前磁盘可用空间为200G左右,但是实际可用的只有100G。

[root@node4 ~]# fdisk -l

Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x000ce327

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648   101083135    50335744   8e  Linux LVM
/dev/sda3       101083136   125829119    12372992   8e  Linux LVM
/dev/sda4       125829120   209715199    41943040    5  Extended
/dev/sda5       125831168   209715199    41942016   83  Linux

部分字段说明:

  1. 第三行:该盘一共214.7G,xxx byes,xxx个sectors。
  2. 第四行:每个sectors的大小为512bytes.
  3. 第10到15行:为该磁盘的5个物理分区,其中sda4为扩展分区,sda5为扩展分区上划分的逻辑分区。sda1到sda3为主分区。其中start为其开始的sector编号,end为其结束的sector编号。Block为该物理分区包含的块数,经过计算可得,其块大小为(1K)。由观察可知,其分配图大概如下图所示:

在这里插入图片描述

  • 说明:sda4为扩展分区,建立扩展分区之后,再次建立的物理分区将在扩展分区分配,因此,sda5和sda4基本重叠。

由图可知,还有100G的空间没用,因此,我们的目标是增大扩展分区,充分利用磁盘空间。
在这里插入图片描述

创建物理卷

首先尝试创建新的物理卷:

[root@node4 ~]# fdisk /dev/sda 
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/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x000ce327

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648   101083135    50335744   8e  Linux LVM
/dev/sda3       101083136   125829119    12372992   8e  Linux LVM
/dev/sda4       125829120   209715199    41943040    5  Extended
/dev/sda5       125831168   209715199    41942016   83  Linux

Command (m for help): n      
All primary partitions are in use
Adding logical partition 6
No free sectors available

Command (m for help): 

发现错误:No free sectors available
原因是,扩展分区已经已经被用尽了,没办法在上边创建新的物理分区了。

解决方法:删除sda4和sda5,重新创建扩展分区sda4和逻辑分区sda5。(注:本人的sda4和sda5上没存数据,因此直接删除了。如果你的sda4和sda5分区有数据,记得备份。)
Command (m for help): p

Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x000ce327

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648   101083135    50335744   8e  Linux LVM
/dev/sda3       101083136   125829119    12372992   8e  Linux LVM
/dev/sda4       125829120   209715199    41943040    5  Extended
/dev/sda5       125831168   209715199    41942016   83  Linux

Command (m for help): n      
All primary partitions are in use
Adding logical partition 6
No free sectors available

Command (m for help): d
Partition number (1-5, default 5): 5
Partition 5 is deleted

Command (m for help): d 
Partition number (1-4, default 4): 4
Partition 4 is deleted

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

Command (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (125831168-419430399, default 125831168): 
Using default value 125831168
Last sector, +sectors or +size{K,M,G} (125831168-419430399, default 419430399): 
Using default value 419430399
Partition 5 of type Linux and of size 140 GiB is set

Command (m for help): p

Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 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: 0x000ce327

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648   101083135    50335744   8e  Linux LVM
/dev/sda3       101083136   125829119    12372992   8e  Linux LVM
/dev/sda4       125829120   419430399   146800640    5  Extended
/dev/sda5       125831168   419430399   146799616   83  Linux

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.

内核重新识别:

partprobe /dev/sda

卷组扩容

[root@node4 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_srv
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  12
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                7
  Open LV               7
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               99.79 GiB
  PE Size               4.00 MiB
  Total PE              25547
  Alloc PE / Size       13824 / 54.00 GiB
  Free  PE / Size       11723 / 45.79 GiB
  VG UUID               D90rGn-vdYW-sEPa-4O7u-u30Q-bPZj-nTnLg9
  

# 删除该卷组中旧的sda5
$ vgreduce vg_srv /dev/sda5

# 创建物理卷
$ pvcreate /dev/sda5

# 增加卷组
$ vgextend vg_srv /dev/sda5

[root@node4 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_srv
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  14
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                7
  Open LV               7
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               199.79 GiB
  PE Size               4.00 MiB
  Total PE              51147
  Alloc PE / Size       13824 / 54.00 GiB
  Free  PE / Size       37323 / 145.79 GiB
  VG UUID               D90rGn-vdYW-sEPa-4O7u-u30Q-bPZj-nTnLg9

## 扩容成功!

逻辑卷扩容

[root@node4 ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_srv-lv_root   10G  5.4G  4.7G  54% /
devtmpfs                    7.9G     0  7.9G   0% /dev
tmpfs                       7.9G     0  7.9G   0% /dev/shm
tmpfs                       7.9G   61M  7.8G   1% /run
tmpfs                       7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/mapper/vg_srv-lv_tmp    10G   33M   10G   1% /tmp
/dev/mapper/vg_srv-lv_var    10G  341M  9.7G   4% /var
/dev/mapper/vg_srv-lv_app  1014M   33M  982M   4% /app
/dev/mapper/vg_srv-lv_logs  5.0G   33M  5.0G   1% /app/logs
/dev/mapper/vg_srv-lv_home   10G  6.3G  3.8G  63% /home
/dev/sda1                   197M  175M   23M  89% /boot
tmpfs                       1.6G  8.0K  1.6G   1% /run/user/42
tmpfs                       1.6G   44K  1.6G   1% /run/user/0
tmpfs                       1.6G     0  1.6G   0% /run/user/99

[root@node4 ~]# lvextend -L +40G /dev/vg_srv/lv_root
  Size of logical volume vg_srv/lv_root changed from 10.00 GiB (2560 extents) to 50.00 GiB (12800 extents).
  Logical volume vg_srv/lv_root successfully resized.
  
 # 如果xfs文件系统,则使用如下命令扩容 
[root@node4 ~]# xfs_growfs /dev/vg_srv/lv_root 

# 如果是ext文件系统,则使用如下命令扩容
[root@node4 ~]# resizefs /dev/vg_srv/lv_root 

# 再次查看相关目录大小,扩容成功。
[root@node4 ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_srv-lv_root   50G  5.4G   45G  11% /
devtmpfs                    7.9G     0  7.9G   0% /dev
tmpfs                       7.9G     0  7.9G   0% /dev/shm
tmpfs                       7.9G   61M  7.8G   1% /run
tmpfs                       7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/mapper/vg_srv-lv_tmp    10G   33M   10G   1% /tmp
/dev/mapper/vg_srv-lv_var    10G  341M  9.7G   4% /var
/dev/mapper/vg_srv-lv_app  1014M   33M  982M   4% /app
/dev/mapper/vg_srv-lv_logs  5.0G   33M  5.0G   1% /app/logs
/dev/mapper/vg_srv-lv_home   10G  6.3G  3.8G  63% /home
/dev/sda1                   197M  175M   23M  89% /boot
tmpfs                       1.6G  8.0K  1.6G   1% /run/user/42
tmpfs                       1.6G   44K  1.6G   1% /run/user/0
tmpfs                       1.6G     0  1.6G   0% /run/user/99

新增逻辑卷

$ lvcreate -L 40G -n lv_data vg_srv #因为可用容量为40G,创建的大小按照需要创建即可。
$  mkfs -t xfs /dev/mapper/vg_srv-lv_data

$ lsblk -pf
NAME                           FSTYPE      LABEL UUID                                   MOUNTPOINT
/dev/sda
├─/dev/sda1                    xfs               63d25408-e2a9-4afa-b6b6-056471073a89   /boot
├─/dev/sda2                    LVM2_member       4ot5Vr-PLOI-Al1a-uY62-6Iob-wfZq-Hcyvso
│ ├─/dev/mapper/vg_srv-lv_root xfs               5262deca-cc03-42b6-9fe5-fad501053f22   /
│ ├─/dev/mapper/vg_srv-lv_swap swap              d973e004-8ef4-45aa-89ca-c0c307f74130   [SWAP]
│ ├─/dev/mapper/vg_srv-lv_home xfs               0d15a3e7-788c-44f7-bf53-b27c41533640   /home
│ ├─/dev/mapper/vg_srv-lv_var  xfs               bcf82e94-b178-4604-80d4-fad7e0f14685   /var
│ └─/dev/mapper/vg_srv-lv_tmp  xfs               227a6b29-1555-4ff8-ac42-ad732f97a685   /tmp
├─/dev/sda3                    LVM2_member       yaal5p-zn5f-DI0P-IUts-Gm9i-4vzj-HAy3lg
│ ├─/dev/mapper/vg_srv-lv_app  xfs               e9b7c1ae-a3b8-45c7-a2ff-3bde7cf80fff   /app
│ └─/dev/mapper/vg_srv-lv_logs xfs               07b3f85b-f933-43ea-8598-cbd8187c5271   /app/logs
├─/dev/sda4
└─/dev/sda5                    LVM2_member       26uEWO-57Zm-0Cem-olr1-x66m-b8uc-sw15tJ
  └─/dev/mapper/vg_srv-lv_data ext4              59f579ba-557f-4d08-93b8-9ea713bd028e
/dev/sr0

$ mount /dev/mapper/vg_srv-lv_data /data1

$ vi /etc/fstab #配置为开机自动挂载
/dev/mapper/vg_srv-lv_data                      /data1          xfs    defaults        0 0
vgreduce --removemissing vg_srv

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值