我的 Debian 服务器上有如下磁盘:
/dev/sda1 276M 29M 233M 11% /boot
/dev/sdb1 917G 793G 79G 92% /home
/dev/sdc1 1.8T 1.7T 79G 96% /home2
/dev/sdd1 1.8T 1.7T 79G 96% /home3
是否可以/dev/sdb1
/dev/sdc1
/dev/sdd1
作为单个分区访问,以便:
一个)。我可以从单个挂载点访问它们,比如/bighome
文件自动保存在磁盘上对我的脚本透明吗?
乙)。这可以在不丢失服务器上现有数据的情况下实现吗?
a) 是的,这就是 Raid 或 LVM 条带化所做的。但是请注意,如果您构建 raid0 或 LVM 条带化并且其中一个磁盘发生故障,则其中的整个数据都将消失。为了克服这个问题,您需要冗余;突袭6将是不错的选择。但是要构建raid5,您最好让所有磁盘都具有相同的大小......
b) 不,据我所知,在创建 Raid 或 LVM 时无法保留现有数据。您需要备份它们。
是的,你可以做到。与普遍看法相反,没有必要重新格式化。
有些文件系统完全按照您的意愿行事。我记得有两个:unionfs、aufs和overlayfs。最后一个用于每个 ubuntu live/install dvd。
这些可以工作,因为它们在文件系统级别而不是块设备级别上工作。
正如已经指出的,有几种方法可以做到这一点:
联合文件系统,尽管这些通常用于相当特定的用例(即提供只读文件系统的可写版本或为慢速远程文件系统提供本地快速缓存),因此可能不适合这种情况
LVM 条带化
各种形式的RAID
其中你应该选择的是 RAID,使用 5 或 linux 的特殊 3 驱动器 RAID10(本质上是 IBM 硬件 RAID 控制器称为 RAID1E) - 这样,如果一个驱动器死了,你的数据是安全的,所以你可以插入另一个驱动并重新创建阵列。使用其他选项,如果一个驱动器遇到问题,您可能会丢失所有三个驱动器上的所有数据。RAID5 和 RAID10 之间的选择取决于系统的用途。使用 RAID5,您最终会得到一个 3.6T 的卷,但存在影响某些用例(如繁重的数据库工作)的写入性能问题,使用 3 驱动器 RAID10,您将获得相同或有时更好(对于某些写入来说要好得多)繁重的工作负载)性能,但可用空间仅为 2.7Tb。
当然,您可以使用 RAID0,但是会遇到相同的“一个死了,所有数据都消失了”的问题。
可以在不删除数据的情况下进行迁移(因为您的两个驱动器开始为空),但不建议这样做,并且仍然需要一些停机时间(或至少在数据为只读时):
(此时您可以重新启用写访问权限。)
/proc/mdstat
)一切都完成后,您将使用所有三个驱动器,并且可以防止其中任何一个在任何给定时间发生故障。在执行上述操作之前,我强烈建议确保您的备份是最新的并经过测试,以防出现问题。在这种情况下,更新和验证备份、正常构建阵列以及从最新备份重建数据可能会更快、更安全。