我的 ISP 有一台装有 6 个硬盘(3TB+3TB+3TB+2TB+2TB+1TB)的机器,我们想将其变成本地用户的 FTP/下载服务器。我计划在其中一个 2TB 上安装 CentOS 6.5,其余空间将用于下载大文件。考虑到我们目前没有大小相同或卷数相同的硬盘,并且硬盘大小可能会进一步升级,系统的最佳分区方案是什么(LVM/软 RAID/组合)?如何实现最佳安排?
请重点关注以下几点:
a. 镜像或数据检索在这里并不重要
b. 性能和硬盘速度是主要关注点
c. 1TB HDD 可能会在未来几个月内升级
d. 至少有 400 个 LAN 用户同时从此类服务器下载内容
e. 没有可用的硬件 RAID 控制器
提前感谢您的合作!
答案1
为了获得最佳速度并尽可能地扩展,我会使用 3TB+3TB RAID0、2TB+2TB RAID0 作为 JBOD 连接md
(这将创建一个 10TB 驱动器)。我会等待 1TP 升级到 3TB,然后将 3TB+3TB RAID0 添加到 JBOD(这样就变成 16TB)。这样速度会比单个驱动器快两倍。
如果您首先等待 1TB->2TB 升级,则另一种设置会更快:RAID0(JBOD(3+2)+JBOD(3+2)+JBOD(3+2))。这将是 15TB,比单个驱动器快 3 倍。
但是如果没有冗余,那么所有硬盘都会死掉,而且第一个硬盘死掉后就没有恢复的机会了。因此,合理的设置应该是:
JBOD(RAID5(3TB+3TB+3TB),degradedRAID5(2TB+2TB)),升级后 1TB=>2TB 将是 JBOD(RAID5(3TB+3TB+3TB),RAID5(2TB+2TB+2TB))。这将为您提供具有冗余的 10TB,具有快速读取(单驱动器速度的 3 倍)和慢速写入(比单驱动器稍慢)。
答案2
我支持 LVM。LVM 允许您在运行过程中相当轻松地对磁盘进行条带化、调整大小以及添加和删除磁盘。如果您的系统具有热插拔托架,则可以在零停机时间内完成这些升级。
答案3
LVM 增加了很多灵活性,而且没有性能成本,使用它是轻而易举的事。
虽然您不想在备份上花费空间(这会占用一半的空间),但使用 6 个磁盘确实存在很高的磁盘故障风险,因此您需要某种形式的冗余(用于正常运行时间,而不是时间点恢复)。您可以使用类似 raid 的技术来实现这一点,无论是 Linux 的 raid(与 LVM 集成) 或 Btrfs。首选的 raid 级别取决于您喜欢的读取性能、写入性能和正常运行时间。Btrfs 的一个有趣特性是您可以使用针对数据和元数据的不同 raid 级别. 由于元数据具有更高的冗余度,某些故障可能会在大型文件中留下大洞,但仍能保持文件系统的完整性,并且不会影响一部分小文件。
答案4
考虑到您列出的要求,我将使用以下设置:
阵列 1- RAID0(3x3TB 磁盘)
这将产生 9TB 的存储空间。请记住,如果此阵列中有一个磁盘发生故障,您的数据将丢失。但是,您确实指出,您并不关心数据是否可检索,但性能很重要,因此这会抛开所有谨慎,让您以最少的保护获得最佳性能。
阵列 2- RAID1(2x2TB 磁盘)
我会将其用作您的备份存储以及操作系统安装。您确实打算进行备份,对吗?
需要注意以下几点:
使用CentOS 分区管理器配置 RAID 配置事先的安装操作系统。
这是一个有风险的配置。 如果 ISP 不愿意花钱购买建立文件服务器所需的硬件,我会感到非常惊讶。你应该有相同的磁盘、合适的存储控制器和某种类型的DAS 外壳。