lvextend 在 RHEL 6 中扩展 root

lvextend 在 RHEL 6 中扩展 root

我有一个处理数据的服务器,它开始给我这个错误:

write error: no space left on device
cannot create temp file for here-document: no space left on device

虽然我使用 ubuntu 14.04 作为我的主要操作系统,但管理文件系统超出了我的理解范围,因此提出了这个问题。

df -h 

印刷

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       99G   94G   16M 100% /
/dev/sda2             477M   39M  413M   9% /boot
/dev/sda1             200M  264K  200M   1% /boot/efi
/dev/mapper/VolGroup-lv_home
                      1.5T  453G  996G  32% /home
shmfs                  30G     0   30G   0% /dev/shm
shmfs                  30G     0   30G   0% /dev/shm
shmfs                  30G     0   30G   0% /dev/shm

显然我的 lv_root 上没有太多空间了。我跑了

df -i

Filesystem              Inodes  IUsed     IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root
                       6553600 143617   6409983    3% /
/dev/sda2               128016     22    127994    1% /boot
/dev/sda1                    0      0         0     - /boot/efi
/dev/mapper/VolGroup-lv_home
                     101588992  44952 101544040    1% /home
shmfs                  4085528      1   4085527    1% /dev/shm
shmfs                  4085528      1   4085527    1% /dev/shm
shmfs                  4085528      1   4085527    1% /dev/shm

这表明我还有很多可用空间(不确定我的理解是否正确)。

我尝试从中删除文件/var/log,但由于这些文件的大小并没有太大,所以没有发生任何事情。我读到lvextend并认为我可以增加 VolGroup 的大小lv_root

sudo lvs --segments

给我

LV      VG       Attr       #Str Type   SSize  
  lv_home VolGroup -wi-ao----    1 linear   1.36t
  lv_home VolGroup -wi-ao----    1 linear 157.78g
  lv_root VolGroup -wi-ao----    1 linear 100.00g
  lv_swap VolGroup -wi-ao----    1 linear  20.00g

sudo vgdisplay VolGroup

给我

 VG Name               VolGroup
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.63 TiB
  PE Size               4.00 MiB
  Total PE              427545
  Alloc PE / Size       427545 / 1.63 TiB
  Free  PE / Size       0 / 0   

在知道我的所有分区共享相同的卷组名称VolGroup 并且 VG 大小为 1.63 TiB 后,我尝试将lv_root空间增加 400Gib

sudo lvextend -L +400G /dev/mapper/VolGroup-lv_root

但收到此错误消息

Insufficient free space: 102400 extents needed, but only 0 available

40G 需要不同范围的相同消息。

服务器的操作系统是RHEL 6,我正在处理输入到Oracle DB的数据。

答案1

我会尽力回答你的问题,这是第一个:

显然我的 lv_root 上没有太多空间了。我跑了

[...]

这表明我还有很多可用空间(不确定我的理解是否正确)。

因此,安装在 root 上的 lv_root 卷上没有太多剩余空间:还剩 16MB,而 /home 安装卷 (lv_home) 上仍然有近 1 TB 的可用空间。带有开关“-i”的第二个命令实际上并不表示您剩余的空间,而是表示剩余空间的数量索引节点磁盘上剩余的空间,虽然它们的短缺也可能导致“设备上没有空间”消息,但这不是这里的问题。

下一期在这里:

在知道我的所有分区共享相同的卷组名称、VolGroup 和 VG 大小为 1.63 TiB 后,我尝试将 lv_root 空间增加 400Gib

VG 大小为 1.63TB,但是您不能将 400GB 分配给任何 LV,因为所有这些空间当前都已分配,如 vgdisplay 命令的最后一行返回的那样:

**免费 PE / 尺寸 0 / 0 **

您可以在 lvs--segments 命令中看到该空间的实际重新分区:

  • 1.36TB 分配给您的 lv_home
  • 157.78GB也分配给你的lv_home
  • 100GB 分配给你的 lv_root,几乎耗尽
  • 分配给您的交换区 20GB

现在要解决您的问题,您可以(至少是我想到的解决方案,并不意味着是所有解决方案):

  1. 通过删除您已经尝试过的文件来释放 / mount 中的一些空间
  2. 通过将 / 安装移动到 /home 来释放一些空间
  3. 将新磁盘添加到您的计算机,然后在其上创建新的 PV,在调整分区大小之前扩展 VG,然后扩展 LV(注意:编辑以更新有关 ignacio 的评论)
  4. 假设它是一个虚拟机,您可以:扩展磁盘,然后扩展所有底层的 PV、VG、LV 等...

相关内容