Ya, saya juga memeriksa semua tata letak pada disk MBR / PBR / GPT / MD / LVM, dan sampai pada kesimpulan yang sama.
Untuk kasus Anda (LVM pada disk mentah), jika LVM-PE (tingkat fisik) adalah 1MB-disejajarkan dengan pvcreate, Anda dapat yakin bahwa semua alokasi data lebih lanjut akan disejajarkan, selama Anda menjaga ukuran alokasi menjadi (1MB * N) .
Karena "vgcreate -s" dan "lvcreate -L" menangani ukuran-tanpa-unit sebagai nilai MB secara default, Anda mungkin tidak perlu terlalu peduli tentang perataan setelah Anda selesai membuat pvcreate dengan benar. Pastikan untuk tidak memberikan ukuran dalam% / PEs (untuk lvcreate -l) dan B (byte) / S (512B - sektor selalu 512B dalam LVM) / K (KB) (untuk vgcreate -s dan lvcreate -L).
=== ditambahkan untuk klarifikasi ===
Sama seperti tindak lanjut, sementara SSD mungkin memiliki ukuran blok 1024KB menghapus sebagai keseluruhan perangkat, masing-masing ukuran blok memori flash rw internal / ukuran halaman rw mungkin sekitar 32KB-128KB / 512B-8KB.
Meskipun ini tergantung pada masing-masing pengontrol SSD, penalti I / O karena siklus baca-modifikasi-tulis tambahan mungkin tidak akan terjadi selama Anda tetap menulis agar selaras untuk menghapus ukuran blok setiap chip internal, yaitu 32KB-128KB di atas contoh. Hanya saja Anda ingin satu permintaan menulis cukup besar (= menghapus ukuran blok SSD sebagai perangkat keseluruhan), sehingga Anda dapat mengharapkan kinerja yang lebih baik dengan menggerakkan semua chip / saluran internal secara efisien.
Pemahaman saya adalah bahwa penyelarasan 1024KB hanya merupakan ukuran keamanan, karena fungsi chip pengontrol bervariasi oleh vendor, dan spesifikasi chip flash berubah dengan cepat. Lebih penting untuk memiliki permintaan penulisan tingkat OS untuk dilakukan dalam bundel besar (1024KB, dalam hal ini).
Sekarang, setelah mengatakan itu, melakukan mkfs (8) pada blok LVM yang selaras 1MB hampir pasti akan memecah 1MB-alignment untuk data / metadata tingkat-sistem file. Sebagian besar filesystem hanya peduli untuk melakukan 4KB-alignment, jadi mungkin tidak sempurna untuk SSD (tetapi, IIRC, fs terbaru seperti btrfs mencoba untuk menjaga keselarasan 64KB + ketika mengalokasikan blok yang berdekatan secara internal). Tetapi banyak fs memang memiliki fitur untuk bundle write (mis: konfigurasi stripe-size) untuk mendapatkan kinerja dari RAID, sehingga dapat digunakan untuk membuat permintaan penulisan ke SSD mendekati optimal.
Saya benar-benar ingin mendukung pernyataan saya dengan data aktual, tetapi sangat sulit untuk membuktikan karena pengontrol SSD saat ini sangat cerdas, dan tidak akan menunjukkan banyak penurunan kinerja setelah ukuran perataan dan ukuran penulisan "cukup besar". Pastikan itu tidak selaras (hindari <4KB-aligment di semua biaya) dan tidak terlalu kecil (1024KB cukup besar).
Juga, jika Anda benar-benar peduli dengan penalti IO, periksa kembali dengan menonaktifkan cache perangkat dan pembandingan dengan uji baca-tulis-menulis-ulang yang disinkronkan.