![Ubuntu — 在相同的两个驱动器上可以对 raid0 和 raid1 进行设置吗?](https://linux22.com/image/1459770/Ubuntu%20%E2%80%94%20%E5%9C%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E4%B8%A4%E4%B8%AA%E9%A9%B1%E5%8A%A8%E5%99%A8%E4%B8%8A%E5%8F%AF%E4%BB%A5%E5%AF%B9%20raid0%20%E5%92%8C%20raid1%20%E8%BF%9B%E8%A1%8C%E8%AE%BE%E7%BD%AE%E5%90%97%EF%BC%9F.png)
我正在构建家用 Ubuntu 14.04 服务器,刚刚安装了两个 3TB 驱动器用于存储文件和媒体。该机箱(HP DC7900 SFF)使用 Intel Matrix RAID,根据维基百科,它既不是硬件 RAID 也不是软件 RAID,而是固件 RAID。我打算在每个驱动器上安装两个分区(总共四个),并使用每个驱动器的一个分区镜像(RAID1,~2.5TB)文件,并使用其他两个分区条带化(RAID0,~1TB)媒体,总共 ~3.5TB。
另一个选择是对两个驱动器进行镜像/RAID1,因此总计较少约为 3TB。
如果我们正在流式传输电影、听音乐和读取/写入文件,第一个 RAID0 和 RAID1 配置是否会为我们提供最佳性能,还是直接使用 RAID1 会更快?我知道如果每个分区都在自己的磁盘上,速度会更快,但不知道我建议的配置是否存在性能问题。我喜欢从第一个配置中获得的额外 0.5TB,但很乐意放弃它以获得更好的性能。我需要冗余,所以全部使用 RAID0 不是一个选择。
答案1
好吧,同时使用 RAID1 和 RAID0(RAID10)会比只使用 RAID1 更快,但这至少需要 4 个驱动器。除非您想购买更多驱动器。坚持使用 RAID1,它可以提供镜像,但不会提高性能。
答案2
尽管你提出的建议会工作,这没有多大意义。
首先,我提出一个更好的解决方案:使用三3TB 驱动器并执行 RAID5。RAID5 为您提供冗余和速度。它允许任何单个驱动器丢失,同时在其降级状态下仍能运行。RAID5 还可以提高性能,因为数据会按顺序写入每个驱动器。这为您提供了 6TB 更快、更冗余的数据。
现在,让我们谈谈您的解决方案。由于您没有提到任何硬件,我只能假设您使用的是软件 RAID。软件 RAID 确实提供了冗余,但它们带来的性能提升很小,因为计算机正在执行 RAID 计算。除此之外,您还在两个磁盘上创建两个卷。同样,您的方法可以奏效,但如果您决定同时观看电影和使用文件,那么您的磁盘就会受到严重影响,性能会大幅下降。
答案3
由于您正在谈论分区上的 RAID,我假设您一定在谈论软件 RAID(Ubuntu 上的 mdadm)。
通常,媒体文件往往很大,不适合在操作系统级别进行缓存。因此,为了能够使用媒体,您需要能够读取尽可能多的数据,而不会产生不必要的磁头移动。但您需要从两个磁盘读取数据。(RAID0)。
如果您现在开始读取或写入数据区域,您的磁头将在一个磁盘(媒体文件所在的磁盘)的两个分区之间移动。您很可能从镜像数据中获得速度优势,但如果您正在读取的媒体文件部分恰好位于该磁盘上,则磁头将远离数据分区并需要移回。
因此,如果您同时使用这两个分区,您的磁盘将会非常努力地跟上。
大磁盘缓存可能会有所帮助,但媒体文件往往很大。因此,这将是一场读取媒体文件与读取/写入数据的竞赛,同时还要努力让两个不同的操作顺利进行。
由于您需要 1TB 不受保护的磁盘,因此如果可能的话,您不妨使用第四个 1TB 磁盘。
另一个选择是对两个驱动器进行镜像/RAID1,因此总计较少约为 3TB。
这可能是一个更好的选择。如果您使用两个目录,例如 /disk2/data 和 /disk2/media,您将共享可用空间。(通常人们倾向于过度指定。)
此外,您还可以将 RAID1 磁盘放入 LVM 中,从而享受未来轻松扩展的好处。它还允许灵活地增加/缩小卷和迁移数据,同时在需要时为数据和媒体保留两个单独的挂载点,所有这些都使用一个 RAID1 卷。