Ubuntu18.04でLVMを使用してストレージデバイスを管理する方法

提供:Dev Guides
移動先:案内検索

序章

LVM 、または論理ボリューム管理は、ユーザーがコンポーネントストレージデバイスの物理レイアウトをプールおよび抽象化して、より簡単で柔軟な管理を行えるようにするストレージデバイス管理テクノロジーです。 デバイスマッパーのLinuxカーネルフレームワークを利用して、現在のイテレーションであるLVM2を使用して、既存のストレージデバイスをグループにまとめ、必要に応じて結合されたスペースから論理ユニットを割り当てることができます。

このガイドでは、LVMを使用してストレージデバイスを管理する方法について説明します。 ボリュームと潜在的なターゲットに関する情報を表示する方法、さまざまなタイプのボリュームを作成および破棄する方法、およびサイズ変更または変換によって既存のボリュームを変更する方法を示します。 これらの操作を示すために、Ubuntu18.04サーバーを使用します。

前提条件

フォローするには、Ubuntu18.04サーバーにアクセスできる必要があります。 管理タスク用に構成されたsudo特権を持つ非rootユーザーが必要になります。 Ubuntu 18.04初期サーバーセットアップガイドに従って、必要なアカウントを作成できます。

LVMのコンポーネントと概念を理解し、基本的なLVM構成をテストするには、このチュートリアルを開始する前に、LVMガイドの概要に従ってください。

準備ができたら、sudoユーザーでサーバーにログインします。

物理ボリューム、ボリュームグループ、および論理ボリュームに関する情報の表示

システム内のさまざまなLVMコンポーネントに関する情報を簡単に取得できることが重要です。 幸い、LVMツールスイートには、LVMスタック内のすべてのレイヤーに関する情報を表示するための豊富なツールが用意されています。

すべてのLVM互換ブロックストレージデバイスに関する情報の表示

LVMが管理できる可能性のある利用可能なすべてのブロックストレージデバイスを表示するには、lvmdiskscanコマンドを使用します。

sudo lvmdiskscan
Output  /dev/sda   [     200.00 GiB] 
  /dev/sdb   [     100.00 GiB] 
  2 disks
  2 partitions
  0 LVM physical volume whole disks
  0 LVM physical volumes

LVMの物理ボリュームとして使用できる可能性のあるデバイスを確認できます。

これは、LVMで使用する新しいストレージデバイスを追加する際の最初のステップになる可能性があります。

物理ボリュームに関する情報の表示

ストレージデバイスにヘッダーが書き込まれ、LVMコンポーネントとして自由に使用できることを示します。 これらのヘッダーを持つデバイスは、物理ボリュームと呼ばれます。

lvmdiskscan-lオプションを使用すると、システム上のすべての物理デバイスを表示できます。これにより、物理ボリュームのみが返されます。

sudo lvmdiskscan -l
Output  WARNING: only considering LVM devices
  /dev/sda                   [     200.00 GiB] LVM physical volume
  /dev/sdb                   [     100.00 GiB] LVM physical volume
  2 LVM physical volume whole disks
  0 LVM physical volumes

pvscanコマンドは、使用可能なすべてのデバイスでLVM物理ボリュームを検索するという点で、上記とかなり似ています。 出力形式は少し異なり、少量の追加情報が含まれています。

sudo pvscan
Output  PV /dev/sda   VG LVMVolGroup     lvm2 [200.00 GiB / 0    free]
  PV /dev/sdb   VG LVMVolGroup     lvm2 [100.00 GiB / 10.00 GiB free]
  Total: 2 [299.99 GiB] / in use: 2 [299.99 GiB] / in no VG: 0 [0   ]

詳細が必要な場合は、pvsおよびpvdisplayコマンドの方が適しています。

pvsコマンドは高度に構成可能であり、さまざまな形式で情報を表示できます。 その出力は厳密に制御できるため、スクリプトや自動化が必要な場合に頻繁に使用されます。 その基本的な出力は、以前のコマンドと同様に、一目でわかる便利な要約を提供します。

sudo pvs
Output  PV         VG          Fmt  Attr PSize   PFree
  /dev/sda   LVMVolGroup lvm2 a--  200.00g     0
  /dev/sdb   LVMVolGroup lvm2 a--  100.00g 10.00g

より詳細で人間が読める形式の出力には、通常、pvdisplayコマンドの方が適しています。

sudo pvdisplay
Output  --- Physical volume ---
  PV Name               /dev/sda
  VG Name               LVMVolGroup
  PV Size               200.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              51199
  Free PE               0
  Allocated PE          51199
  PV UUID               kRUOyU-0ib4-ujPh-kAJP-eeQv-ztRL-4EkaDQ

  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               LVMVolGroup
  PV Size               100.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              25599
  Free PE               2560
  Allocated PE          23039
  PV UUID               udcuRJ-jCDC-26nD-ro9u-QQNd-D6VL-GEIlD7

ご覧のとおり、pvdisplayコマンドは、多くの場合、物理ボリュームに関する詳細情報を取得するための最も簡単なコマンドです。

各ボリュームにマップされている論理エクステントを検出するには、-mオプションをpvdisplayに渡します。

sudo pvdisplay -m
Output  --- Physical volume ---
  PV Name               /dev/sda
  VG Name               LVMVolGroup
  PV Size               200.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              51199
  Free PE               38395
  Allocated PE          12804
  PV UUID               kRUOyU-0ib4-ujPh-kAJP-eeQv-ztRL-4EkaDQ

  --- Physical Segments ---
  Physical extent 0 to 0:
    Logical volume  /dev/LVMVolGroup/db_rmeta_0
    Logical extents 0 to 0
  Physical extent 1 to 5120:
    Logical volume  /dev/LVMVolGroup/db_rimage_0
    Logical extents 0 to 5119

   . . .

これは、管理目的でどのデータがどの物理ディスクに保持されているかを判別する場合に非常に役立ちます。

ボリュームグループに関する情報の表示

LVMには、ボリュームグループに関する情報を表示するためのツールもたくさんあります。

vgscanコマンドを使用して、システムをスキャンして使用可能なボリュームグループを探すことができます。 また、必要に応じてキャッシュファイルを再構築します。 ボリュームグループを新しいシステムにインポートするときに使用するのに適したコマンドです。

sudo vgscan
Output  Reading all physical volumes.  This may take a while...
  Found volume group "LVMVolGroup" using metadata type lvm2

このコマンドはあまり情報を出力しませんが、システムで使用可能なすべてのボリュームグループを見つけることができるはずです。 詳細情報を表示するには、vgsおよびvgdisplayコマンドを使用できます。

物理ボリュームの対応物と同様に、vgsコマンドは用途が広く、さまざまな形式で大量の情報を表示できます。 出力は簡単に操作できるため、スクリプトや自動化が必要な場合によく使用されます。 たとえば、いくつかの有用な出力変更は、物理デバイスと論理ボリュームパスを表示することです。

sudo vgs -o +devices,lv_path
Output  VG          #PV #LV #SN Attr   VSize   VFree  Devices        Path
  LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(0)    /dev/LVMVolGroup/projects
  LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(2560) /dev/LVMVolGroup/www
  LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(3840) /dev/LVMVolGroup/db
  LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(8960) /dev/LVMVolGroup/workspace
  LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sdb(0)    /dev/LVMVolGroup/workspace

より詳細で人間が読める形式の出力には、通常、vgdisplayコマンドが最適です。 -vフラグを追加すると、ボリュームグループが構築されている物理ボリューム、およびボリュームグループを使用して作成された論理ボリュームに関する情報も提供されます。

sudo vgdisplay -v
Output    Using volume group(s) on command line.
  --- Volume group ---
  VG Name               LVMVolGroup
  . . .

  --- Logical volume ---
  LV Path                /dev/LVMVolGroup/projects
  . . .

  --- Logical volume ---
  LV Path                /dev/LVMVolGroup/www
  . . .

  --- Logical volume ---
  LV Path                /dev/LVMVolGroup/db
  . . .

  --- Logical volume ---
  LV Path                /dev/LVMVolGroup/workspace
  . . .

  --- Physical volumes ---
  PV Name               /dev/sda
  . . .

  PV Name               /dev/sdb
  . . .

vgdisplayコマンドは、LVMスタックのさまざまな要素に関する情報を結び付けることができるので便利です。

論理ボリュームに関する情報の表示

論理ボリュームに関する情報を表示するために、LVMには関連するツールのセットがあります。

他のLVMコンポーネントと同様に、lvscanオプションはシステムをスキャンし、検出した論理ボリュームに関する最小限の情報を出力します。

sudo lvscan
Output  ACTIVE            '/dev/LVMVolGroup/projects' [10.00 GiB] inherit
  ACTIVE            '/dev/LVMVolGroup/www' [5.00 GiB] inherit
  ACTIVE            '/dev/LVMVolGroup/db' [20.00 GiB] inherit
  ACTIVE            '/dev/LVMVolGroup/workspace' [254.99 GiB] inherit

詳細については、lvsコマンドは柔軟性があり、強力で、スクリプトで簡単に使用できます。

sudo lvs
Output  LV        VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  db        LVMVolGroup -wi-ao----  20.00g
  projects  LVMVolGroup -wi-ao----  10.00g
  workspace LVMVolGroup -wi-ao---- 254.99g
  www       LVMVolGroup -wi-ao----   5.00g

ストライプの数と論理ボリュームのタイプを確認するには、--segmentsオプションを使用します。

sudo lvs --segments
Output  LV           VG          Attr       #Str Type    SSize
  db           LVMVolGroup rwi-a-r---    2 raid1   20.00g
  mirrored_vol LVMVolGroup rwi-a-r---    3 raid1   10.00g
  test         LVMVolGroup rwi-a-r---    3 raid5   10.00g
  test2        LVMVolGroup -wi-a-----    2 striped 10.00g
  test3        LVMVolGroup rwi-a-r---    2 raid1   10.00g

最も人間が読める形式の出力は、lvdisplayコマンドによって生成されます。

-mフラグが追加されると、ツールは論理ボリュームがどのように分割および分散されているかに関する情報も表示します。

sudo lvdisplay -m
Output  --- Logical volume ---
  LV Path                /dev/LVMVolGroup/projects
  LV Name                projects
  VG Name                LVMVolGroup
  LV UUID                IN4GZm-ePJU-zAAn-DRO3-1f2w-qSN8-ahisNK
  LV Write Access        read/write
  LV Creation host, time lvmtest, 2016-09-09 21:00:03 +0000
  LV Status              available
  # open                 1
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Segments ---
  Logical extents 0 to 2559:
    Type        linear
    Physical volume /dev/sda
    Physical extents    0 to 2559


  . . .

出力から下に向かってわかるように、この例では、/dev/LVMVolGroup/projects論理ボリュームは完全に/dev/sda物理ボリューム内に含まれています。 この情報は、基盤となるデバイスを削除する必要があり、データを特定の場所に移動したい場合に役立ちます。

LVMコンポーネントの作成または拡張

このセクションでは、物理ボリューム、ボリュームグループ、および論理ボリュームを作成および拡張する方法について説明します。

Rawストレージデバイスからの物理ボリュームの作成

LVMでストレージデバイスを使用するには、最初にそれらを物理ボリュームとしてマークする必要があります。 これは、LVMがボリュームグループ内のデバイスを使用できることを指定します。

まず、lvmdiskscanコマンドを使用して、LVMが認識して使用できるすべてのブロックデバイスを検索します。

sudo lvmdiskscan
Output  /dev/sda   [     200.00 GiB] 
  /dev/sdb   [     100.00 GiB] 
  2 disks
  2 partitions
  0 LVM physical volume whole disks
  0 LVM physical volumes

ここでは、LVMの物理ボリュームに変換するのに適したデバイスを確認できます。

警告:LVMで使用する予定のデバイスに、重要なデータが既に書き込まれていないことを再確認してください。 LVM内でこれらのデバイスを使用すると、現在の内容が上書きされます。 サーバーにすでに重要なデータがある場合は、先に進む前にバックアップを作成してください。


ストレージデバイスをLVM物理ボリュームとしてマークするには、pvcreateを使用します。 一度に複数のデバイスを渡すことができます。

sudo pvcreate /dev/sda /dev/sdb

これにより、すべてのターゲットデバイスにLVMヘッダーを書き込んで、それらをLVM物理ボリュームとしてマークする必要があります。

物理ボリュームからの新しいボリュームグループの作成

LVM物理ボリュームから新しいボリュームグループを作成するには、vgcreateコマンドを使用します。 ボリュームグループ名に続けて、少なくとも1つのLVM物理ボリュームを指定する必要があります。

sudo vgcreate volume_group_name /dev/sda

この例では、単一の初期物理ボリュームを持つボリュームグループを作成します。 必要に応じて、作成時に複数の物理ボリュームを渡すことができます。

sudo vgcreate volume_group_name /dev/sda /dev/sdb /dev/sdc

通常、サーバーごとに必要なボリュームグループは1つだけです。 すべてのLVM管理ストレージをそのプールに追加して、そこから論理ボリュームを割り当てることができます。

複数のボリュームグループが必要になる理由の1つは、ボリュームごとに異なるエクステントサイズを使用する必要があると感じた場合です。 通常、エクステントサイズを設定する必要はありませんが(ほとんどの用途ではデフォルトサイズの4Mで十分です)、必要に応じて、-sオプションを渡すことにより、ボリュームグループの作成時に設定できます。

suod vgcreate -s 8M volume_group_name /dev/sda

これにより、8Mのエクステントサイズの新しいボリュームグループが作成されます。

既存のボリュームグループへの物理ボリュームの追加

物理ボリュームを追加してボリュームグループを拡張するには、vgextendコマンドを使用します。 このコマンドは、ボリュームグループの後に追加する物理ボリュームを取ります。 必要に応じて、一度に複数のデバイスを渡すことができます。

sudo vgextend volume_group_name /dev/sdb

物理ボリュームがボリュームグループに追加され、ストレージプールの使用可能な容量が拡張されます。

サイズを指定して論理ボリュームを作成する

ボリュームグループストレージプールから論理ボリュームを作成するには、lvcreateコマンドを使用します。 -Lオプションで論理ボリュームのサイズを指定し、-nオプションで名前を指定し、ボリュームグループを渡してスペースを割り当てます。

たとえば、LVMVolGroupボリュームグループからtestという名前の10G論理ボリュームを作成するには、次のように入力します。

sudo lvcreate -L 10G -n test LVMVolGroup

ボリュームグループにボリューム容量を収容するのに十分な空き領域がある場合、新しい論理ボリュームが作成されます。

残りのすべての空き領域から論理ボリュームを作成する

ボリュームグループ内の残りの空き領域を使用してボリュームを作成する場合は、vgcreateコマンドと-nオプションを使用して、以前と同じようにボリュームグループに名前を付けて渡します。 サイズを渡す代わりに、-l 100%FREEオプションを使用します。このオプションは、ボリュームグループ内の残りのエクステントを使用して論理ボリュームを形成します。

sudo lvcreate -l 100%FREE -n test2 LVMVolGroup

これにより、論理ボリュームの残りのスペースが使い果たされます。

詳細オプションを使用した論理ボリュームの作成

論理ボリュームは、いくつかの高度なオプションを使用して作成することもできます。 検討したいオプションは次のとおりです。

  • –type :論理ボリュームのタイプを指定します。これにより、論理ボリュームの割り当て方法が決まります。 選択した地形を正しく作成するのに十分な基礎となる物理ボリュームがない場合、使用可能なタイプの一部は使用できません。 最も一般的なタイプのいくつかは次のとおりです。 線形:デフォルトのタイプ。 使用される基礎となる物理デバイス(複数ある場合)は、単純に次々に追加されます。 ストライプ:RAID 0と同様に、ストライプトポロジはデータをチャンクに分割し、ラウンドロビン方式で基盤となる物理ボリューム全体に分散します。 これにより、パフォーマンスが向上する可能性がありますが、データの脆弱性が高まる可能性があります。 これには、以下で説明する-iオプションと、少なくとも2つの物理ボリュームが必要です。 raid1:ミラーリングされたRAID1ボリュームを作成します。 デフォルトでは、ミラーには2つのコピーがありますが、以下で説明する-mオプションを使用してさらに多くのコピーを指定できます。 少なくとも2つの物理ボリュームが必要です。 raid5:RAID5ボリュームを作成します。 少なくとも3つの物理ボリュームが必要です。 raid6:RAID6ボリュームを作成します。 最低4つの物理ボリュームが必要です。
  • -m :保持するデータの追加コピーの数を指定します。 値「1」は、合計2セットのデータに対して1つの追加コピーが維持されることを指定します。
  • -i :維持する必要のあるストライプの数を指定します。 これはstripedタイプに必要であり、他のいくつかのRAIDオプションのデフォルトの動作を変更できます。
  • -s :アクションが、新しい独立した論理ボリュームではなく、既存の論理ボリュームからスナップショットを作成する必要があることを指定します。

これらのオプションのいくつかの例を示して、それらが通常どのように使用されるかを示します。

ストライプボリュームを作成するには、少なくとも2つのストライプを指定する必要があります。 このトポロジーとストライプ数には、使用可能な容量を持つ少なくとも2つの物理ボリュームが必要です。

sudo lvcreate --type striped -i 2 -L 10G -n striped_vol LVMVolGroup

ミラーボリュームを作成するには、raid1タイプを使用します。 3セット以上のデータが必要な場合は、-mオプションを使用してください。 この例では、-m 2を使用して、合計3セットのデータを作成します(LVMは、これを2つのミラーを持つ1つの元のデータセットとしてカウントします)。 これを成功させるには、少なくとも3つの物理ボリュームが必要です。

sudo lvcreate --type raid1 -m 2 -L 20G -n mirrored_vol LVMVolGroup

ボリュームのスナップショットを作成するには、ボリュームグループではなく、スナップショットに元の論理ボリュームを提供する必要があります。 スナップショットは最初は多くのスペースを占有しませんが、追跡している論理ボリュームに変更が加えられるとサイズが大きくなります。 この手順で使用されるサイズは、スナップショットの最大サイズです(このサイズを超えて大きくなるスナップショットは壊れて使用できません。ただし、容量に近づいたスナップショットは拡張できます)。

sudo lvcreate -s -L 10G -n snap_test LVMVolGroup/test

:論理ボリュームをスナップショットの特定の時点に戻すには、lvconvert --mergeコマンドを使用します。

sudo lvconvert --merge LVMVolGroup/snap_test

これにより、スナップショットの元の場所がスナップショットが作成されたときの状態に戻ります。


ご覧のとおり、論理ボリュームの機能を劇的に変える可能性のあるオプションがいくつかあります。

論理ボリュームのサイズの拡大

LVMの主な利点の1つは、論理ボリュームのプロビジョニングで提供される柔軟性です。 システムを停止することなく、ボリュームの数やサイズをその場で簡単に調整できます。

既存の論理ボリュームのサイズを大きくするには、lvresizeコマンドを使用します。 -Lフラグを使用して、新しいサイズを指定します。 「+」サイズを追加して、相対サイズを使用することもできます。 その場合、LVMは指定された量だけ論理ボリュームのサイズを増やします。 論理ボリュームでも使用されているファイルシステムのサイズを自動的に変更するには、--resizefsフラグを渡します。

拡張する論理ボリュームの名前を正しく指定するには、ボリュームグループ、スラッシュ、論理ボリュームの順に指定する必要があります。

sudo lvresize -L +5G --resizefs LVMVolGroup/test

この例では、LVMVolGroupボリュームグループのtest論理ボリュームの論理ボリュームとファイルシステムの両方が5G増加します。

ファイルシステムの拡張を手動で処理したい場合は、--resizefsオプションを取り出して、後でファイルシステムのネイティブ拡張ユーティリティを使用できます。 たとえば、Ext4ファイルシステムの場合、次のように入力できます。

sudo lvresize -L +5G LVMVolGroup/test
sudo resize2fs /dev/LVMVolGroup/test

これにより、同じ結果が得られます。

LVMコンポーネントの削除またはダウンサイジング

容量を減らすとデータが失われる可能性があるため、通常、コンポーネントのサイズを小さくするか、コンポーネントを削除することによって、使用可能な容量を減らす手順は、もう少し複雑になります。

論理ボリュームのサイズを縮小する

論理ボリュームを縮小するには、最初にデータをバックアップする必要があります。 これにより使用可能な容量が減少するため、ミスがデータの損失につながる可能性があります。

準備ができたら、現在使用されているスペースの量を確認します。

df -h
OutputFilesystem                         Size  Used Avail Use% Mounted on
. . .
/dev/mapper/LVMVolGroup-test       4.8G  521M  4.1G  12% /mnt/test

この例では、521Mを少し超えるスペースが現在使用されているように見えます。 これを使用して、ボリュームを減らすことができるサイズを見積もるのに役立ててください。

次に、ファイルシステムをアンマウントします。 拡張とは異なり、ファイルシステムの縮小はマウント解除時に実行する必要があります。

cd ~
sudo umount /dev/LVMVolGroup/test

アンマウント後、ファイルシステムをチェックして、すべてが正常に機能していることを確認します。 -tオプションを使用してファイルシステムタイプを渡します。 -fを使用して、ファイルシステムに問題がないように見える場合でも確認します。

sudo fsck -t ext4 -f /dev/LVMVolGroup/test

ファイルシステムをチェックした後、ファイルシステムのネイティブツールを使用してファイルシステムのサイズを減らすことができます。 Ext4ファイルシステムの場合、これはresize2fsコマンドになります。 ファイルシステムの最終サイズを渡します。

警告:ここで最も安全なオプションは、現在の使用量よりもかなり大きい最終サイズを選択することです。 データの損失を防ぎ、バックアップが確実に行われるように、ある程度のバッファスペースを確保してください。


sudo resize2fs -p /dev/LVMVolGroup/test 3G

操作が完了したら、-Lフラグを指定してlvresizeコマンドに同じサイズを渡して、論理ボリュームのサイズを変更します。

sudo lvresize -L 3G LVMVolGroup/test

データ損失の可能性について警告されます。 準備ができたら、yと入力して続行します。

論理ボリュームが削減されたら、ファイルシステムを再度確認してください。

sudo fsck -t ext4 -f /dev/LVMVolGroup/test

すべてが正しく機能している場合は、通常のマウントコマンドを使用してファイルシステムを再マウントできます。

sudo mount /dev/LVMVolGroup/test /mnt/test

これで、論理ボリュームが適切なサイズに縮小されます。

論理ボリュームの削除

論理ボリュームが不要になった場合は、lvremoveコマンドで削除できます。

まず、論理ボリュームが現在マウントされている場合は、それをアンマウントします。

cd ~
sudo umount /dev/LVMVolGroup/test

その後、次のように入力して論理ボリュームを削除します。

sudo lvremove LVMVolGroup/test

手順の確認を求められます。 論理ボリュームを削除することが確実な場合は、yと入力します。

ボリュームグループの削除

ボリュームグループ内のすべての論理ボリュームを含むボリュームグループ全体を削除するには、vgremoveコマンドを使用します。

ボリュームグループを削除する前に、通常、上記の手順を使用して論理ボリュームを削除する必要があります。 少なくとも、ボリュームグループに含まれる論理ボリュームを必ずアンマウントする必要があります。

sudo umount /dev/LVMVolGroup/www
sudo umount /dev/LVMVolGroup/projects
sudo umount /dev/LVMVolGroup/db

その後、ボリュームグループ名をvgremoveコマンドに渡すことにより、ボリュームグループ全体を削除できます。

sudo vgremove LVMVolGroup

ボリュームグループを削除することを確認するメッセージが表示されます。 論理ボリュームがまだ存在する場合は、削除する前に、それらの論理ボリュームについて個別の確認プロンプトが表示されます。

物理ボリュームの削除

LVM管理から物理ボリュームを削除する場合、必要な手順は、デバイスが現在LVMによって使用されているかどうかによって異なります。

物理ボリュームを使用している場合は、デバイスにある物理エクステントを別の場所に移動する必要があります。 これには、ボリュームグループに、物理エクステントを処理するのに十分な他の物理ボリュームが必要です。 より複雑な論理ボリュームタイプを使用している場合は、トポロジーに対応するために十分な空きスペースがある場合でも、追加の物理ボリュームが必要になる場合があります。

ボリュームグループに物理エクステントを処理するのに十分な物理ボリュームがある場合は、次のように入力して、削除する物理ボリュームからそれらを移動します。

sudo pvmove /dev/sda

ボリュームのサイズと転送するデータの量によっては、このプロセスに時間がかかる場合があります。

エクステントがピアボリュームに再配置されたら、次のように入力して、ボリュームグループから物理ボリュームを削除できます。

sudo vgreduce LVMVolGroup /dev/sda

これにより、空いた物理ボリュームがボリュームグループから削除されます。 これが完了したら、次のように入力して、ストレージデバイスから物理ボリュームマーカーを削除できます。

sudo pvremove /dev/sda

これで、取り外したストレージデバイスを他の目的に使用したり、システムから完全に取り外したりできるようになります。

結論

これまでに、LVMを使用してUbuntu18.04でストレージデバイスを管理する方法を実際に理解しているはずです。 既存のLVMコンポーネントの状態に関する情報を取得する方法、LVMを使用してストレージシステムを構成する方法、およびニーズに合わせてボリュームを変更する方法を知っておく必要があります。 これらの概念を安全な環境で自由にテストして、それらがどのように組み合わされているかをよりよく理解してください。