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

当您拥有LVM时,您在/ sys / block中有一个用于物理卷的调度程序条目,但也包含每个逻辑卷和原始设备的条目.

我们有一个运行Xen hypervisor 4.0(3Ware 9650 SE硬件RAID1)的Debian 6 LTS x64内核2.6.32系统.在每个逻辑卷上运行虚拟机时,如果要影响操作系统的调度方式,您需要在哪个虚拟机上设置调度程序?如果您将逻辑卷设置为截止日期,那么当物理卷设置为cfq时,它是否会执行任何操作?如果你确定它在逻辑卷上设置截止日期,那么即使磁盘因为设置为cfq的其他LV上的IO而变慢,这些截止日期也会得到尊重吗?

问题涉及虚拟机上的IO过多地降低其他虚拟机的速度.所有客人都在内部使用noop作为调度程序.

编辑:根据this,在多路径环境中,只有DM的调度程序才会生效.因此,如果我想以截止日期的方式处理虚拟机之间的IO,我必须将物理卷的DM路径(在我的情况下为dm-1)设置为截止日期.是对的吗?还有一个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,31   735,72     0,18    4,73   0,84   3,23

那么,什么是什么,谁是老板?如果它是sdc,我可以告诉你,将其设置为截止日期并不会影响我的VM的性能.看看’请求合并’列(前两个)中的差异,我会说它是控制调度的dm-1.

解决方法

嗯,Debian ……

好吧,我可以分享Redhat如何通过他们的tuned framework来解决这个问题.有“虚拟主机”和“虚拟客户”的配置文件. profile descriptions are explained in detail here和以下摘录显示了哪些设备受到影响. “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 DebianUnderstanding RedHat’s recommended tuned profiles

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


查找全部容器的日志文件 $ sudo find /var/lib/docker/containers -name *.log 查看日志位置 $ docker inspect --format='{{.LogPath}}' <container_name> 实时查询内容 $
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型
评估Linux系统性能的ttyload工具使用效果
分享在Linux系统中检测SSH版本的方法
介绍Linux平台上的数据加密工具EncryptPad
在Linux系统中,如何查看和诊断块设备信息?
在Linux环境下如何查看块设备信息?
探索Linux操作系统下的数据加密工具EncryptPad
学会在Linux系统中查看硬盘信息
分析SELinux:原理与实践
掌握SELinux策略类别
技巧:有效解读和管理Linux日志文件
查看Linux系统中的所有用户
了解Linux系统中各种不同类型的日志文件
深入理解Linux PS命令
方法:在Linux操作系统中查看用户