= Disk Alignment = We use a complex stack of block device tools. As it turns out, these tools will perform slightly better if they all agree on block boundaries. == setting up == here are the things to think about when setting up a disk: * physical disk partitions -- should start at a multiple of 8192s (where s means "512Byte sector") * RAID -- mdadm should use 0.90 or 1.0 [https://raid.wiki.kernel.org/index.php/RAID_superblock_formats superblocks], which are written at the end of the device. If metadata version 1.1 or 1.2 are used, then the `data_offset` field needs to be a multiple of 8192. * dm_crypt/LUKS -- `cryptsetup LuksFormat` should use `--align-payload=8192` * LVM * `pvcreate` should use `--dataalignment 8192s` * `vgcreate` should use `--physicalextentsize 8192s` (this is currently the default) == checking == * Partitions: (look at Start column -- you want multiples of 8192) `parted /dev/sda unit s print` * RAID: `mdadm --examine $COMPONENTDEVICE | grep Version` * dm_crypt/LUKS: `cryptsetup luksDump $BASEDEVICE | grep '^Payload offset:'` * LVM * Physical volumes: (look at "1st PE"): `pvs --units s -o +pe_start` * Volume groups: (look at "Ext"): `vgs --units s -o +vg_extent_size` == fixing == if any of these are wrong, what do we do?