Improve disk performance for Red Hat Enterprise Linux running in a VMware and xen environment.
ในระบบ virtualization เช่น VMWare หรือ Xen source จะมีการใช้งาน Disk ผ่านทาง Host ดังนั้นประสิทธิภาพ ในการทำงานถ้าเราให้ Host จัดการการใช้ Disk I/O ให้กับ Guest OS จะทำให้เกิด
ประสิทธิภาพมากกว่าเนื่องจากว่า Host ได้มีการรอคอยการร้องขอการใช้งาน Disk I/O อยู่แล้วและสามารถจัดสรรการใช้งาน Disk I/O ได้ดีกว่า ดังนั้นเราจะทำการเปลี่ยนค่าของ I/O scheduler ใหม่ให้กับ Guest โดยให้เซ็ตเป็น noop ซึ่ง หมายถึงว่าสามารถให้ host optimize I/O requests ได้
สำหรับ Guest Red Hat Enterprise Linux
แก้ไขในไฟล์ grub.conf
title Red Hat Enterprise Linux Server (2.6.18-8.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/vg0/lv0 elevator=noop
initrd /initrd-2.6.18-8.el5.img
และ reboot ระบบ
หลังจาก reboot เรียบร้อยจะพบว่า IO schduler เปลี่ยนไปเป็น noop เรียบร้อยแล้ว
# cat /sys/block/hda/queue/scheduler
[noop] anticipatory deadline cfq
ถ้าหากต้องการแก้ไขโดยไม่ต้อง reboot (แต่ถ้าหาก reboot ค่า setting จะกลับสู่ default อีกครั้ง) สามารถแก้ไขได้ดังนี้
รันคำสั่ง echo ตามด้านล่างเพื่อส่งค่า noop เข้าไปที่ไฟล์ /sys/block/hda/queue/scheduler
# echo 'noop' > /sys/block/hda/queue/scheduler
ตรวจสอบ IO schduler จะพบว่าเปลี่ยนเป็น noop เรียบร้อยแล้ว
# cat /sys/block/hda/queue/scheduler
[noop] anticipatory deadline cfq
หมายเหตุ
Host คือ เครื่องที่้รัน vmware หรือ xen
Guest คือ virtual machine