Menggunakan LVM dengan drive SSD dan SATA

22

Saya melihat dalam pertanyaan ini bahwa adalah mungkin untuk menempatkan SSD dan hard drive SATA standar ke dalam satu grup volume LVM (VG).

Bagaimana ini mempengaruhi kinerja?

Apakah ada cara untuk memaksa OS berada di SSD saat data berada di drive SATA dalam grup volume tunggal?

Apakah ada whitepaper bagus tentang penggunaan LVM dengan berbagai jenis drive?

Apakah bermanfaat untuk membuat VG untuk setiap jenis dan / atau kecepatan drive? Saya sedang berpikir untuk membuat satu VG untuk SSD dan satu untuk SATA (dan untuk setiap jenis drive saya dapat menambahkan di masa depan ketika datang).

Nick
sumber
Intuisi saya adalah ide yang sangat buruk untuk meletakkan SSD dan hard disk konvensional dalam grup volume yang sama.
samiam
@samiam itu adalah pemikiran awal saya. Saya tidak yakin apakah ada cara untuk memberitahu LVM untuk selalu menempatkan data ke dan dari direktori ini ke sda ​​dan selalu menempatkan data ke direktori lain di sdb.
Nick
@Graeme yang banyak berbicara tentang kinerja, tapi saya tidak melihat apa pun yang terkait dengan menjangkau jenis disk yang berbeda, yang merupakan perhatian utama saya. Jika saya melewatkan sesuatu, tolong tunjukkan.
Nick
Nick: Saya tidak bisa menjawab tentang LVM dari atas kepala saya, tapi, ya, itu mungkin untuk diatur /etc/fstabsehingga /ada pada SSD tetapi apa pun di bawah /homeini ada pada hard disk konvensional. Ini biasanya merupakan pilihan saat memasang sistem Linux modern ( /homeakan menjadi "mount point" ketika memilih beberapa bentuk "opsi lanjutan")
samiam

Jawaban:

8

LVM tidak membedakan antara disk cepat dan lambat. Apakah itu tampaknya bukan ide yang baik untuk menempatkan disk itu ke satu grup volume LVM.

Selain itu, selalu baik untuk memasang /tmpdirektori Anda pada SSD yang memberikan peningkatan besar, terutama untuk aplikasi yang menggunakannya seperti kompilasi.


sumber
4
Pakai /tmptmpfs. Lebih banyak kinerja, lebih sedikit keausan pada SSD (atau pada hard disk dalam hal ini). Pembacaan SSD yang sangat cepat membuatnya sangat berguna untuk data yang dibaca lebih sering daripada yang tertulis.
Gilles 'SANGAT berhenti menjadi jahat'
ini ditemukan sebagai kerentanan dan tidak lagi disediakan oleh banyak distribusi.
5
Meh Saya biasanya ingin file - file /tmpdibersihkan pada saat reboot - jika memang dimaksudkan untuk tetap, itulah gunanya /var/tmp. Saya telah menggunakan tmpfs selama /tmpbertahun-tahun pada banyak mesin dan tidak pernah hampir kehabisan ruang swap, dan saya tidak memiliki jumlah data yang /tmpsangat kecil, sehingga argumen itu palsu. Bagaimanapun, itu bukan kerentanan - kata itu menyiratkan masalah keamanan.
Gilles 'SANGAT berhenti menjadi jahat'
1
tampaknya Anda tidak memiliki pengguna jahat untuk dilayani. Jika Anda tidak ingin menyebutnya kerentanan, maka anggap itu berbahaya, dalam hal apa pun itu tidak disarankan kecuali Anda tahu apa yang Anda lakukan.
8

Apa yang dapat Anda lakukan dalam versi LVM baru-baru ini adalah membuat satu "asal" LV pada HDD dan satu "cache pool" LV pada SSD, dan kemudian menggabungkannya menjadi satu "cache" LV. Ini memiliki ukuran yang sama dengan LV "asal" (mis., Anda hanya mendapatkan ruang sebanyak pada HDD), tetapi blok dan metadata yang sering digunakan di-cache pada SSD untuk meningkatkan kinerja.

Intinya adalah, dengan asumsi Anda sudah memiliki VG yang mencakup kedua drive:

lvcreate -l 100%PVS -n your_name YourVG /dev/YourHDD
lvcreate --type cache-pool -l 100%PVS -n your_name_cache YourVG /dev/YourSSD
lvconvert --type cache --cachepool YourVG/your_name_cache YourVG/your_name

Setelah itu, Anda akan memiliki your_nameLV yang dapat Anda gunakan seperti LV lainnya, dan beberapa LV internal yang dapat Anda lihat lvs -a YourVG.

Sebagai contoh, saya mengatur sistem file root terenkripsi di partisi SSD ( /dev/sda3) dan partisi HDD ( /dev/sdb1) dengan perintah berikut:

pvcreate /dev/sda3 /dev/sdb1
vgcreate RootVG /dev/sda3 /dev/sdb1
lvcreate -l 100%PVS -n cryptroot RootVG /dev/sdb1
lvcreate --type cache-pool -l 100%PVS -n cryptroot_cache RootVG /dev/sda3
lvconvert --type cache --cachepool RootVG/cryptroot_cache RootVG/cryptroot
cryptsetup luksFormat --type luks2 /dev/RootVG/cryptroot

Anda dapat menemukan detail lebih lanjut di posting blog ini atau ini . (Yang pertama adalah apa yang saya gunakan untuk referensi dan juga digunakan sebagai referensi pada artikel Wikipedia LVM; yang kedua adalah oleh saya, menggambarkan bagaimana saya menggunakannya dalam praktek. Putuskan sendiri mana yang ingin Anda percayai 😉)

Lucas Werkmeister
sumber