将较小的分区合并为一个大目录的推荐方法

Dav*_*wii 1 filesystems lvm unionfs

我的服务器 (/var) 上有一个特定分区,几天后就会填满。我正在运行一个繁忙的邮件服务器,所有用户邮件都在这里。

但是,现在我需要增加存储空间以容纳更多电子邮件。

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           796M  556K  796M   1% /run
/dev/sda6       254G   32G  209G  14% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M  4.0K  5.0M   1% /run/lock
none            3.9G   80K  3.9G   1% /run/shm
none            100M     0  100M   0% /run/user
/dev/sda1       188M   66M  114M  37% /boot
/dev/sda7       1.6T  1.2T  364G  76% /var
Run Code Online (Sandbox Code Playgroud)

所以一直在网上阅读了很多信息,有几个建议。

我遇到的第一个是使用 LVM 分区。所以我可以向我的服务器添加第二个 HDD,然后使用 LVM 将两个硬盘驱动器组合成一个逻辑分区。虽然我仍在阅读如何准确地做到这一点,但我读到如果一个驱动器出现故障,那么数据就会丢失,而且没有简单的恢复方法。这让我开始寻找第二种选择。

第二种是使用联合文件系统,它使我能够将多个目录合并为一个。到目前为止,我遇到过这些实现;unionfs、aufs、mhddfs 和overlayfs。在这种情况下,我可能会启动第二个 HDD 或从不太填充的分区中借用一些空间,就像我的情况根一样。

我已经在我的本地主机上试用了 overlayfs,因为它已被添加到主流 Linux 内核中。

有很多选择,我不确定我应该在生产关键邮件服务器上使用什么解决方案。我会很感激一些指针。谢谢。

Aus*_*arn 7

首先,overlay/union 文件系统在这里不是正确的答案。这些适用于您拥有包含大部分数据的只读文件系统的情况,并且需要在可写的基础上进行一些有限的自定义(例如,LiveCD 使用覆盖文件系统以允许对可写文件系统的印象甚至尽管媒体是只读的)。

LVM 几乎肯定是您想要的,而且它不一定是不可靠的(它可以通过复制进行 RAID 设置)。或者,您可以只放入一个新的(更大的)硬盘驱动器,然后放在/var上面,尽管我建议只将/var/mail您的主要邮件存储目录或其他任何内容放在其中,并将其余部分保留在原处。

在理想情况下,您应该考虑获得多个相同大小的硬盘驱动器,并在那些具有/var/mail顶部的硬盘驱动器上运行 RAID10 或 RAID5/6 ,然后努力让您的用户清理旧的电子邮件服务器(这种情况是大多数邮件提供商对服务器上的邮件存储设置上限的部分原因)。