Ik ben aan het spelen met storage voor een nieuwe databaseserver. Ik lees (veel) verschillende verhalen en meningen over het alignen van filesystems op de onderliggende storage, maar ik kan geen sluitende uitleg hierover vinden. Daarom leg ik de situatie hier aan de experts voor
.
Hardware: Dell R610 met 6 disks in hardware raid, die in RAID-10 geconfigureerd zijn. Dit levert dus een stripe van 3 disks op. Bij wijze van test heb ik gekozen voor een stripe size van 512 kB. Om de complexiteit minder groot te maken heb ik ervoor gekozen om geen partities te gebruiken, maar de disk, /dev/sdb, direct als een physical volume voor LVM te gebruiken. Daarboven op moet een XFS-filesystem komen.
In deze blogpost wordt volgens mij een goede uitleg gegeven van de materie, met een boel verwijzingen naar andere discussies.
Onder het kopje 'Steps to setup LVM' staat bij stap 2:
Dit lijkt goed te zijn. Nu kom ik echter bij stap 3, waarbij ik een volume group maak die ge-aligned moet zijn op dit physical volume, door de juiste physicalextendsize te kiezen.
Ik ga met mijn redenatie ergens de mist in, maar kan iemand me uitleggen waar? Is het uberhaupt nodig om RAID-10 op deze manier te alignen?
Hardware: Dell R610 met 6 disks in hardware raid, die in RAID-10 geconfigureerd zijn. Dit levert dus een stripe van 3 disks op. Bij wijze van test heb ik gekozen voor een stripe size van 512 kB. Om de complexiteit minder groot te maken heb ik ervoor gekozen om geen partities te gebruiken, maar de disk, /dev/sdb, direct als een physical volume voor LVM te gebruiken. Daarboven op moet een XFS-filesystem komen.
In deze blogpost wordt volgens mij een goede uitleg gegeven van de materie, met een boel verwijzingen naar andere discussies.
Onder het kopje 'Steps to setup LVM' staat bij stap 2:
Als ik dit toepas op mijn situatie (RAID-10, 6 disks = 3 stripes, stripe size 512kB), betekent dat volgens mij dat ik pvcreate moet vertellen dat hij zo'n grote metadatasize moet nemen, dat het binnen 1 stripe past:Normally the LVM metadata allocates 196kB (we need to allocate a little more for alignment)
pvcreate --metadatasize 250k /dev/md0 (apparently the calculation is 250KiB *1.024=256, what a mess...)
To verify:
pvs -o +pe_start
root@db16 ~ # pvcreate --metadatasize 500k /dev/sdb Physical volume "/dev/sdb" successfully created root@db16 ~ # pvs -o +pe_start PV VG Fmt Attr PSize PFree 1st PE /dev/sdb lvm2 -- 208.37G 208.37G 512.00K
Dit lijkt goed te zijn. Nu kom ik echter bij stap 3, waarbij ik een volume group maak die ge-aligned moet zijn op dit physical volume, door de juiste physicalextendsize te kiezen.
In mijn geval zou de physicalextentsize worden: 512 * 3 = 1.5 MiB. Volgens de manpage van vgcreate moet de physicalextendsize echter een macht van 2 zijn, en dat is niet mogelijk met 1.5.This needs to align on top of the md layer. So it has to be a multiple of 256Kib
It can be argued that it is beneficial to have it a multiple of
256Kib*4=1MiB (where 4:Raid Devices-1).
Ik ga met mijn redenatie ergens de mist in, maar kan iemand me uitleggen waar? Is het uberhaupt nodig om RAID-10 op deze manier te alignen?