我公司有一台生产机器,它运行在单个 3TB 硬盘上。现在我又加了一个 4TB 硬盘。到目前为止,3TB 硬盘已经使用了 1.5 年,4TB 是全新的。
目前,我在 43 TB 的硬盘上拥有大约 1500 GB 的唯一数据(忽略备份)。我将存储来自网络上其他机器的大约 500 GB 的档案,并为 Samba 共享提供访问旧文件的功能。它不需要很快,但应该是冗余的(我拥有数据的唯一副本)。
我不知道如何组织存储以最大限度地保证现有数据的安全性。我可能在 2 年后才能为这台机器添加另一个 4 TB 的驱动器,为此做好准备会很好。
我基本上需要 3 种不同类型的存储:
- 系统 - 启动和运行生产 Linux 操作系统的地方
- 数据 - 存储当前项目和文件的地方,这些文件提供给网络上的其他用户
- 档案 - 保存旧项目的地方(最好压缩)
- 备份系统和当前数据,以防我在主池中随时意外破坏任何东西。
- 希望存档也有一些冗余(因为这些只是旧项目的副本)
我正在考虑对我的 4TB 磁盘进行分区:1 TB 用于 SWAP、GRUB 和 Linux OS,3 TB 用于 ZFS,并在整个 3TB 驱动器上添加 3TB 镜像以实现冗余。
ZFS 快照可以在某种程度上取代我通常的生产文件备份,这可能会为我节省大量空间。但是 - 如果 Zpool 出现任何问题,我就会遇到大麻烦。
我知道我可以创建单个磁盘 vdev(在 4TB 驱动器上的 3TB 分区上),然后我可以将所有数据移到那里,释放我的 3TB 驱动器。我可以在我的 4TB 磁盘的最后 1TB 中准备一个启动和交换分区(虽然现在不确定如何执行此操作),然后清除我的 3TB 驱动器,并将其作为镜像添加到我的 zpool,从而获得冗余。
这听起来是个好主意吗?
我有大约 12 年使用 Linux 的经验,我构建了自己的内核并安装了 Gentoo,我每天都会使用它进行平面设计和媒体制作工作,我在我工作的公司做一点系统管理工作,但我绝不会称自己为系统管理员。我没有太多的 ZFS 经验 - 在过去的几个月里,我主要是为了好玩而将它部署在 USB 闪存驱动器和 USB 硬盘上,并尽可能多地了解它。
另一种方法是将 4TB 驱动器仅用作带有 EXT4 + SWAP 的存档 + 备份存储(以减轻主驱动器的压力 - 在过去 1.5 年中,SWAP 有时特别磨损)。
这可能是一个更好的主意,因为它更简单,不需要我将整个系统移动到新驱动器,而且我仍然有冗余副本(尽管没有文件系统压缩或校验和)。另外,我知道 3TB 驱动器可能会先坏掉,所以我宁愿把所有东西都移到新的 4TB 驱动器上,以减轻旧 3TB 驱动器的压力,这样它就可以使用更长时间。
答案1
有几种方法可以使用第二个 4TB 驱动器。一种可能的方法就是您提到的,设置新的 4TB 驱动器,然后复制数据。但我建议采用另一种方法。
- 将所有数据从 3TB 复制到 4TB
- 将原来的 3TB 设置为使用 ZFS 启动
- 将数据从 4TB 复制回 3TB(现在使用 ZFS)
- 将 4TB 设置为 3TB 的镜像。您将失去 4TB 的 1TB 使用量,但稍后当您获得另一个 4TB 时,您可以增加 vdev
优点:
- 在操作的每一步,您的数据都处于安全状态。为了安全起见,建议您每次复制数据时都使用带有校验和标志的 rsync。
- 最后你得到了 RAID 1
缺点:
- 4TB 中会损失 1TB。您也许可以在 3TB 分区中安装 ZFS,但这会限制您以后扩展 ZFS 的能力
- 复制数据需要几轮,所以可能会花费一些时间(不过大部分是机器时间)
如果数据确实很重要,我还建议使用备份到第三个驱动器(如果有的话)或 B2 等云服务。您提到了 1500GB。看看 B2 的定价,看起来这个数据量大约是 7.5 美元。一旦您完成操作并处于最终状态(ZFS 上的 RAID 1),您可以根据需要删除 B2 上的备份(尽管继续备份可能是一个好主意)。https://www.backblaze.com/b2/cloud-storage-pricing.html
通过这个练习,最重要的是要确保你的数据是安全的。目前你只有一个驱动器,所以长期不做任何事情也不好。
使用 ZFS 可以获得快照和 RAID1,与放入第二个驱动器并仅同步到它或将其用作额外存储相比,它们非常有用。在进行备份时,快照可以节省大量空间;特别是如果您的大量数据不会发生变化。