I had previously mentioned I/O problems I was having with my VMware ESX Servers. I didn’t really elaborate on the problems I was having, but having been asked, I will.
This was happening to me using ESX Server 2.x against EMC CLARiiON CX700s. It also appears to be a problem under ESX Server 3.
The problems I was having were caused by logical block addressing (LBA), a feature of the PC BIOS that reworks the disk geometry so that a disk always appears to have 1024 tracks/cylinders and 63 sectors per track/cylinder. It’s a hack around some old limits on PC hardware.
On storage attached to PCs the first cylinder is the master boot record (MBR), partition tables, etc. Because of LBA it is 63 sectors long. So when you create the first partition on a disk it starts at sector 63.
Computers, being what they are, like things that come in powers of 2. Storage arrays, being computers, like getting I/O requests in sizes that are powers of 2. Storage arrays stripe the data internally in sizes that are powers of 2. 63 is not a power of 2, and because a PC uses 63 sectors per track it causes the structures the PC uses to be misaligned with the structures the array uses. And that results in more work for the array, because each I/O request from the PC ends up straddling the stripes on the array, so it has to read twice as much stuff in (two stripes instead of one).
Continue at Source…….
[Via The Lone Sysadmin]