Centos 7 使用未分配空间扩展分区

Centos 7 使用未分配空间扩展分区

我有 centos 7 服务器。(CentOS Linux release 7.3.1611 (Core))更新服务器时,我看到错误“您需要额外的空间”。但是我的服务器上有 20GB 磁盘,当我检查磁盘空间时,我看到只创建了 4.5GB 分区,16GB 分区是可用空间,没有未分配空间。如何从 16GB 可用空间扩展分区?

lsblk:

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0  4.5G  0 part
  ├─centos-root 253:0    0    4G  0 lvm  /
  └─centos-swap 253:1    0  512M  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom

在此处输入图片描述

答案1

制作步骤如下:

  1. 修改分区表,使其sda2结束于磁盘末尾
  2. 重新读取分区表(需要重新启动)
  3. 使用以下方法调整 LVM pv 的大小pvresize

步骤 1 - 分区表

运行fdisk /dev/sda。发出p以打印当前分区表并将输出复制到某个安全的地方。现在发出d,然后2发出 以删除第二个分区。发出n以创建新的第二个分区。确保起始等于您之前打印的分区表的起始。确保结束位于磁盘的末尾(通常是默认值)。

t随后发出2以下命令8e将新的第二个分区的分区类型切换为 8e(Linux LVM)。

检查p新的分区布局,并确保新的第二个分区的起点与旧的第二个分区的起点完全一致。

如果一切正常,则发出w将分区表写入磁盘的命令。您将收到来自 partprobe 的错误消息,提示无法重新读取分区表(因为磁盘正在使用中)。

重新启动系统

此步骤是必要的,以便重新读取分区表。

调整 LVM PV 的大小

系统重新启动后,调用pvresize /dev/sda2。您的物理 LVM 卷现在将跨越驱动器的其余部分,您可以创建或扩展逻辑卷到该空间。

答案2

您可以在 CentOS 7 中无需重新启动即可执行此操作。假设您的磁盘是 /dev/vda 和标准 RHEL/CentOS 分区:

扩展分区

# fdisk /dev/vda

输入后p,即可打印您的初始分区表。

输入d(delete) 然后2删除现有的分区定义(分区 1 通常是 /boot 而分区 2 通常是根分区)。

输入n(new),然后输入p(primary),然后2重新创建分区号 2 并enter接受起始块,enter再次接受默认为磁盘末尾的结束块。

输入t(类型)然后28e新的分区类型更改为“Linux LVM”。

输入p以打印新的分区表,并确保起始块与上面打印的初始分区表的内容相匹配。

输入将w分区表写入磁盘。您将看到一个Device or resource busy可以忽略的错误。

更新内核内存分区表

更改分区表后,运行以下命令来更新内核内存分区表:

# partx -u /dev/vda

调整物理卷大小

调整 PV 大小以识别额外空间

# pvresize /dev/vda2

调整 LV 和文件系统的大小

此命令中的centos是 PV,root是 LV,/dev/vda2是扩展的分区。如果您不知道物理卷和逻辑卷的名称,请使用pvs和命令查看它们。此命令中的选项会适当调整文件系统的大小,因此您不必单独调用或。lvs-rresize2fsxfs_growfs

# lvextend -r centos/root /dev/vda2

答案3

看看这个——所有内容都在一行上,没有问题:

parted ---pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2

这里:

  • parted扩展分区(---pretend-input-tty隐藏分旗
  • partx更新内核内存分区表
  • pvresize调整物理卷大小
  • lvextend调整逻辑卷和文件系统的大小

这样就不需要重新启动。

以上内容表明您有 vd* 卷,并且其下vda2有一个 lvm 卷组centos和 lvm 逻辑卷var

$ lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk 
vda               8:0    0   40G  0 disk 
├─vda1            8:1    0    1G  0 part /boot
└─vda2            8:2    0   19G  0 part 
  ├─centos-var  253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom

如果您有 sd* 卷,如下所示:

$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0           2:0    1    4K  0 disk 
sda           8:0    0   40G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   19G  0 part 
  ├─cl-root 253:0    0   17G  0 lvm  /
  └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
sr0          11:0    1 1024M  0 rom

你可以用同样的方式做:

parted ---pretend-input-tty /dev/sda resizepart 2 100%;
partx -u /dev/sda; pvresize /dev/sda2;
lvextend -r /dev/cl/root /dev/sda2

答案4

我怎样才能做同样的事情,但使用下面的例子。 https://prnt.sc/26s9s0w https://prnt.sc/26s9uou

相关内容