AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 449088
Accepted
Devator
Devator
Asked: 2012-11-16 08:22:02 +0800 CST2012-11-16 08:22:02 +0800 CST 2012-11-16 08:22:02 +0800 CST

使用 FlashCache 改善 IO

  • 772

我有一台带有 2 个硬盘驱动器 (2x 1 TB) 的服务器,在 RAID 1 (SW-RAID) 中运行。我想通过使用flashcache. 上面有正在运行的 KVM 虚拟机,使用LVM.

对此,我有以下问题:

  • 这会起作用吗?flashcache适用于块设备,但是这些都是具有自己设置的虚拟机。
  • 我希望提高性能多少?大多数虚拟机运行网站和一些主机游戏。
  • SSD需要多大?由于能够缓存更多文件,拥有更大的 SSD 会提高性能吗?
  • 如果 SSD 死机会怎样?会flashcache从传统 HDD 检索文件,我可以简单地更换 SSD 吗?
  • 与和writeback相比会快多少?writethroughwritearound

不幸的是,我无法访问测试系统,所以我可以flashcache在不卸载磁盘的情况下安装在实时服务器上吗?我在这里找到了一个很棒的教程,我将使用它。

centos
  • 4 4 个回答
  • 7429 Views

4 个回答

  • Voted
  1. Best Answer
    sysadmin1138
    2012-11-19T07:30:56+08:002012-11-19T07:30:56+08:00

    对于那些以前没有见过它的人来说,Flashcache 是一种使用 SSD 驱动器扩展 Linux 块缓存的方法。它比运行仅具有半 TB RAM 的服务器用于缓存要便宜。

    这会起作用吗?

    它应该。Linux 块缓存通过缓存访问的块而不是文件来工作。只要您不让 KVM 机器直接访问块设备(您没有),Linux 块缓存就会发挥作用。但是,如果您让KVM 机器直接访问块设备,答案就不太清楚了。

    如果您使用的是文件支持的虚拟磁盘,它肯定会起作用。

    如果您使用的是 LV 支持的虚拟磁盘,我不知道。

    我希望提高性能多少?

    这是我们无法回答的。这取决于多种因素。概括地说,将 SSD 的大小设置为大于活动块集时,您将获得最佳性能。如果您获得完美的缓存,您的性能将类似于在 SSD 上运行整个系统。你会有效地做。

    SSD需要多大?

    找出您需要的确切尺寸是我们无法帮助的。显然,越多越好,但找到高速缓存 SSD 和主存储之间的确切比例并不是一件简单的事情。

    使这变得复杂的是写入设置为立即刷新,例如某些文件系统操作和某些数据库配置。这些写入只会被短暂缓存,它们的性能不会因闪存缓存的存在或不存在而受到任何影响。

    如果 SSD 死机会怎样?

    当您告诉 Linux 删除高速缓存但有一点不同时,也会发生同样的事情。使用丢弃缓存,块缓存中任何未刷新的写入都将刷新到磁盘。SSD 消失时会发生什么取决于缓存模式:

    Writethrough:所有写入都并行写入缓存和主存储,因此 SSD 突然丢失导致 VM 出错的可能性非常小。

    Writearound:所有写入都写入主存储,仅在读取时缓存。VM 中不会出现错误。

    Writeback:所有写先到Cache,在后台写入主存。如果 SSD 出现故障,最有可能在您的虚拟机中导致错误,我不会在生产中使用这种模式。

    与 writethrough 和 writearound 相比,writeback 会快多少?

    取决于你写了多少。如果您的写入周期性地使您的主存储饱和,则性能提升可能相当显着。如果您主要是阅读和写作,您可能不会注意到改进。

    此外,写回对于你正在做的事情来说是一个糟糕的政策,所以不要使用它。

    • 18
  2. Pierre Carrier
    2012-11-21T17:30:20+08:002012-11-21T17:30:20+08:00

    是的,只要您使用正确的块设备,它就可以正常工作。还有一个窍门。

    当 LVM 扫描 PV 时,它应该通过实际硬盘驱动器本身以及闪存缓存“虚拟”设备查看分区。

    一个明显的症状应该是 LVM 工具抱怨重复的 PV。

    为了避免这些警告,更重要的是,确保 LVM2 使用 flashcache 设备的修复是调整/etc/lvm/lvm.conf.

    联机帮助页会比我更好地解释它,LVM.CONF(5)但我会给你一个例子,如果所有物理卷都由闪存缓存支持:

    filter = [ "a/.*dm.*/" ]
    
    • 4
  3. Christian
    2012-11-24T17:04:25+08:002012-11-24T17:04:25+08:00

    还有来自 lessfs 创建者的层。这将允许您在 SSD 和 HDD 之间创建混合设备。tier 的性能似乎优于 Flashcache。

    http://www.lessfs.com/wordpress/

    http://www.lessfs.com/wordpress/?p=776

    //基督教

    • 2
  4. Tagar
    2013-10-22T20:13:40+08:002013-10-22T20:13:40+08:00

    一些应用程序以非缓冲方式打开文件。

    http://man7.org/linux/man-pages/man2/open.2.html

    O_DIRECT(自 Linux 2.4.10 起)尽量减少进出该文件的 I/O 的缓存效应。通常这会降低性能,但在特殊情况下很有用,例如当应用程序进行自己的缓存时。文件 I/O 直接从用户空间缓冲区完成。O_DIRECT 标志本身努力同步传输数据,但不提供 O_SYNC 标志保证传输数据和必要的元数据。为了保证同步 I/O,除了 O_DIRECT 之外,还必须使用 O_SYNC。请参阅下面的注释以进行进一步讨论。

    例如,这对于数据库来说很常见。因此,请仔细检查 flashcache 是否适用于这组应用程序。

    • 1

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve