![如何使用 2 个 SSD 磁盘以获得最佳性能?](https://linux22.com/image/581572/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%202%20%E4%B8%AA%20SSD%20%E7%A3%81%E7%9B%98%E4%BB%A5%E8%8E%B7%E5%BE%97%E6%9C%80%E4%BD%B3%E6%80%A7%E8%83%BD%EF%BC%9F.png)
我将格式化 2 个 120GB Intel 320 SSD,用于高流量 Drupal 服务器。该服务器有 Xeon E1270 CPU 和 32GB RAM。我使用的是 Debian Squeeze 64 位。以下是我的问题:
- 在这种情况下哪种文件系统格式最适合:ext3、ext4、xfs 还是其他?
- 我倾向于不使用 RAID 1。将一个磁盘格式化为专用于 mysql,将另一个磁盘格式化为文件系统的其余部分。我认为这将最大限度地减少磁盘 i/o 延迟,并减少写入周期,从而提高磁盘的整体使用寿命。您如何评价这种方法?
答案1
在这种情况下哪种文件系统格式最适合:ext3、ext4、xfs 还是其他?
最有可能的是 ext4 或 xfs。以每种方式格式化并测试您的工作负载。
我倾向于不使用 RAID 1。
如果你根本不在乎可用性,那也没关系。如果你在乎,我会重新考虑这个方法。
将一个磁盘格式化为专用于 mysql,另一个磁盘格式化为文件系统的其余部分。我认为这将最大限度地减少磁盘 i/o 延迟,并减少写入周期,从而提高磁盘的整体使用寿命。您如何评价这种方法?
如果运行在此服务器上的唯一服务器进程是 mysql,则将其运行在单独的磁盘上没有太多好处。如果服务器还运行 apache 和其他进程,则这样做更有意义。将其放在单独的物理磁盘上会略微提高性能,但老实说,我十有八九会将磁盘运行在 RAID 1 中。
不过,说真的。如果你对服务器的用户有一点点关心,那么不运行 RAID 就是疏忽了。请这样想:
您多久备份一次?如果是每天备份一次,想象一下在下一个备份窗口之前磁盘坏了。您的用户对失去一天的工作成果会作何反应?
现在想象一下,你需要 4-6 小时才能从备份中恢复、测试并恢复所有内容。现在你的用户已经失去了一天的工作成果和一天中的大部分时间都无法使用服务器。
它真的值得为此多付出一点性能吗?可能不值得。
如果您确实想要分离您的数据库,请再购买两个 SSD 并运行两个 RAID 1 或一个 RAID 10。
答案2
答案3
有了两个磁盘,你可以选择 Raid 1(镜像)或 Raid 0(条带化)。当然,为了提高性能,你会选择 Raid 0 而不是 Raid 1。实际上这里有一个涵盖所有 RAID 的 wiki,我会查找并为你提供链接。绝对肯定您有某种备份系统来获取数据的镜像种子。如果您丢失了一个磁盘(在 raid 0 中),您将失去所有数据。
对于文件系统,你可能应该使用 EXT4。下面是关联其中一些 Linux 文件系统相互进行了基准测试。