Recent advances in virtualization technologies make the VM (Virtual machine) based server consolidation attractive for reducing cost and improving efficiency in enterprise computing. However, on a Xen-based platform, the I/O performance of a VM degrades significantly as the degree of consolidation increases, even if the VM is configured to have enough CPU share. This paper analyzes this phenomenon and identifies the reason as the mismatch between the CPU scheduler of Xen and its I/O architecture. We therefore present four enhancements for the CPU scheduler, including preempt-back, no-preemption of driver domain, block-bonus, and more fine-grained accounting. These enhancements are applied into our newly developed I/O-friendly CPU scheduler, namely Credit-HC (Credit-based high-consolidation-oriented) scheduler. The evaluation results show that with Credit-HC, one VM's I/O performance is nearly irrelevant to other domains' CPU workload, while the overhead is negligible. Moreover, the fairness of CPU share is kept as well.