AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 41904
Accepted
Daniel Huckstep
Daniel Huckstep
Asked: 2009-07-17 15:09:40 +0800 CST2009-07-17 15:09:40 +0800 CST 2009-07-17 15:09:40 +0800 CST

卷组空间不足。我该如何收回它?

  • 772

长话短说,有一个空间不足的 SVN VM(vmware 服务器)。我不能提交,因为它说空间不足。VM 有一个 80GB 的虚拟驱动器 (hda)、一个 /boot 分区和一个用于 / 的大 VG (VolGroup00)

我正在从磁盘归档和删除旧的 SVN 存储库,但我没有得到可用空间。我需要做什么才能让这个空间重新可供使用?我几乎在所有事情上都使用 Linux,但从来没有真正使用过 LVM 来了解发生了什么。

vg显示输出:

--- Volume group ---
VG Name               VolGroup00
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               74.41 GB
PE Size               32.00 MB
Total PE              2381
Alloc PE / Size       2380 / 74.38 GB
Free  PE / Size       1 / 32.00 MB
VG UUID               dPSZpL-kFBn-HpkH-ChfO-dw9q-YGg2-qHOiQF

从昨天开始,空间已经被释放...

df -h 的输出

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       72G   67G  959M  99% /
/dev/hda1              99M   15M   80M  16% /boot
tmpfs                  62M     0   62M   0% /dev/shm

lvs的输出

LV       VG         Attr   LSize  Origin Snap%  Move Log Copy% 
LogVol00 VolGroup00 -wi-ao 73.38G                              
LogVol01 VolGroup00 -wi-ao  1.00G

有些东西看起来仍然很奇怪,因为它说 959M 可用,但 67G 与 72G 大小一起使用......

所以我现在从删除存储库中恢复了空间......然而,宇宙中的平衡还没有恢复......

linux lvm svn
  • 4 4 个回答
  • 20235 Views

4 个回答

  • Voted
  1. Best Answer
    womble
    2009-07-17T15:53:44+08:002009-07-17T15:53:44+08:00

    删除文件不会更改逻辑卷的大小(并且,通过扩展,不会影响卷组上的可用空间)。

    您可以将卷组视为“虚拟磁盘”,并将其上的逻辑卷视为分区,但比常规分区更易于使用(调整大小、创建、删除)。

    正如卡米尔所说,如果您在工作时遇到“空间不足”错误,那么直接出错的不是 LVM - 这是一个简单的文件系统错误,您可以确定哪个文件系统空间df -h不足,并删除足够的东西该文件系统最终将为您提供更多空间。但是,对于 LVM,如果您的文件系统有大量可用空间而另一个没有,您可以使用大量可用空间缩小 LV,然后将该空间分配给空间不足的 LV,从而使用您的更有效地分配磁盘。

    收缩和扩展文件系统的过程有点冒险(所以有备份),收缩阶段必须在未挂载的文件系统上完成(所以下降到单用户模式很好,你不能收缩根文件系统;如果你的文件系统支持它(XFS、reiser、最近的ext2/3)可以做在线扩展)。一般来说,流程是:

    1. 将您要从中删除空间的文件系统缩小到比您希望它最终的大小小一点(使用类似的东西resize2fs /dev/mapper/VolGroup00-largeLV xG)。将它缩小到更小的原因是因为如果你的数学错误并且将 LV 缩小到小于文件系统,你就会把它塞满。
    2. 将要从中删除空间的 LV 缩小到所需的大小 ( lvresize -L xG VolGroup00/largeLV)
    3. 将该 LV 上的文件系统增加到 LV 的新大小:resize2fs /dev/mapper/VolGroup00-largeLV
    4. 将太小的 LV 变成新的、更大的尺寸:lvresize -L+nG VolGroup00/smallLV
    5. 将太小的 LV 上的文件系统扩展到新的更大的大小:resize2fs /dev/mapper/VolGroup00-smallLV

    你现在应该到处都有足够的空间。

    一些提示:

    • lvs将列出您所有的 LV,以及它们的大小
    • vgs将让您快速显示所有 VG 的尺寸和可用空间
    • 如果您的交换是在 LVM 上,那么如果机器工作不太忙,那通常是获得一些临时可用空间的好地方。

    祝你好运!

    • 9
  2. Matt Simmons
    2009-07-17T19:14:51+08:002009-07-17T19:14:51+08:00

    /dev/sda 是本地的还是在 SAN 上?如果它在 SAN 上,那么就有希望。如果它是本地的,并且正在使用所有可用空间,那么您将不得不通过删除文件来释放一些磁盘空间。

    更新问题并让我们知道状态是什么。

    编辑

    啊,是虚拟机!你很幸运(如果主机上有可用空间,无论如何)。

    在 VM 管理器中创建另一个与您希望的可用空间一样大的虚拟磁盘。然后将该磁盘映像呈现给 VM。

    确保 VM 看到它(使用 dmesg 查看它是否显示)。假设它是,fdisk 它,并创建一个分区。

    问题

     pvcreate /dev/whatever1  
    

    “无论如何”显然是设备。可能是sdb。1 是您刚刚创建的分区。制作这个物理卷应该没有问题。

    现在,运行

     vgextend VolumeGroupName /dev/whatever1 
    

    您可以使用 vgdisplay 来验证卷组现在是否有可用空间。现在,增加逻辑卷:

     lvextend -l +100%FREE 
    

    这应该扩展逻辑卷以填充卷组。

    现在是棘手的部分。假设你有一个 ext3 文件系统,你应该能够实时调整大小:

     resize2fs /dev/volgroup/logicalvolume 
    

    (其中 volgroup 和 logicalvolume 是安装在 / 上的任何内容的实际路径)

    它会说自从安装卷以来它正在进行实时调整大小,瞧,运行 df -h 应该显示您有可用空间。

    • 2
  3. Kamil Kisiel
    2009-07-17T15:30:25+08:002009-07-17T15:30:25+08:00

    卷组上的可用空间量不会改变。它全部由您格式化它的文件系统分配。删除文件只会从文件系统中删除它们的 inode 条目,但文件系统仍会占用空间。

    回收卷组中空间的唯一方法是调整逻辑卷的大小或删除逻辑卷。

    但是,您所描述的内容听起来就像您的磁盘空间不足。您应该检查df -hVM 中的输出,并查看存储库所在的卷上有多少可用空间。

    • 1
  4. Boes
    2009-07-18T00:01:16+08:002009-07-18T00:01:16+08:00

    尝试重新启动您的 SVN 服务器。如果删除文件没有释放空间,那么它们一定仍在以某种方式使用。活动日志也会发生这种情况。我曾经有一些日志以每小时 10 mb 的速度增长,所以很快我就不得不删除日志,但是直到我重新启动涌入该日志的守护程序后它才释放空间。

    编辑:我查了一下为什么会这样。似乎 linux/unix 引用计数文件,因此它们可以被删除,直到它们被所有打开它们的进程释放。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve