Greetings. After creating a VMFS datastore on a FreeBSD 8.0 system ISCSI target, the target machine complains that:
partition 1 does not start on a track boundary
If it's relevant, the ISCSI machine uses the istgt port, and also uses ZFS filesystems.
I suspect the error is related to the fact that the ZFS partition starting block is 8388770, which is not an integer multiple of either 4 or 64 (I think VMFS wants 64-kbyte blocks).
I can delete and recreate the VMFS datastore. How can I ensure it is aligned with the underlying ZFS filesystem?
thanks
An update: I've rebuilt the iSCSI box to use partition boundaries that are multiples of 64, but still get the same alignment errors after formatting the partition as VMFS:
Apr 30 12:43:02 bettini kernel: GEOM: zvol/tank/bettini0: partition 1 does not start on a track boundary.
Apr 30 12:43:02 bettini kernel: GEOM: zvol/tank/bettini0: partition 1 does not end on a track boundary.
This error message occurs only AFTER I format the datastore in VMFS format.
I'm aware from the VMware documentation that misalignment may significantly degrade I/O throughput and increase latency.
Thanks in advance for clues on getting VMFS to align correctly.
Interesting, thanks. I have not tried 128, but the document you cited suggests 128 only as an example for an EMC device to align on a 64-kbyte boundary. The doc also says if there's no recommendation given to use a starting block that's a multiple of 8 kbytes. My current setup does start on a 64-kbyte boundary but not an 8-kbyte one:
gpart show
<snip>
34 128 1 freebsd-boot (64K)
162 8388638 2 freebsd-swap (4.0G)
8388800 1944715008 3 freebsd-zfs (927G)
I will try rebuilding this system on Monday using an 8k multiple, and report back.
ps. The terminology about 8- and 64-kbyte blocks is confusing to me. When formatting VMFS datastores in the Vsphere 4 client, the smallest block size choice is 1 Mbyte.
I've rebuilt the system so that the ZFS partition begins on block 128 but still get the same alignment error:
from /var/log/messages each time after starting/restarting istgt:
May
6 14:29:15 bettini kernel: GEOM: zvol/tank/bettini0: partition 1 does
not start on a track boundary.
May 6 14:29:15 bettini kernel: GEOM: zvol/tank/bettini0: partition 1
does not end on a track boundary.
partial output of 'gpart show':
34 1953103805 da7 GPT (931G)
34 94 1 freebsd-boot (47K)
128 1944584192 2 freebsd-zfs (927G)
1944584320 8388608 3 freebsd-swap (4.0G)
output of 'zfs list tank/bettini0':
NAME USED AVAIL REFER MOUNTPOINT
tank/bettini0 1T 6.15T 33.9M -
Since this error occurs only after formatting the datastore into a VMFS datastore, I believe there's some issue related to using VMFS either with GEOM or ZFS.
Thanks in advance for additional clues on getting the VMFS and FreeBSD partitions aligned.