UbuntuでLVM(論理ボリューム管理)を管理および使用する方法
前回の記事では、LVMとは何か、またその用途について説明しました。今日は、LVMの重要な管理ツールをいくつか紹介します。これで、インストールの設定や拡張を行うときに自信を持っていただけるでしょう。.
前述のように、LVMはオペレーティングシステムと物理ハードドライブの間の抽象レイヤです。つまり、物理ハードドライブとパーティションは、それらが存在するハードドライブとパーティションに関連付けられていません。そうではなく、オペレーティングシステムが認識するハードドライブとパーティションは、一緒にプールされた、またはソフトウェアRAIDにプールされた任意の数の別々のハードドライブにすることができます。.
LVMを管理するために利用可能なGUIツールがありますが、あなたのLVM設定で何が起こっているのかを本当に理解するためには、おそらくコマンドラインツールが何であるかを知ることが最善です。 GUIツールを提供していないサーバーまたはディストリビューションでLVMを管理している場合、これは特に便利です。.
LVMのほとんどのコマンドは互いに非常によく似ています。有効な各コマンドの前には、次のいずれかが付きます。
- 物理量= PV
- ボリュームグループ= vg
- 論理ボリューム= lv
physical volumeコマンドは、ボリュームグループ内のハードドライブを追加または削除するためのものです。ボリュームグループコマンドは、論理ボリュームで抽象化された一連の物理パーティションをオペレーティングシステムに提示するものを変更するためのものです。論理ボリュームコマンドは、オペレーティングシステムが指定されたスペースを使用できるように、ボリュームグループをパーティションとして表示します。.
ダウンロード可能なLVMチートシート
各プレフィックスに使用できるコマンドを理解しやすくするために、LVMチートシートを作成しました。この記事ではいくつかのコマンドについて説明しますが、ここでは説明しないことができる可能性がまだたくさんあります。.
システム全体の設定を変更してマシン全体に影響を与えるため、このリストにあるすべてのコマンドはrootとして実行する必要があります。.
(サムネイルをクリックすると拡大画像が見られます)
現在のLVM情報を表示する方法
最初にやらなければならないことは、LVMの設定方法を確認することです。の の
そして 表示
コマンドは、物理ボリューム(pv)、ボリュームグループ(vg)、および論理ボリューム(lv)を操作するので、現在の設定を把握するときに開始するのに適した場所です。.
の 表示
コマンドは情報をフォーマットするので、以下よりも理解しやすくなります。 の
コマンド。コマンドごとに、pv / vgの名前とパスが表示され、空き容量と使用済み容量に関する情報も表示されます。.
最も重要な情報は、PV名とVG名です。これら2つの情報を使って、LVMの設定作業を続けることができます。.
論理ボリュームの作成
論理ボリュームは、オペレーティングシステムがLVMで使用するパーティションです。論理ボリュームを作成するには、まず物理ボリュームとボリュームグループが必要です。新しい論理ボリュームを作成するのに必要なすべてのステップはここにあります.
物理ボリュームを作成する
私たちは、パーティションや情報が入っていない真新しいハードドライブからゼロから始めます。どのディスクを使用するかを見つけることから始めます。 (/ dev / sda、sdbなど)
注:すべてのコマンドをrootとして実行するか、またはコマンドの先頭に「sudo」を追加して実行する必要があることに注意してください。.
fdisk -l
あなたのハードドライブがフォーマットされたりパーティション化されたことがないなら、あなたはおそらくfdiskの出力にこのようなものが見えるでしょう。次のステップで必要なパーティションを作成するので、これはまったく問題ありません。.
私たちの新しいディスクは/ dev / sdbにありますので、fdiskを使ってドライブに新しいパーティションを作成しましょう。.
Gpartedを含む、GUIで新しいパーティションを作成することができるツールはたくさんありますが、すでにターミナルを開いているので、必要なパーティションを作成するためにfdiskを使用します。.
端末から次のコマンドを入力します。
fdisk / dev / sdb
これは特別なfdiskプロンプトにあなたを置きます.
指定された順序でコマンドを入力して、新しいハードドライブを100%使用し、LVMに対応した新しいプライマリパーティションを作成します。パーティションサイズを変更する必要がある場合、または複数の部分を使用する必要がある場合は、GPartedを使用するかfdiskについて自分で読むことをお勧めします。.
警告:以下の手順でハードドライブをフォーマットします。次の手順を実行する前に、このハードドライブに情報がないことを確認してください。.
n
=新しいパーティションを作成するp
= 1次区画を作成します1
=パーティションをディスクの先頭にする
デフォルトの最初のシリンダーと最後のシリンダーを受け入れるにはEnterキーを2回押します.
LVMが使用するパーティションを準備するには、次の2つのコマンドを使用します。.
トン
=パーティションタイプを変更する8e
= LVMパーティションタイプへの変更
情報を確認してハードドライブに書き込む.
p
=パーティションの設定を見るので、変更をディスクに書き込む前に確認できます。w
=変更をディスクに書き込む
これらのコマンドの後、fdiskプロンプトは終了し、ターミナルのbashプロンプトに戻ります。.
入る pvcreate / dev / sdb1
作成したばかりのパーティションにLVM物理ボリュームを作成します。.
なぜパーティションをファイルシステムでフォーマットしなかったのか心配しなくてもいいのですが、そのステップは後で行われます。.
ボリュームグループを作成する
パーティションを指定して物理ボリュームを作成したので、ボリュームグループを作成する必要があります。幸いなことに、これは1つのコマンドだけを取ります.
vgcreate vgpool / dev / sdb1
Vgpoolは、作成した新しいボリュームグループの名前です。好きな名前を付けることができますが、後で参照する場合はボリュームグループであることがわかるので、vgをラベルの前に付けることをお勧めします。.
論理ボリュームを作成する
LVMが使用する論理ボリュームを作成するには
lvcreate -L 3G -n lvstuff vgpool
-Lコマンドは論理ボリュームのサイズ(この場合は3 GB)を指定し、-nコマンドはボリュームを指定します。 Vgpoolが参照されるので、lvcreateコマンドは、どのボリュームからスペースを取得するかを認識します。.
論理ボリュームのフォーマットとマウント
最後のステップの1つは、ファイルシステムを使用して新しい論理ボリュームをフォーマットすることです。あなたがLinuxファイルシステムを選ぶのを手伝って欲しいならば、それがあなたがあなたのニーズに最も合ったファイルシステムを選ぶのを助けることができる私達の方法を読んでください.
mkfs -t ext3 / dev / vgpool / lvstuff
マウントポイントを作成してから、ボリュームを使用できる場所にマウントします。.
mkdir / mnt / stuff
mount -t ext3 / dev / vgpool / lvstuff / mnt / stuff
論理ボリュームのサイズ変更
論理ボリュームの利点の1つは、すべてをより大きなハードドライブに移動しなくても、共有を物理的に大きくまたは小さくできることです。代わりに、新しいハードドライブを追加して、その場でボリュームグループを拡張できます。または、使用していないハードドライブがある場合は、それをボリュームグループから削除して論理ボリュームを縮小できます。.
物理ボリューム、ボリュームグループ、および論理ボリュームを拡大または縮小するための3つの基本的なツールがあります。.
注:これらの各コマンドの前には、作業内容に応じてpv、vg、またはlvを付ける必要があります。.
リサイズ
- 物理ボリュームと論理ボリュームは縮小または拡張できますが、ボリュームグループはできません。伸びる
- ボリュームグループと論理ボリュームを大きくすることはできますが、小さくすることはできません。減らす
- ボリュームグループと論理ボリュームは小さくても大きくはできません
作成したばかりの論理ボリューム「lvstuff」に新しいハードドライブを追加する方法の例を見てみましょう。.
新しいハードドライブの取り付けとフォーマット
新しいハードドライブをインストールするには、上記の手順に従って新しいパーティションを作成し、そのパーティションタイプをLVM(8e)に変更を加えます。次にpvcreateを使ってLVMが認識できる物理ボリュームを作成します。.
ボリュームグループに新しいハードドライブを追加する
新しいハードドライブをボリュームグループに追加するには、新しいパーティションが何か、私たちの場合は/ dev / sdc1と、追加先のボリュームグループの名前を知っておく必要があります。.
これにより、新しい物理ボリュームが既存のボリュームグループに追加されます。.
vgextend vgpool / dev / sdc1
論理ボリュームを拡張する
論理ボリュームのサイズを変更するには、デバイス単位ではなくサイズ単位で拡張する量を指定する必要があります。この例では、3 GBのvgpoolに8 GBのハードドライブを追加しました。そのスペースを使用可能にするために、lvextendまたはlvresizeを使用できます。.
lvextend -L8G / dev / vgpool / lvstuff
このコマンドは機能しますが、既存のボリュームに8 GBを追加するのではなく、実際に論理ボリュームのサイズを8 GBに変更することがわかります。最後の3ギガバイトを追加するには、次のコマンドを使用する必要があります。.
lvextend -L + 3G / dev / vgpool / lvstuff
現在の論理ボリュームのサイズは11 GBです。.
ファイルシステムを拡張する
論理ボリュームは11 GBですが、そのボリューム上のファイルシステムはまだ3 GBしかありません。ファイルシステムで使用可能な11 GB全体を使用するには、resize2fsコマンドを使用する必要があります。 resize2fsに11 GBの論理ボリュームを指定するだけで、魔法のようになります。.
resize2fs / dev / vgpool / lvstuff
注意:ext3 / 4以外のファイルシステムを使用している場合は、ファイルシステムのサイズ変更ツールを参照してください。.
論理ボリュームの縮小
ボリュームグループからハードドライブを削除したい場合は、上記の手順を逆の順序で実行し、代わりにlvreduceとvgreduceを使用する必要があります。.
- ファイルシステムのサイズを変更する(サイズ変更する前に必ずファイルをハードドライブの安全な領域に移動してください)
- 論理ボリュームを減らす(サイズを減らすために - を使用することもできます。
- vgreduceを使ってボリュームグループからハードドライブを削除する
論理ボリュームのバックアップ
スナップショットは、最新の高度なファイルシステムの中には付いてくる機能ですが、ext3 / 4にはスナップショットをその場で作成する機能がありません。 LVMスナップショットの最もクールな点の1つは、ファイルシステムがオフラインになることはなく、ハードドライブの空き容量を増やすことなく、必要なだけ作成できることです。.
LVMがスナップショットを撮るとき、論理ボリュームがどのように見えるかについての写真が撮られ、その写真を使って別のハードドライブにコピーを作成することができます。コピーが作成されている間、論理ボリュームに追加する必要がある新しい情報は通常どおりディスクに書き込まれますが、変更は元の画像が破壊されないように追跡されます。.
スナップショットを作成するには、バックアップ中に論理ボリュームに書き込まれる新しい情報を保持するのに十分な空き容量を持つ新しい論理ボリュームを作成する必要があります。ドライブがアクティブに書き込まれていない場合は、ごく少量のストレージを使用できます。バックアップが完了したら、一時論理ボリュームを削除するだけで、元の論理ボリュームは通常どおり続行されます。.
新しいスナップショットを作成する
lvstuffのスナップショットを作成するには、以前と同様にlvcreateコマンドを使用しますが、-sフラグを使用します。.
lvcreate -L512M -s -n lvstuffbackup / dev / vgpool / lvstuff
ここでは、ドライブがアクティブに使用されていないため、512 MBの論理ボリュームを作成しました。バックアップを作成する間、512 MBに新しい書き込みが保存されます。.
新しいスナップショットをマウント
以前と同じように、マウントポイントを作成して新しいスナップショットをマウントし、そこからファイルをコピーできるようにする必要があります。.
mkdir / mnt / lvstuffbackup
マウント/ dev / vgpool / lvstuffbackup / mnt / lvstuffbackup
スナップショットのコピーと論理ボリュームの削除
あとは、/ mnt / lvstuffbackup /からすべてのファイルを外付けハードドライブにコピーするか、または1つのファイルにまとめてtarするだけです。.
注:tar -cはアーカイブを作成し、-fはアーカイブの場所とファイル名を示します。 tarコマンドの使用方法については マンタール
ターミナルで.
tar -cf / home / rothgar /バックアップ/ lvstuff-ss / mnt / lvstuffbackup /
バックアップが行われている間、lvstuffに書き込まれるすべてのファイルは、以前に作成した一時論理ボリュームで追跡されています。バックアップ中に十分な空き容量があることを確認してください。.
バックアップが完了したら、ボリュームをアンマウントして一時スナップショットを削除します。.
umount / mnt / lvstuffbackup
lvremove / dev / vgpool / lvstuffbackup /
論理ボリュームの削除
論理ボリュームを削除するには、まずそのボリュームがアンマウントされていることを確認する必要があります。そしてlvremoveを使って削除することができます。論理ボリュームが削除された後にボリュームグループを削除し、ボリュームグループが削除された後に物理ボリュームを削除することもできます。.
作成したボリュームとグループを使用したすべてのコマンドは次のとおりです。.
umount / mnt / lvstuff
lvremove / dev / vgpool / lvstuff
vgremove vgpool
pvremove / dev / sdb1 / dev / sdc1
LVMを使用するために知っておく必要があることのほとんどをカバーするはずです。このトピックについて何らかの経験がある場合は、コメントであなたの知恵を共有するようにしてください.