シンプロビジョニングされた論理ボリュームの使用
シンプロビジョニングされた論理ボリュームの仮想サイズは通常、そのボリュームを作成した物理ストレージより大きくなっています。 シンプロビジョニングされた論理ボリュームは、シン・プールと呼ばれる特殊なタイプの論理ボリュームに割り当てたストレージから作成します。 LVMは、ボリュームにアクセスするアプリケーションから要求があると、オンデマンドでストレージをシン・プールからシンプロビジョニングされた論理ボリュームに割り当てます。 lvsコマンドを使用して、シン・プールの使用量を監視し、使用可能なストレージが不足しないようにシン・プールのサイズを増やす必要があります。
シンプロビジョニングされた論理ボリュームの構成と管理
シンプロビジョニングされた論理ボリュームの作成には、次の2つのステップがあります:
-
シン・プールを作成します。
sudo lvcreate --size size --thin vol_group/pool_name
-
シンプロビジョニングされた論理ボリュームを作成します。
sudo lvcreate --virtualsize size --thin vol_group/thin_pool_name --name logical_vol
次の例では、サイズが1GBのシン・プールmytpが、最初にボリューム・グループmyvgから作成されます。
sudo lvcreate --size 1g --thin myvg/mytp Logical volume "mytp" created
次に、シンプロビジョニングされた論理ボリュームmytvが、2GBの仮想サイズで作成されます:
sudo lvcreate --virtualsize 2g --thin myvg/mytp --name mytv Logical volume "mytv" created
mytpのサイズがmytvのサイズより小さいことに注意してください。
mytvのスナップショットを作成する場合、スナップショットのサイズを指定しないでください。 そうしないと、そのストレージはmytpからプロビジョニングされません。次に例を示します。
sudo lvcreate --snapshot --name mytv-snapshot myvg/mytv Logical volume âmytv-snapshotâ created
ボリューム・グループに十分な領域がある場合は、次のように、必要に応じてlvresizeコマンドを使用してシン・プールのサイズを増やします。
sudo lvresize -L+1G myvg/mytp Extending logical volume mytp to 2 GiB Logical volume mytp successfully resized
詳細は、lvcreate(8)およびlvresize(8)の各マニュアル・ページを参照してください。
シンプロビジョニングされた論理ボリュームでのsnapperの使用
snapperユーティリティは、シンプロビジョニングされた論理ボリュームのシン・スナップショットを作成および保守するためのもう1つのツールです。
snapper構成をマウントされている既存のボリュームに設定するには:
sudo snapper -c config_name create-config -f "lvm(fs_type)" fs_name
- config_name
-
構成の名前
- fs_type
-
ファイル・システム・タイプ(ext4またはxfs)
- fs_name
-
ファイル・システムのパス。
コマンドによってconfig_nameが/etc/sysconfig/snapperに追加され、構成ファイル/etc/snapper/configs/config_nameが作成され、スナップショットに.snapshotsサブディレクトリが設定されます。
デフォルトでは、snapperはボリュームの.snapshotサブディレクトリを作成するcron.hourlyジョブ、および古いスナップショットをクリーンアップするcron.dailyジョブを設定します。 構成ファイルを編集すると、この動作を無効化または変更できます。 詳細は、snapper-configs(5)マニュアル・ページを参照してください。
snapperを使用すると、3つのタイプのスナップショットを作成できます。
-
post -
ポスト・スナップショットは、変更後のボリュームの状態を記録します。 ポスト・スナップショットは常に、変更直前に実行するプリ・スナップショットと対になっています。
-
pre -
プリ・スナップショットは、変更の直前のボリュームの状態を記録します。 プリ・スナップショットは常に、変更直前に実行するポスト・スナップショットと対になっています。
-
single -
単一のスナップショットは、ボリュームの状態を記録しますが、ボリュームのその他のスナップショットと関連性はありません。
たとえば、次のコマンドでは、ボリュームのプリ・スナップショットおよびポスト・スナップショットを作成します。
sudo snapper -c config_name create -t pre -p N
... Modify the volume's contents ...
sudo snapper -c config_name create -t post --pre-num N -p N'
-pオプションをsnapperに指定するとスナップショット数が表示されるため、ポスト・スナップショットを作成する場合、またはプリ・スナップショットとポスト・スナップショットのコンテンツを比較する場合に参照できます。
プリ・スナップショットとポスト・スナップショットの間に追加、削除、または変更したファイルおよびディレクトリを表示するには、statusサブコマンドを使用します。
sudo snapper -c config_name status N .. ..
プリ・スナップショットとポスト・スナップショットの間のファイル内容の差異を表示するには、diffサブコマンドを使用します。
sudo snapper -c config_name diff .. N'
ボリュームにあるスナップショットをリストするには:
sudo snapper -c config_name listスナップショットを削除するには、その番号をdeleteサブコマンドに指定します。
sudo snapper -c config_name delete N''
ボリューム内の、ポスト・スナップショットN'に含まれる変更をプレ・スナップショットNに戻すには、次のようにします。
sudo snapper -c config_name undochange N .. N'
詳細は、snapper(8)マニュアル・ページを参照してください。