本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、LVM環境用に物理ボリュームを作成する「pvcreate」コマンドです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、LVM環境用に物理ボリュームを作成する「pvcreate」コマンドです。
「pvcreate」はLVMの「物理ボリューム」を作成するコマンドです。
Linuxでは当初、HDDなどに直接ファイルシステムを割り当てて管理していましたが、現在では、物理ボリュームをまとめて仮想化されたボリュームグループを作り上げた後、それを論理ボリュームに切り分けて管理する仕組み「LVM(Logical Volume Manager)」が取り入れられています。例えば、CentOSでは、デフォルト設定のインストールで論理ボリュームを使用します。
実際にLVMの仕組みを使いこなすには、まずpvcreateコマンドで物理ボリュームを作成します。その後、「vgcreate」コマンド(連載第336回)を使って、物理ボリューム上にボリュームグループを作り上げます。最後に、「lvcreate」コマンド(連載第337回)を使って、ボリュームグループ上に論理ボリュームを作成します。
物理ボリュームを直接使うのではなく、論理ボリュームを作り上げて記憶領域を管理することで、LVMでは複数の物理的なディスクを1つにまとめて大容量のファイルシステムを構築したり、ファイルシステムのサイズを後から変更したりする操作が可能になります。
pvcreateコマンドは、lvm2パッケージに収録されています。CentOS環境では「sudo yum install lvm2」、Ubuntu環境では「sudo apt install lvm2」でインストールできます。lvm2では、ほとんどの操作を「lvm」コマンドで実行できます。なお、pvcreateコマンドもlvmコマンドへのシンボリックリンクです。
pvcreate [オプション] [デバイス名またはパーティション名……]
※[ ]は省略可能な引数を示しています。
短いオプション | 長いオプション | 意味 |
---|---|---|
--pvmetadatacopies 個数 | メタデータを複製する個数を指定する(0を指定するとメタデータを1つだけ作成する、※1) | |
--metadatacopies 個数 | 「--pvmetadatacopies 個数」と同じ処理を行う(古い指定方法) | |
--metadatasize サイズ | メタデータエリアのサイズを指定する。単位には「G」や「T」などが使用可能(※2) | |
--metadataignore yまたはn | メタデータの領域を無視する(デフォルトは「n」)。「y」を選択した場合、物理ボリューム上のメタデータ領域にメタデータを保存しない | |
--restorefile VGファイル名 | 指定したファイルにあるメタデータと実際のメタデータが同一であることを保証する(通常は/etc/lvm/archive下にあるファイルを指定する。「--uuid」でUUIDを指定する必要がある) | |
-u UUID | --uuid UUID | メタデータを復元する際に、どのUUIDとして復元するかを指定する(通常は「--restorefile」とともに指定、メタデータファイルがない場合は「--norestorefile」オプションを指定する) |
--norestorefile | メタデータのバックアップを指定しなくても、「--uuid」オプションを指定できる(--uuidは必ず指定する) | |
--labelsector 位置 | 物理ボリュームラベルを配置するセクタを0〜3で指定する(デフォルトは1で、2番目の512バイトセクタに配置される) | |
-M | --metadatatype 1または2 | メタデータの形式を指定する。lvm2の場合は「2」または「lvm2」と指定する(デフォルト) |
--dataalignment サイズ | データの開始位置を指定したサイズの倍数にする。「K」など単位も使用可能(※2)。RAIDを使用している場合、ストライプサイズに合わせておくと効率がよくなる | |
--dataalignmentoffset オフセット | データ領域を指定したオフセットの分だけずらす。「K」などの単位も使用可能(※2) | |
--bootloaderareasize サイズ | ブートローダーエリアのサイズを指定する。単位には「K」や「M」などが使用可能(※2)。なお、ブートローダーの領域は物理ボリュームとは別に作成される(※3) | |
--setphysicalvolumesize サイズ | 作成する物理ボリュームのサイズを指定する。単位には「G」や「T」などが使用可能(※2) | |
--metadataprofile プロファイル名 | 設定プロファイルを指定する。定義済プロファイルは「/etc/lvm/profile/プロファイル名.profile」にあり、保存場所は/etc/lvm/lvm.confで変更可能 | |
-y | --yes | 全ての問い合わせに対し「y」を入力したものとして実行する |
-f | --force | 処理内容を確認せず、強制的に実行する |
-Z yまたはn | --zero yまたはn | 最初の4セクタ(2048バイト)をゼロで消去するかどうかを指定する(デフォルトは「y」) |
-t | --test | 実際には実行せず処理内容だけを表示する |
-v | --verbose | 付加情報を表示する |
※1 LVMでは、ボリュームグループの詳細設定を「メタデータ」として保存する。複数の物理ボリュームで1つのボリュームグループを構成している場合、最低1つの物理ボリュームにメタデータ用のエリアが必要だ。デフォルトではボリュームグループ内の全ての物理ボリュームに同一内容のメタデータを保存する。
※2 大文字、小文字にかかわらず1024の倍数を意味する。
※3 CentOSでは、ブートマネージャーと「/boot」用のパーティションを別途設けている。例えば、/dev/sdaにシステムをインストールする場合、/dev/sda1と/dev/sda2に分割して/dev/sda1を/boot用とし、/dev/sda2上にLVMを構築する。
「pvcreate デバイス名」、または「pvcreate パーティション名」で、指定した場所に物理ボリュームを作成します。デバイス名またはパーティション名をそれぞれ複数指定可能です。
例えば、/dev/sdaを/dev/sda1と/dev/sda2という2つのパーティションに分割している際に、/dev/sda2をLVMで管理したい場合は「pvcreate /dev/sda2」のように指定して物理ボリュームを生成します。
/dev/sdbは全てLVMで管理するのであれば、「pvcreate /dev/sdb」のように指定します。
なお、物理ボリュームとして使用できるデバイスを確認するには、「lvmdiskscan」コマンドを使います。また、物理ボリュームのサイズを変更したい場合は「pvresize」コマンド、削除するには「pvremove」コマンドを使用します。
pvcreateなどの実行にはroot権限が必要です。「sudo」コマンド(連載第68回)などを利用してください。
pvcreate デバイス名またはパーティション名
(指定した場所に物理ボリュームを作る)
pvcreate /dev/sdb
(「/dev/sdb」に物理ボリュームを作る)
pvcreate /dev/sda2
(「/dev/sda2」に物理ボリュームを作る)
pvcreate /dev/sdb /dev/sdc
(「/dev/sdb」と「/dev/sdc」に物理ボリュームを作る)(画面1)
画面1では、pvcreateで/dev/sdb(64GiB、※4)と/dev/sdc(128GiB)に物理ボリュームを作成しています。続いて、vgcreateコマンドで/dev/sdbと/dev/sdc上の物理ボリュームを合わせて「datagroup」というボリュームグループを作成し、lvcreateコマンドでdatagroupの全ての領域を使って「data」という論理ボリュームを作成しました。
※4 GiB(ギビバイト)は2の30乗バイト。「pvs」コマンドなど、lvm関連のコマンドでは「g」という単位で表示する。なお、GB(ギガバイト)は10の9乗バイトで、1GiB=約1.074GB、1GB=約0.93GiB。
Copyright © ITmedia, Inc. All Rights Reserved.