如何设置 SSD raid 和 TRIM 支持?

如何设置 SSD raid 和 TRIM 支持?

我想设置一台新服务器。我只能使用英特尔 520 系列 240gb MLC 固态硬盘或标准 Seagate 7200rpm 磁盘。
这些是不可协商的选项。

当然,因为这将运行 MySQL,其主要任务是 MySQL 服务器。由于最大的性能瓶颈是磁盘 I/O,我更愿意使用 SSD。

我需要接近 1TB 的磁盘空间。现在,RAID5 的性能并不理想,而且据说它不适合 SSD,所以我正在考虑使用 Raid 10(1+0) 设置,这样可以提供 720GB(240GB * 3)

我需要知道如何使用软件 raid 在 Ubuntu 12.04.01 LTS 上进行设置,并确保为 raid 配置启用了 TRIM 支持(我认为在 Linux 中称之为 Discard)。

有人没有成功完成这个吗?任何操作方法信息、需要注意的事项以及要使用的工具等都会有很大的帮助。

理想情况下,我还需要能够从 SSD raid 阵列启动。

有人能给我指明正确的方向吗?

谢谢。

答案1

我知道我对这个问题有点迟疑,但我想看看我是否可以为任何正在寻找这个问题的人提供一些启发。

首先,@ppetraki 的回答非常好。

“我可以对 SSD 进行 RAID 并从其启动吗?”的简短回答是“可以!”。以下是说明适用于 14.04。12.04.x 上的 RAID 配置说明相同,但本教程使用 9.10有图片。以下是一些我通过亲身经历发现的重要陷阱和细节:

我在 MD RAID0 配置和 SSD 友好型 Btrfs 文件系统上运行 Ubuntu 12.04.5,内核为 3.8。我每周都会运行一次 fstrim。

我的额外Btrfs 挂载选项来自 fstab:

defaults,ssd,ssd_spread,space_cache,compress=no,noatime

如果您想用作compress=noBtrfs 挂载选项,则需要 3.8 内核,并且可能还需要使用fstrim用于计划修剪的手动修剪命令。

您还必须手动对齐分区(在任何多分区设置中,无论是否为 RAID)在启动安装程序之前在 SSD 上执行此操作,因为根据 SSD 的页面大小,只有第一个分区会正确对齐(我花了一段时间才发现这一点),这可能会严重影响驱动器的使用寿命。您可以在尝试安装之前从安装程序中的命令提示符或实时 USB/光盘执行此操作。警告:自己算一下。Fdisk 会对对齐撒谎。

进一步阅读:我认为Btrfs 甚至可以创建自己的 raid 阵列

关于TRIM:

这可能是不必要的谢谢过度配置

14.04 是第一个版本使能够 开箱即用的 TRIM 支持但只要您使用内核 2.6.33+,在以前的发行版中启用它就很简单。

根据您选择的文件系统,您可以启用修剪/丢弃经过编辑你的 fstab并设置适当的挂载选项。这样做和通过 cron 运行第一个会即时修剪/丢弃,第二个会按计划一次性完成。我使用第二个。

这有关系吗?据说,在线丢弃(使用 mount 选项)实现得并不好,而且速度很慢,所以“不推荐”。我可以告诉你,当每周 cron 作业运行时,我的“hdd”(呵呵)灯会发亮 10-20 分钟,但操作系统的响应能力几乎完全不受影响。

从阵列启动

虽然我在快速浏览 ubuntu 14.04 说明时没有看到这一点,但我必须创建一个不属于我的 raid 阵列的附加主分区。磁盘 0 有一个 500mb 的 ext3fs 主分区。在安装过程中,我告诉安装程序这将安装在“/boot”上,并设置了可启动标志。然后引导加载程序将安装在这里,以便操作系统可以启动,然后安装 RAID。剩余的磁盘 0 空间分为 2 个分区,稍后用于成为“/”和“/swap”的 MD 阵列。磁盘 1 有相同的分区,但没有引导分区。此外,我只创建了交换以防万一,而 btrfs 不支持交换文件。这个分区从未安装过;安装后,我在 fstab 中将其注释掉。

请原谅所有的编辑,只是想把所有的内容都表达出来。

答案2

答案是“视情况而定”,在坚持这种不灵活的立场之前,你应该真正理解 TRIM 的作用。

http://www.spinics.net/lists/raid/msg39641.html

MD RAID 需要特定支持才能转发 DISCARD 请求,而这直到 3.6 版才被提出,因此该支持不会出现在确切的内核中。我刚查了一下,它不在那里。

https://lkml.org/lkml/2012/3/11/261

SSD 很不错,但与高转速磁性存储结合使用时最具成本效益。例如,使用 RAID 1 SSD 阵列来存储文件系统日志,而文件系统由由 15K 磁盘组成的 RAID 10 支持。

http://insights.oetiker.ch/linux/external-journal-on-ssd/

RPMS 越高,最差寻道时间越短,随机 IO 负载从高 RPM 后备存储中获益最多。SQL 可能需要大量写入,因此任何奇偶校验计算都是坏主意,例如 RAID 4 和 5。

RAID 和文件系统的组织与备用存储同样重要。

您始终可以手动修剪磁盘,每周一次就可以了,您应该在更频繁地运行之前观察性能影响。哦,它们会烧坏,所以最好估计一下您的 SSD 有多少个写入/删除周期,并一次维护 RAID 1 的一个分支。

https://wiki.archlinux.org/index.php/Solid_State_Drives#Apply_TRIM_via_cron

相关内容