如何设置SSD raid和TRIM支持?

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

有没有人没有成功? 任何howto信息和要注意的东西,基本上使用什么工具等等都会有很大的帮助。

理想情况下,我还需要能够启动SSD raidarrays。

谁能指出我正确的方向?

谢谢。

答案是“它取决于”,你应该真正理解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 SSDarrays来容纳文件系统日志,而文件系统由包含15K磁盘的RAID 10支持。

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

RPMS越高,您的最差搜索时间越低,随机IO负载从高RPM后备存储中获益最多。 SQL可以是写密集型的,因此任何奇偶校验计算都是一个坏主意,例如RAID 4和5。

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

您可以随时手动TRIM磁盘,每周都可以启动,在更频繁地运行之前,您应该观察性能影响。 哦,它们会烧坏,所以估计你的SSD有多少写/删除周期并一次为一条腿服务RAID 1是个好主意。

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

我知道我是一个约翰尼 – 最近来到这个问题,但我想看看我是否可以为任何人搜索这个问题。

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

“我可以RAID固定并从它们启动”的简短回答是“是的!”。 以下是 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 

如果要将compress=no用作Btrfs挂载选项,则可能需要3.8内核,并且可能还需要使用fstrim ,即用于调度trim的手动trim命令。

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

进一步阅读:我认为Btrfs甚至可以创建自己的raidarrays 。

关于TRIM:

由于过度供应, 这可能是不必要的

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

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

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

从arrays引导

虽然我没有在ubuntu 14.04指令的快速扫描中看到这一点,但我必须创建一个不属于我的raid数组的额外主分区。 磁盘0有一个500mb的ext3fs主分区。 在安装过程中,我告诉安装程序,这是安装在“/ boot”,我设置了可启动标志。 然后在此安装引导加载程序,以便操作系统可以启动然后安装RAID。 剩余的磁盘0空间分为2个分区,这些分区稍后用于成为“/”和“/ swap”的MDarrays。 磁盘1具有相同但没有启动分区。 另外,我只是在有需要的时候创建了交换,而btrfs不支持交换文件。 永远不会安装此分区; 安装完成后,我在我的fstab中评论了它。

原谅所有的编辑,只是试图把它全部搞清楚。