硬盘重新分区

硬盘重新分区

星期六我必须重新分区我的硬盘。在我的服务器上,我有 72GB 硬盘空间,这并不是很多。

目前我的系统分区如下:

分区大小:

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_web-lv_root
                       50G  5.8G   41G  13% /
tmpfs                 1.9G   16K  1.9G   1% /dev/shm
/dev/cciss/c0d0p1     485M   93M  367M  21% /boot
/dev/mapper/vg_web-lv_home
                       14G  8.7G  4.1G  68% /home

索引节点:

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/mapper/vg_web-lv_root
                        3.2M    125K    3.1M    4% /
tmpfs                   179K       5    179K    1% /dev/shm
/dev/cciss/c0d0p1       126K      50    125K    1% /boot
/dev/mapper/vg_web-lv_home
                        869K    559K    311K   65% /home

我想将 /home 目录增加 ± 20 - 30 GB,并减少根目录 (/)。

在我擦除包含 340.000 个文件的目录之前,我的服务器确实已经耗尽了 Inode。我每天收到 ± 15.000 个 1kb 的小文件。

现在我想确保周六不会遇到任何问题。我应该重新安装/格式化硬盘并重新安装系统吗?或者我应该对硬盘重新分区以及如何执行此操作?

答案1

您无需重新安装/格式化硬盘。

这个问题的答案取决于文件系统 - 具体来说,如果您的文件系统支持在线调整大小。我假设您在所有分区上都使用 ext3/ext4,但如果没有,您将必须使用更多详细信息编辑您的问题。

由于我们必须减少根分区,因此您需要使用 Live CD 或救援 CD 来启动系统,例如。系统救援光盘

注意:尝试此操作之前,请备份所有重要数据。始终假设调整分区大小时可能会丢失所有数据。

这是将分区从 50 GB 减少到 30 GB 的示例。

缩小文件系统,然后是 LVM

检查文件系统。如果此操作失败或出现错误,您应该重新启动到 Live CD 并修复您的文件系统,然后继续此处。

确保应卸载该分区

# umount /dev/mapper/vg_web-lv_root 

然后检查文件系统

# e2fsck -yc /dev/mapper/vg_web-lv_root 

调整文件系统的大小。 (50 GB - 20 GB,最终卷 30 GB)

# resize2fs  /dev/mapper/vg_web-lv_root 20G

减小逻辑卷的大小。

# lvreduce -L 20G /dev/mapper/vg_web-lv_root

扩大其他文件系统和 LVM 卷

我们将添加 20G,因为这是我们从根文件系统中删除的数量。

# lvextend -L +20G /dev/mapper/vg_web-lv_home 
# resize2fs /dev/mapper/vg_web-lv_home

答案2

添加大小也会增加一些 inode,但不会改变 inode 与空间的比率。如果您存储大量小文件,将来可能会再次耗尽 inode,因此您可能需要使用更高的 inode 与空间比率来备份和重新格式化该卷。另外,如果您有那么多 1kb 文件,您可能需要使用不同的文件系统,因为 ext[234] 将分配至少 4k,每个文件浪费 3k。作为替代方案,如果您运行的最新内核能够在 inode 中内联文件数据,则可以为这些具有非常高的 inode 空间比和 2k inode 大小的 1k 文件专用一个 fs。这也将提高性能,因为它消除了索引节点和数据块之间的查找。

相关内容