Sì, ho anche verificato tutto il layout su disco di MBR / PBR / GPT / MD / LVM e sono giunto alla stessa conclusione.
Nel tuo caso (LVM su disco non elaborato), se LVM-PE (estensione fisica) è allineata a 1 MB con pvcreate, puoi essere sicuro che tutte le ulteriori allocazioni dei dati saranno allineate, purché mantieni le dimensioni di allocazione a (1 MB * N) .
Poiché sia "vgcreate -s" che "lvcreate -L" gestiscono le dimensioni senza unità come valore MB per impostazione predefinita, probabilmente non è necessario preoccuparsi molto dell'allineamento dopo aver eseguito correttamente pvcreate. Assicurati solo di non dare la dimensione in% / PE (per lvcreate -l) e B (byte) / S (512B - il settore è sempre 512B in LVM) / K (KB) (per vgcreate -s e lvcreate -L).
=== aggiunto per chiarimenti ===
Proprio come un follow-up, mentre un SSD può avere 1024 KB di dimensioni del blocco di cancellazione come un intero dispositivo, ciascuna dimensione del blocco di cancellazione del flash flash interno / dimensione della pagina rw è probabilmente di circa 32 KB-128 KB / 512B-8 KB.
Sebbene ciò dipenda dal controller di ciascun SSD, la penalità I / O dovuta al ciclo extra di lettura-modifica-scrittura probabilmente non accadrà fintanto che manterrai la tua scrittura allineata per cancellare la dimensione del blocco di ciascun chip interno, che è 32 KB-128 KB sopra esempio. È solo che vuoi che la richiesta di scrittura singola sia abbastanza grande (= cancella la dimensione del blocco di SSD come un intero dispositivo), quindi puoi aspettarti prestazioni migliori guidando in modo efficiente tutti i chip / canali interni.
La mia comprensione è che l'allineamento di 1024 KB è solo una misura di sicurezza, poiché la funzione del chip del controller varia da un fornitore e le specifiche del chip flash cambiano rapidamente. È più importante disporre di una richiesta di scrittura a livello di sistema operativo da eseguire in un pacchetto di grandi dimensioni (1024 KB, in questo caso).
Ora, detto questo, fare mkfs (8) su un blocco LVM allineato a 1 MB interromperà quasi sicuramente l'allineamento di 1 MB per dati / metadati a livello di filesystem. La maggior parte dei filesystem si preoccupa solo di eseguire l'allineamento 4KB, quindi probabilmente non è perfetto per gli SSD (ma, IIRC, i recenti fs come btrfs cercano di mantenere 64 KB + allineamento durante l'allocazione del blocco contiguo interno). Ma molte fs hanno una funzione per raggruppare le scritture (es: configurazione a strisce) per ottenere prestazioni dal RAID, in modo che possano essere usate per fare richieste di scrittura su SSD quasi ottimali.
Voglio davvero appoggiare la mia affermazione con i dati effettivi, ma è stato davvero difficile dimostrare che il controller SSD di oggi è così intelligente e non mostrerà molta degradazione delle prestazioni una volta che sia la dimensione di allineamento che la dimensione di scrittura sono "abbastanza grandi". Assicurati solo che non sia mal allineato (evita <alligamento 4KB a tutti i costi) e non troppo piccolo (1024 KB è abbastanza grande).
Inoltre, se ti interessa davvero la penalità IO, ricontrolla disabilitando la cache del dispositivo e il benchmarking con il test di lettura-scrittura-riscrittura sincronizzato.