Migrating from NetWare to OES2 SP1 Linux in XEN VM


One of the nice things about OES2 SP1 Linux is the fact that it runs quite nicely as a para-virtualized VM in XEN.

However, one thing we noticed after migrating an NSS volume from NetWare to the OES2 XEN VM was that disk performance was terrible.

We were using raw block disks from our SAN, so we did not incur the performance penalty of using file-based disks.

However, NSS write times were nowhere near as fast as they were on NetWare.

Through much troubleshooting, we determined that it was ONLY NSS that was affected. Writing the same data to an NCP-enabled EXT3 partition in OES2 XEN did not have any issues.

Upon investigation, and an SR with Novell Technical Support, it seems that the default Linux IO Scheduler for XEN is different than on a physical host.

On a physical host, the default IO scheduler is cfq. On XEN, the virtual machine gets a default IO scheduler of noop.

To see what the scheduler is set to, use the following format, at a Linux/OES2 terminal:

cat /sys/block{DEVICE-NAME}/queue/scheduler

For example, in XEN, block devices are “xvda”, “xvdb”, etc.


cat /sys/block/xvda/queue/scheduler

The output will be (with default settings in the XEN VM):

[noop] anticipatory deadline cfq

The bracket signify which is currently being used.

To change to cfq (in my testing, this yielded the best results):

echo {SCHEDULER-NAME} > /sys/block/{DEVICE-NAME}/queue/scheduler

For example:

echo cfq > /sys/block/xvdb/queue/scheduler

(our first LUN, xvda was non-NSS, so it didn’t matter).


How To-Best Practice
Comment List
    Thanks for posting this!

    Wondering two things:
    - what drawbacks could be expected from changing the scheduler setting? (e.g. could it cause stability or performance issues with other services on the SLES/OES VM's that are tuned ?)

    - Does this apply for NSS volumes running on XEN Netware guests too? e.g. would Netware guests also benefit with setting the scheduler - and is it at all possible with Netware?

    As added note: One thing that we found also benefits performance is tunning the read-ahead values on the NSS volume itself depending on it's 'role' .