4.2. 物理ボリュームの管理
このセクションでは、物理ボリューム管理の様々な場面で使用するコマンドについて説明します。
4.2.1. 物理ボリュームの作成
以下のセクションでは、物理ボリュームの作成に使用するコマンドを説明します。
4.2.1.1. パーティションタイプの設定
ディスクデバイス全体を物理ボリュームに使用している場合は、そのディスクにはパーティションテーブルを含めないでください。ディスクパーティションが DOS の場合は、fdisk、cfdisk などのコマンドを使用して、パーティション ID を 0x8e に設定する必要があります。ディスクデバイス全体に物理ボリュームがある場合は、パーティションテーブルのみを消去する必要がありますが、このとき、そのディスクにあるデータはすべて効果的に破棄されます。以下のコマンドを使用すれば、最初のセクターをゼロで初期化し、既存のパーティションテーブルを削除できます。
# dd if=/dev/zero of=PhysicalVolume bs=512 count=1
4.2.1.2. 物理ボリュームの初期化
pvcreate コマンドを使用して、物理ボリュームとして使用するブロックデバイスを初期化します。初期化は、ファイルシステムのフォーマットと同様です。
以下のコマンドは、
/dev/sdd
、/dev/sde
、および /dev/sdf
を LVM 物理ボリュームとして初期化し、後で LVM 論理ボリュームとして使用します。
# pvcreate /dev/sdd /dev/sde /dev/sdf
ディスク全体ではなく、パーティションを初期化するには、パーティションで pvcreate コマンドを実行します。以下の例では、パーティション
/dev/hdb1
を LVM 物理ボリュームとして初期化し、後で LVM 論理ボリュームとして使用します。
# pvcreate /dev/hdb1
4.2.1.3. ブロックデバイスのスキャン
以下の例のように、lvmdiskscan コマンドを使用して、物理ボリュームとして使用できるブロックデバイスをスキャンできます。
# lvmdiskscan
/dev/ram0 [ 16.00 MB]
/dev/sda [ 17.15 GB]
/dev/root [ 13.69 GB]
/dev/ram [ 16.00 MB]
/dev/sda1 [ 17.14 GB] LVM physical volume
/dev/VolGroup00/LogVol01 [ 512.00 MB]
/dev/ram2 [ 16.00 MB]
/dev/new_vg/lvol0 [ 52.00 MB]
/dev/ram3 [ 16.00 MB]
/dev/pkl_new_vg/sparkie_lv [ 7.14 GB]
/dev/ram4 [ 16.00 MB]
/dev/ram5 [ 16.00 MB]
/dev/ram6 [ 16.00 MB]
/dev/ram7 [ 16.00 MB]
/dev/ram8 [ 16.00 MB]
/dev/ram9 [ 16.00 MB]
/dev/ram10 [ 16.00 MB]
/dev/ram11 [ 16.00 MB]
/dev/ram12 [ 16.00 MB]
/dev/ram13 [ 16.00 MB]
/dev/ram14 [ 16.00 MB]
/dev/ram15 [ 16.00 MB]
/dev/sdb [ 17.15 GB]
/dev/sdb1 [ 17.14 GB] LVM physical volume
/dev/sdc [ 17.15 GB]
/dev/sdc1 [ 17.14 GB] LVM physical volume
/dev/sdd [ 17.15 GB]
/dev/sdd1 [ 17.14 GB] LVM physical volume
7 disks
17 partitions
0 LVM physical volume whole disks
4 LVM physical volumes
4.2.2. 物理ボリュームの表示
LVM 物理ボリュームのプロパティーを表示するのに使用できるコマンドは、pvs、pvdisplay、および pvscan の 3 つです。
pvs コマンド:物理ボリュームの情報を設定可能な形式で出力します。pvs コマンドでは形式をかなり自由に制御できるため、スクリプト作成に役立ちます。pvs コマンドで出力をカスタマイズする詳細な方法は、「LVM 用のカスタム報告」 を参照してください。
pvdisplay コマンドは、各物理ボリュームの詳細の複数行出力を提供します。物理プロパティー (サイズ、エクステント、ボリュームグループなど) が、決められた形式で表示されます。
以下の例は、1 つの物理ボリュームに対する pvdisplay コマンドの出力を示しています。
# pvdisplay
--- Physical volume ---
PV Name /dev/sdc1
VG Name new_vg
PV Size 17.14 GB / not usable 3.40 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 4388
Free PE 4375
Allocated PE 13
PV UUID Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
pvscan コマンド:システムにある物理ボリュームで対応している LVM ブロックデバイスをすべてスキャンします。
以下のコマンドでは、検出された物理デバイスがすべて表示されます。
# pvscan
PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 0 free]
PV /dev/sdc1 VG vg0 lvm2 [964.00 MB / 428.00 MB free]
PV /dev/sdc2 lvm2 [964.84 MB]
Total: 3 [2.83 GB] / in use: 2 [1.88 GB] / in no VG: 1 [964.84 MB]
このコマンドで、特定の物理ボリュームがスキャンされないように、
lvm.conf
ファイルでフィルターを定義できます。フィルターを使用してスキャンされるデバイスを制御する方法は、「フィルターを使用した LVM デバイススキャンの制御」 を参照してください。
4.2.3. 物理ボリューム上での割り当て防止
pvchange コマンドを使用すると、1 つまたは複数の物理ボリュームの空き領域で物理エクステントが割り当てられないようにすることができます。これは、ディスクエラーが発生した場合や、物理ボリュームを取り除く場合に必要となる可能性があります。
次のコマンドは、
/dev/sdk1
での物理エクステントの割り当てを許可しません。
# pvchange -x n /dev/sdk1
pvchange コマンドで
-xy
引数を使用すると、以前は許可されていない割り当てを許可できます。
4.2.4. 物理ボリュームのサイズ変更
何らかの理由で基礎となるブロックデバイスのサイズを変更する必要がある場合は、pvresize コマンドを使用して LVM のサイズを更新します。このコマンドは、LVM が物理ボリュームを使用しているときに実行できます。
4.2.5. 物理ボリュームの削除
デバイスを LVM で使用する必要がなくなった場合は、pvremove コマンドを使用して LVM ラベルを削除できます。pvremove コマンドを実行すると、空の物理ボリュームにある LVM メタデータをゼロにします。
削除する物理ボリュームがボリュームグループの一部になっている場合は、「ボリュームグループからの物理ボリュームの削除」 の説明に従って、vgreduce コマンドで、ボリュームグループから物理ボリュームを取り除く必要があります。
# pvremove /dev/ram15
Labels on physical volume "/dev/ram15" successfully wiped