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 / 问题 / 660575
Accepted
Halfgaar
Halfgaar
Asked: 2015-01-20 01:52:01 +0800 CST2015-01-20 01:52:01 +0800 CST 2015-01-20 01:52:01 +0800 CST

在 LVM 上更改哪个调度程序以使虚拟机受益

  • 772

/sys/block当您拥有 LVM 时,您的物理卷、每个单独的逻辑卷和原始设备都有一个调度程序条目。

我们有一个运行 Xen 管理程序 4.0(3Ware 9650 SE 硬件 RAID1)的 Debian 6 LTS x64、内核 2.6.32 系统。在每个逻辑卷上运行虚拟机时,如果您想影响操作系统如何调度虚拟机,您需要在哪个逻辑卷上设置调度程序?如果将逻辑卷设置为deadline,那么当物理卷设置为 时,它还会做任何事情cfq吗?如果您确实在逻辑卷上设置了截止日期,即使磁盘由于其他 LV 上的 IO 设置为而变慢,这些截止日期也会得到遵守cfq吗?

问题与虚拟机上的 IO 相关,导致其他虚拟机的速度过慢。所有客人都在内部使用 noop 作为调度程序。

编辑:据此,在多路径环境中,只有 DM 的调度器才会生效。因此,如果我想以某种deadline方式处理虚拟机之间的 IO,我必须将物理卷(在我的情况下为 dm-1)的 DM 路径设置为deadline. 那正确吗?还有一个sdc的调度器,就是我的dm-1原来的块设备。为什么不应该这样做呢?

edit2:但是后来有人在评论中说 dm-0/1 在较新的内核中没有调度程序:

famzah@VBox:~$ cat /sys/block/dm-0/queue/scheduler
none

在我的系统(Debian 6,内核 2.6.32)上,我有:

cat /sys/block/dm-1/queue/scheduler 
noop anticipatory [deadline] cfq

还有一个问题,我有多路径设置吗?pvs显示:

# pvs
PV         VG                 Fmt  Attr PSize PFree
/dev/dm-0  universe           lvm2 a-   5,41t 3,98t
/dev/dm-1  alternate-universe lvm2 a-   1,82t 1,18t

但它们是用 /dev/sd[bc] 创建的。这是否意味着我有多路径,即使它是标准的 LVM 设置?

我想,主要问题是我必须在 sdc 或 dm-1 上设置调度程序吗?如果我执行 iostat,我会看到两者都有很多访问权限:

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sdc               0,00     0,00   13,02   25,36   902,71   735,56    42,68     0,08    2,17   0,73   2,79
dm-1             82,25    57,26   12,97   25,36   902,31   735,56    42,72     0,18    4,73   0,84   3,23

那么,什么是什么,谁是老板?如果是 sdc,我可以告诉你,将其设置为截止日期对我的虚拟机的性能没有任何影响。查看“请求合并”列(前两个)的差异,我会说控制调度的是 dm-1。

linux
  • 3 3 个回答
  • 5555 Views

3 个回答

  • Voted
  1. Best Answer
    Halfgaar
    2015-01-20T22:30:34+08:002015-01-20T22:30:34+08:00

    因此,答案很简单:底层设备。/sys/block/*/queue/scheduler当没有调度程序要配置时,较新的内核只有“无” 。

    但是,由于我不知道的原因,该服务器上的设备被创建为多路径设备,因此我在过去对调度程序的摆弄/dev/sd[bc]从未做过任何事情。现在我用and (比正常严格得多)设置dm-1and到最后期限,结果看起来非常好。dm-0read_expire=100write_expire=1500

    此图显示了对虚拟机中磁盘延迟的影响,这是由另一个具有每小时任务的虚拟机引起的:

    磁盘延迟超过 24 小时(以毫秒为单位)

    您可以清楚地看到我更改调度程序参数的那一刻。

    • 2
  2. ewwhite
    2015-01-20T04:47:00+08:002015-01-20T04:47:00+08:00

    嗯,德比...

    好吧,我可以分享 Redhat 如何使用他们的调整框架来解决这个问题。有“virtual-host”和“virtual-guest”的配置文件。配置文件描述在此处进行了详细说明,以下摘录显示了哪些设备受到影响。“dm-*”和“sdX”设备的调度程序已更改。

    # This is the I/O scheduler ktune will use.  This will *not* override anything
    # explicitly set on the kernel command line, nor will it change the scheduler
    # for any block device that is using a non-default scheduler when ktune starts.
    # You should probably leave this on "deadline", but "as", "cfq", and "noop" are
    # also legal values.  Comment this out to prevent ktune from changing I/O
    # scheduler settings. 
    ELEVATOR="deadline"
    
    # These are the devices, that should be tuned with the ELEVATOR 
    ELEVATOR_TUNE_DEVS="/sys/block/{sd,cciss,dm-,vd,zd}*/queue/scheduler"
    

    另请参阅:
    CentOS Tuned Equivalent For Debian和了解 RedHat 推荐的调整配置文件

    • 1
  3. c4f4t0r
    2015-01-20T05:03:13+08:002015-01-20T05:03:13+08:00

    正如 vmware 建议的那样,最好使用 noop 调度程序,如果您的客户使用文件作为虚拟磁盘,这样您的客户直接将 IO 传递给您的主机,而无需在您的客户和物理主机中重新组织两次 IO

    • 0

相关问题

  • Linux 主机到主机迁移

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

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

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