/ / UbuntuでLVM(論理ボリューム管理)を管理および使用する方法

UbuntuでLVM(論理ボリューム管理)を管理および使用する方法

前の記事で、LVMとは何かを説明しましたそして、あなたがそれを何のために使いたいか、そして今日、LVMのいくつかの主要な管理ツールをご紹介しますので、インストールをセットアップまたは拡張するときに自信を持っていただけます。

前述のように、LVMは抽象化レイヤーですオペレーティングシステムと物理ハードドライブ間。つまり、物理的なハードドライブとパーティションは、それらが存在するハードドライブとパーティションに結び付けられなくなります。むしろ、オペレーティングシステムが表示するハードドライブとパーティションは、一緒にプールされた、またはソフトウェアRAID内の任意の数の個別のハードドライブにすることができます。

LVMを管理するには、GUIツールが利用可能ですが、LVM構成で何が起こっているかを本当に理解するには、おそらくコマンドラインツールが何であるかを知ることが最善です。これは、GUIツールを提供しないサーバーまたはディストリビューションでLVMを管理している場合に特に役立ちます。

LVMのコマンドのほとんどは互いに非常に似ています。有効な各コマンドの前には、次のいずれかが付いています。

  • 物理ボリューム= pv
  • ボリュームグループ= vg
  • 論理ボリューム= lv

物理ボリュームコマンドは、追加またはボリュームグループ内のハードドライブを削除します。ボリュームグループコマンドは、論理ボリュームで動作している物理パーティションの抽象セットを変更するためのものです。論理ボリュームコマンドは、オペレーティングシステムが指定されたスペースを使用できるように、ボリュームグループをパーティションとして提示します。

ダウンロード可能なLVMチートシート

コマンドが何であるかを理解しやすくするためLVMチートシートを作成した各プレフィックスに使用できます。この記事ではいくつかのコマンドについて説明しますが、まだできることはまだたくさんあり、ここでは説明しません。

マシン全体に影響するシステム全体の設定を変更するため、このリストのすべてのコマンドをルートとして実行する必要があります。

(フルサイズの画像を見るにはサムネイルをクリックしてください)

現在のLVM情報を表示する方法

最初に行う必要があるのは、LVMの設定方法を確認することです。の s そして display コマンドは、物理ボリューム(pv)、ボリュームグループ(vg)、および論理ボリューム(lv)で動作するため、現在の設定を把握しようとする場合に開始するのに適した場所です。

display コマンドは情報をフォーマットするので、 s コマンド。各コマンドについて、pv / vgの名前とパスが表示され、空き領域と使用済み領域に関する情報も提供されます。

最も重要な情報は、PV名とVG名です。これらの2つの情報を使用して、LVMセットアップの作業を続行できます。

論理ボリュームの作成

論理ボリュームは、オペレーティングシステムはLVMで使用します。論理ボリュームを作成するには、最初に物理ボリュームとボリュームグループが必要です。新しい論理ボリュームを作成するために必要なすべての手順を次に示します。

物理ボリュームを作成する

パーティションや情報のない新しいハードドライブからゼロから始めます。作業するディスクを見つけることから始めます。 (/ dev / sda、sdbなど)

注:すべてのコマンドをルートとして実行するか、コマンドの先頭に「sudo」を追加して実行する必要があることに注意してください。

fdisk -l

ハードドライブがフォーマットされたことがない場合、またはfdiskの出力におそらくこのようなものが表示される前にパーティション分割されます。次のステップで必要なパーティションを作成するため、これはまったく問題ありません。

新しいディスクは/ dev / sdbにあるため、fdiskを使用してドライブに新しいパーティションを作成できます。

Gpartedを含むGUIで新しいパーティションを作成できるツールは多数ありますが、ターミナルが既に開いているため、fdiskを使用して必要なパーティションを作成します。

端末から次のコマンドを入力します。

fdisk /dev/sdb

これにより、特別なfdiskプロンプトが表示されます。

指定された順序でコマンドを入力して、新しいハードドライブを100%使用し、LVMの準備ができた新しいプライマリパーティション。パーティションサイズを変更する必要がある場合、または複数のパーティションが必要な場合は、GPartedを使用するか、自分でfdiskについて読むことをお勧めします。

警告:次の手順でハードドライブをフォーマットします。これらの手順を実行する前に、このハードドライブに情報がないことを確認してください。

  • n =新しいパーティションを作成
  • p =プライマリパーティションを作成します
  • 1 =ディスクの最初のパーティションを作成します

Enterを2回押して、デフォルトの最初のシリンダーと最後のシリンダーを受け入れます。

LVMが使用するパーティションを準備するには、次の2つのコマンドを使用します。

  • t =パーティションタイプの変更
  • 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コマンドは、スペースを取得するボリュームを認識します。

論理ボリュームのフォーマットとマウント

最後のステップは、新しい論理ボリュームをファイルシステムでフォーマットすることです。 Linuxファイルシステムの選択に関するヘルプが必要な場合は、ニーズに最適なファイルシステムを選択する方法をご覧ください。

mkfs -t ext3 /dev/vgpool/lvstuff

マウントポイントを作成し、使用可能な場所にボリュームをマウントします。

mkdir /mnt/stuff
mount -t ext3 /dev/vgpool/lvstuff /mnt/stuff

論理ボリュームのサイズ変更

論理ボリュームの利点の1つは次のことができることですすべてを大きなハードドライブに移動することなく、共有を物理的に大きくまたは小さくします。代わりに、新しいハードドライブを追加して、その場でボリュームグループを拡張できます。または、使用されていないハードドライブがある場合は、ボリュームグループから削除して論理ボリュームを縮小できます。

物理ボリューム、ボリュームグループ、および論理ボリュームを大きくまたは小さくするための3つの基本的なツールがあります。

注:これらの各コマンドの前には、作業対象に応じてpv、vg、またはlvを付ける必要があります。

  • resize –物理ボリュームと論理ボリュームを縮小または拡張できますが、ボリュームグループは縮小または拡大できません
  • extend –ボリュームグループと論理ボリュームを大きくすることはできますが、小さくすることはできません
  • reduce –ボリュームグループと論理ボリュームを小さくすることができますが、大きくすることはできません

作成した論理ボリューム「lvstuff」に新しいハードドライブを追加する方法の例を見てみましょう。

新しいハードドライブのインストールとフォーマット

新しいハードドライブをインストールするには、上記の手順に従って新しいパーティションを作成し、そのパーティションタイプの変更をLVM(8e)に追加します。次に、pvcreateを使用して、LVMが認識できる物理ボリュームを作成します。

ボリュームグループに新しいハードドライブを追加する

新しいハードドライブをボリュームグループに追加するには、新しいパーティション、この場合は/ dev / sdc1、および追加するボリュームグループの名前を知るだけです。

これにより、既存のボリュームグループに新しい物理ボリュームが追加されます。

vgextend vgpool /dev/sdc1

論理ボリュームの拡張

論理ボリュームのサイズを変更するには、次のように言う必要がありますデバイス単位ではなくサイズ単位で拡張したい。この例では、8 GBのハードドライブを3 GBのvgpoolに追加しました。そのスペースを使用可能にするために、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を使用する必要があります。

  1. ファイルシステムのサイズを変更します(サイズを変更する前に、必ずハードドライブの安全な領域にファイルを移動してください)
  2. 論理ボリュームを削減します(+の代わりに使用することもできます-サイズで削減します)
  3. vgreduceを使用してボリュームグループからハードドライブを削除する

論理ボリュームのバックアップ

スナップショットは、いくつかの新しい高度な機能ですファイルシステムは付属していますが、ext3 / 4にはスナップショットをすぐに実行する機能がありません。 LVMスナップショットの最も優れた点の1つは、ファイルシステムがオフラインになることはなく、追加のハードドライブ領域を占有せずに必要な数だけファイルシステムを使用できることです。

LVMがスナップショットを撮るとき、写真が撮られます論理ボリュームがどのように見えるか、その画像を使用して別のハードドライブにコピーを作成できます。コピーの作成中、論理ボリュームに追加する必要がある新しい情報は通常と同様にディスクに書き込まれますが、変更は追跡されるため、元の画像が破壊されることはありません。

スナップショットを作成するには、新しいスナップショットを作成する必要がありますバックアップの作成中に論理ボリュームに書き込まれる新しい情報を保持するのに十分な空き領域がある論理ボリューム。ドライブがアクティブに書き込まれていない場合、ごく少量のストレージを使用できます。バックアップが完了したら、一時的な論理ボリュームを削除するだけで、元の論理ボリュームは通常どおり続行されます。

新しいスナップショットを作成

lvstuffのスナップショットを作成するには、以前と同様にlvcreateコマンドを使用しますが、-sフラグを使用します。

lvcreate -L512M -s -n lvstuffbackup /dev/vgpool/lvstuff

ここでは、ドライブがアクティブに使用されていないため、512 MBのみの論理ボリュームを作成しました。 512 MBは、バックアップの作成中に新しい書き込みを保存します。

新しいスナップショットをマウント

前と同じように、マウントポイントを作成して新しいスナップショットをマウントし、そこからファイルをコピーできるようにします。

mkdir /mnt/lvstuffbackup
mount /dev/vgpool/lvstuffbackup /mnt/lvstuffbackup

スナップショットのコピーと論理ボリュームの削除

あとは、/ mnt / lvstuffbackup /からすべてのファイルを外部ハードドライブにコピーするか、tarファイルをコピーして1つのファイルにするだけです。

注:tar -cはアーカイブを作成し、-fはアーカイブの場所とファイル名を示します。 tarコマンドの使用に関するヘルプ man tar ターミナルで。

tar -cf /home/rothgar/Backup/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を使用するために知っておく必要があるほとんどのことをカバーするはずです。トピックに関する経験がある場合は、コメントであなたの知恵を共有してください。