如何设置 SSD raid 和 TRIM 支持?

Ste*_*eed 10 ssd trim raid

我正在寻找建立一个新的服务器。我只能使用 Intel 520 系列 240gb MLC ssds 或标准 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 中调用了丢弃)。

有没有人不成功?任何操作方法信息和需要注意的东西以及基本上要使用的工具等等都会有很大帮助。

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

谁能指出我正确的方向?

谢谢。

小智 5

我知道我最近对这个问题很感兴趣,但我想看看我是否可以为任何搜索的人阐明这一点。

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

“我可以 RAID SSD 并从它们启动吗”的简短回答是“是的!”。以下是14.04 的说明。12.04.x 上的 RAID 配置说明是相同的,但本教程使用 9.10有图片。以下是我必须通过个人经验发现的一些重要问题和细节:

我在 MD RAID0 配置和 SSD 友好的 Btrfs 文件系统上运行带有 3.8 内核的 Ubuntu 12.04.5。我将 fstrim 作为每周 cron 运行。

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

defaults,ssd,ssd_spread,space_cache,compress=no,noatime
Run Code Online (Sandbox Code Playgroud)

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

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

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

关于TRIM:

由于过度配置,这可以说是不必要的

14.04 是第一个启用 开箱即用 TRIM 支持的版本,但如果您使用的是内核 2.6.33+,那么在以前的发行版上启用它是微不足道的。

根据您选择的文件系统,您可以通过编辑 fstab并设置适当的挂载选项来启用修剪/丢弃。这样做与通过 cron 运行它之间的区别在于,第一个将即时修剪/丢弃,第二个将按计划一次性完成。我用第二种。

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

从阵列启动

虽然我在 ubuntu 14.04 指令的快速扫描中没有看到这一点,但我不得不创建一个额外的主分区,它不是我的 raid 阵列的一部分。磁盘 0 有一个 500mb 的 ext3fs 主分区。在安装过程中,我告诉安装程序这将被安装在“/boot”并且我设置了可引导标志。然后在此处安装引导加载程序,以便操作系统可以启动并安装 RAID。剩余的磁盘 0 空间被划分为 2 个分区,这些分区稍后用于成为“/”和“/swap”的 MD 阵列。磁盘 1 具有相同的功能,但没有引导分区。另外,我只创建了交换文件,以防我需要它,而 btrfs 不支持交换文件。这个分区永远不会挂载;安装后,我在我的 fstab 中注释掉了它。

原谅所有的编辑,只是想把它全部放在那里。


ppe*_*aki 4

答案是“视情况而定”,在主张如此不灵活的立场之前,您应该真正了解 TRIM 的作用。

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

MD RAID 需要特定的支持来转发 DISCARD 请求,而这一点直到 3.6 才被提出,因此该支持不会在精确的内核中。我刚看了,没有。

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

SSD 固然很好,但与高 RPM 磁存储结合使用时,它们最具成本效益。例如,使用 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