我有一个现有的生产服务器,它运行着 4 个驱动器,每个驱动器大小为 750 GB,分为两个软件 RAID 级别。RAID 1 用于 /boot 分区,RAID 5 用于其余分区,包括用于向网络提供文件的 /share 卷。最初没有使用 LVM,因为它似乎设置起来太复杂了。该机器目前运行在 Ubuntu 8.04 LTS 上,有可能迁移到 Ubuntu 10.04 LTS 或某种 Red Hat 衍生产品。
裸机服务器用于运行 CIFS、NFS 以及可能的 KVM。
我有 6 个新驱动器,每个驱动器大小为 2 TB,我将把它们安装到此生产服务器中,并在全新安装操作系统的情况下升级操作系统。我正在寻找有关如何选择用于新驱动器的软件 RAID 级别的建议,并可能在软件 RAID 配置中重复使用旧驱动器。以下是一些我希望得到想法或意见的其他注意事项:
- 分区应该驻留在物理驱动器上还是驻留在创建 RAID 后存在的空间内?它应该驻留在位于 RAID 配置顶部的 LVM 中吗?
- 在这种情况下,我是否应该考虑使用 RAID 6,因为会有许多文件非常重要,以至于丢失两个驱动器可能会造成严重后果?
- 我希望新驱动器运行软件 RAID 级别,然后在其上驻留一些 LVM,并在所有这些之上对数据应用某种加密。这是好主意还是坏主意?这会使以后的恢复更加困难吗?关于这种可能的设置,我还应该做点什么吗?
- 运行软件 RAID、LVM 和加密时性能是否会受到显著影响?
提前感谢您的帮助和想法。
答案1
我将按顺序回答你的问题。
o) 如果您计划重新使用旧驱动器,我会保持其原有布局(或将非启动部分从 RAID 5 更改为 RAID 6),并将跨整个磁盘的 Linux-RAID 分区放到新的 2 TB 驱动器上,并将它们制成 RAID 5 或 6。使用如此大的磁盘,您在从故障驱动器中恢复时遇到读取错误的风险相当高,因此 RAID 6 是一个非常诱人的想法。
如果您既提供文件服务又托管虚拟机,那么您可以用旧磁盘创建 RAID 10 来容纳您的系统和虚拟机(RAID 10 将为您提供更好的性能),用新磁盘创建 RAID 6 来容纳提供的文件。如果您需要的虚拟机映像空间大于提供的文件空间,那么您可以反过来做。
在 RAID 空间上,我会放置加密卷。现代发行版的安装程序使这变得简单,只需记住,如果没有人为干预(提供卷的密码),您的机器将无法重新启动。这样,即使您的数据被盗,也可以保护您的所有数据免受未经授权的访问。
下一层将是 LVM,因为它提供了灵活性,尤其是因为它允许您 fsck 只读快照并查找可能的静默数据损坏,而无需使整个系统脱机。我认为您最好使用两个卷组,一个由旧磁盘组成,一个仅由新磁盘组成,这样您就知道您可以从系统的哪些部分期待什么样的性能。如果您不关心或者它不会以任何方式相关,您可能只使用一个卷组。我喜欢将我的系统和数据分开,所以我将至少三个逻辑卷分成一个组(用于托管交换、/ 和数据),将一个逻辑卷分成另一个组(仅用于数据,在较新、较快的磁盘上)。逻辑卷是块设备,因此您可以在这些卷上直接创建文件系统。
o) 应考虑使用 RAID 6。md
如果在驱动器发生故障后重新同步阵列时遇到读取错误,将无法恢复,因此您可能需要双重保险。RAID 6 会降低您的性能,并且它不能替代备份。
o) 如果您希望在磁盘被盗/被丢弃后仍能保持数据机密性,那么加密绝对是一个好主意。由于加密相关的计算,这会降低您的性能,但是否可以接受将取决于您将拥有的负载和硬件的 CPU 能力。如果服务器位于上锁的安全房间中,那么加密可能有点过头了。如果它位于一个足够快的人可以抓住它然后逃跑的壁橱中,那么加密就是一个非常好的主意。您添加到配置中的任何层(RAID、LVM、加密)都会增加恢复的复杂性,因此您应该提前计划并准备好适当的工具。思考(不是知道) 大多数现代恢复 CD 发行版只会要求您输入加密卷的密码,我知道他们可以轻松使用 LVM 和 RAID。
o) 您已经知道软件 RAID 能带来什么样的性能——您运行一个 :)。LVM 不会带来很大的开销,而加密是 CPU 密集型的。您应该知道当前/预期的负载是否是 CPU 密集型的,并计划留出足够的空间。请记住,任何磁盘访问现在都会花费您额外的周期,包括来自虚拟机的任何 I/O。CIFS/NFS 服务器通常有足够的周期可用,我不知道您计划在虚拟机上运行什么样的负载,因此无法对此发表评论。
答案2
我会使用新磁盘进行设置,类似于您现在的设置,但有几个例外。将 2TB 磁盘分区为 RAID 1/boot
卷,其余磁盘分区为 RAID 6。如果您主要计划将其用于 CIFS/NFS 共享,那么这应该没问题,但如果您有 IO 密集型的 KVM 客户机或计划将磁盘用于其他更苛刻的用途,您可能需要重新考虑... 视情况而定。关于 RAID 6 的优点和缺点有很多讨论,但如果多重冗余是优先事项,那么它可能是一个不错的选择。但这不是没有良好备份的好理由。 请记住,RAID != 备份!
将加密卷直接放在将存储数据的 RAID 6 分区之上,使用所有可用空间。在 Ubuntu 安装程序中,所有这些都很容易,只需选择手动设置磁盘并选择将卷用于 RAID、加密、LVM 等,一步一步即可。
直接在加密卷上创建 LVM 卷组。我通常先创建 1 个组和 2 个卷,1 个用于swap
和 1 个用于/
,然后根据需要添加更多卷或组,用于共享文件、KVM 客户磁盘卷或服务器用途所需的任何其他内容。
这种方法允许您在最低级别实现 RAID 冗余、对所有非启动数据(包括交换)进行加密,以及在此基础上灵活地使用 LVM 卷来管理您的数据。可能会对性能造成一些影响,但我们经常运行这种设置(尽管主要是使用 RAID 1),并且没有任何问题……同样,这取决于您的硬件和需求。