web-dev-qa-db-ja.com

SSDおよびSATAドライブでのLVMの使用

私は この質問 で、SSDと標準のSATAハードドライブの両方を単一のLVMボリュームグループ(VG)に配置することが可能であることを見ました。

これはパフォーマンスにどのように影響しますか?

データが単一のボリュームグループ内のSATAドライブ上にあるときに、OSを強制的にSSD上に置く方法はありますか?

さまざまなタイプのドライブでLVMを使用するための優れたホワイトペーパーはありますか?

ドライブの種類や速度ごとにVGを作成することは有益でしょうか? SSD用とSATA用のVGを1つずつ作成することを考えていました(各ドライブタイプについて、将来追加する予定です)。

22
Nick

LVMは高速ディスクと低速ディスクを区別しません。それらのディスクを1つのLVMボリュームグループに配置することは良い考えではないようです。

これ以外にも、常に/tmp SSD上のディレクトリ。これは、特にコンパイルのようにそれを使用するアプリケーションに対して、大幅なスピードアップを提供します。

8
user55518

最近のLVMバージョンでできることは、HDDに1つの「Origin」LVを作成し、SSDに1つの「キャッシュプール」LVを作成して、それを1つの「キャッシュ」LVに結合することです。これは「元の」LVと同じサイズです(つまり、HDDと同じだけのスペースしか取得できません)。ただし、パフォーマンスを向上させるために、頻繁に使用されるブロックとメタデータがSSDにキャッシュされます。

その要点は、両方のドライブにまたがるVGがすでにあると仮定した場合です。

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

その後、他のLVと同じように使用できるyour_name LVと、lvs -a YourVGで確認できるいくつかの内部LVができます。

たとえば、次のコマンドを使用して、SSDパーティション(/dev/sda3)とHDDパーティション(/dev/sdb1)に暗号化されたルートファイルシステムをセットアップします。

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

詳細は this blog post または this one をご覧ください。 (1つ目は私が参照に使用したもので、LVMウィキペディアの記事で参照としても使用されています。2つ目は私が実際にどのように使用したかを説明するためのものです。信頼するものを自分で決定しますか??? ?)

9