Итак, назрели вопросы, как правильно выровнять разделы и всё что будет поверх них, а именно:
Имеем диск
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
parted -a optimal /dev/sdx
mklabel msdos
unit MiB
mkpart primary 1 769
p
Number Start End Size Type File system Flags
1 1,00MiB 769MiB 768MiB primary
align-check optimal 1
1 aligned
Здесть нормально.
С raid1 вроде всё ясно, просто
mdadm --create /dev/md1 --metadata=1.2 --level=1 --raid-devices=2 missing /dev/sdx1
А вот для raid0 из 2х дисков, вот такой расчёт ещё актуален?
Chunk Size : 512K
stripe size = chunk size
stride = chunk size / block size = 512K / 4K = 128
stripe-width = stride * data-disks = 128 * 2
Далее cryptsetup,
Текущее выравнивание,
cryptsetup luksDump /dev/mdX | grep Payload
Payload offset: 4096
На другом массиве кстати Payload offset: 2048.
Пишут, что лучше cryptsetup выравнивать на 4MB, то есть cryptsetup [...] --align-payload=8192 , есть мысли по этому поводу?
LVM2
Теперь pvcreate, --dataalignmentoffset используется только когда нижележащие слои не выравнены, а вот dataalignment должен быть равен Chunk Size, какой он для raid1?
Поэтому нюансов выравнивания поверх зеркала так и не смог найти.
Ну и наконец ext4, опять же, от какого Chunk Size плясать для зеркала?
Что-то вроде?
mkfs.ext4 -b 4096 -E stride=128,stripe-width=256
// сейчас у меня raid1>luks>lvm>[swap+ext4], но на дисках без AF, то бишь 512 байт сектор, делалось всё автоматом, нареканий не имею.