Ubuntuのディスク領域をLVMで拡張

最終更新日

ubuntu

LVM(Linux Volume Manager)とは論理ボリューム管理と呼称されています。
後からでもパーティションのサイズを変更することが可能で、手順はもちろん面倒だけど、それを補って余りある凄く有り難い機能です。

条件

以前、Ubuntu18を新規インストールした時に、ディスクの管理をLVMに設定していました。
この機能はLinuC レベル2の試験で出てきていたので、一応免疫程度の知識はありましたが、実際に作業するのは初めてです。
Linuxをインストールしているディスク(M.2, 500GB)の残り容量が少なくなってきて、新しいM.2を追加したので、LVMのグループに追加して管理していきます。
また次の増設の機会があったら再現出来るように、この作業の防備録として残しておきます。

既存のボリュームグループ(旧M.2)に、新しいボリューム(新M.2)を追加する、という感じになります。

参考

非常に参考になりました。ありがとうございます。

今回の目的 2つ

既存LVMのボリュームグループに新しい物理ボリューム(M.2)を追加します。
さらに、インストール時にSwapを1Gしか取っていなくて、最近OSがフリーズすることが多発するのでSwap領域も拡張しようと思います。

下準備(UEFI)

念の為データのバックアップをして、追加M.2をマザーボードに挿し、追加M.2が認識されていることを確認

本作業(Ubuntu)

確認作業

$ sudo fdisk -l
(例) /dev/nvme1n1

同じくボリュームグループ名の確認

$ ll /dev/mapper/
(例)/dev/mapper/ubuntu--vg-root

ここで、df -h, cat /proc/partitions, sudo lvmdiskscanなどでパーティションを確認してもいいかもしれません。


追加M.2のパーティションを作成、パーティションタイプは8e(Linux LVM)を設定

$ sudo fdisk /dev/nvme1n1

物理ボリュームの一覧表示

$ sudo pvdisplay

物理ボリュームの作成

$ sudo pvcreate /dev/nvme1n1p1

新しく作った物理ボリュームを、既存のボリュームグループへ追加

$ sudo vgextend ubuntu-vg /dev/nvme1n1p1

物理ボリュームの一覧表示(出来ているか確認)

$ sudo pvdisplay

論理ボリュームの拡張(ここでは500GBの追加を設定)

$ sudo lvextend -L +500G /dev/ubuntu-vg/root

既存M.2に合わせて、ext4でフォーマットするが、エラーが出た。
(そのまま次に進んでしまったが、拡張できていた・・・?)

$ sudo e2fsck -f /dev/ubuntu-vg/root

拡張する

$ sudo resize2fs /dev/ubuntu-vg/root 

上手く出来ているか確認コマンド

$ sudo pvscan 【物理ボリュームの確認】

PV /dev/nvme0n1p2 VG ubuntu-vg lvm2 [<465.26 GiB / 0 free]
PV /dev/nvme1n1p1 VG ubuntu-vg lvm2 [<931.51 GiB / 384.46 GiB free]
Total: 2 [1.36 TiB] / in use: 2 [1.36 TiB] / in no VG: 0 [0 ]

$ sudo vgdisplay 【ボリュームグループの確認】

--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 1.36 TiB
PE Size 4.00 MiB
Total PE 357572
Alloc PE / Size 259149 / 1012.30 GiB
Free PE / Size 98423 / 384.46 GiB
VG UUID S5SSSS-OOOO-IIII-XEDQ-xYxYxY-XXXX-yyyyy

上手く拡張できました。

Swapの拡張

参考

既存の1GBのSwapは削除して新しく作り直す、という方法が簡単そうだった。

$ sudo lvdisplay -C
$ ll /dev/ubuntu-vg/
$ ll /dev/mapper/
$ sudo swapoff /dev/mapper/ubuntu--vg-swap_1
$ sudo lvextend -L 48G /dev/mapper/ubuntu--vg-swap_1
$ sudo mkswap /dev/mapper/ubuntu--vg-swap_1
$ sudo swapon /dev/mapper/ubuntu--vg-swap_1

以上になります

鹿児島県の出水市という所に住んでいまして、インターネット周辺で色々活動して行きたいと思ってるところです。 Webサイト作ったり、サーバ設定したり、プログラムしたりしている、釣りと木工好きなMacユーザです。 今はデータサイエンスに興味を持って競馬AI予想を頑張ってます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください