UbuntuサーバのHDD容量が1TBあるのに利用可能領域が100GBしか無かったので利用領域をHDDの上限まで拡張したときのメモ。
ポイントは2つ。
1.対象ボリュームのファイルシステムをLVMにする
2.対象ボリュームを resize2fs で拡張する
わたしのLinux環境
OS: Ubuntu Server 18.04.1 LTS
※1TBのHDDに上記OSを標準インストールした状態。
Linuxファイルシステムの現状を確認
まず現状のファイルシステム容量を確認するため df コマンドを実行。
df -h
/dev/mapper/************ の部分のSizeを見ればよい。
96Gバイトとなっている。
ちなみにマウントされているHDDの容量がどれ位あるかを確認するため次のコマンドを実行。
lsblk
通常は sda の項目をみればよい。(LinuxはWindowsでいうところの Cドライブ、Dドライブがsda, sdb, sdc…と続くため)わたしの場合、sdaの容量は931.5Gバイトもあった。
今回はこの sdaにマウントされたHDDの1TB近い容量を全てルートボリュームに設定したい。(96Gバイト位では怪しいファイルを沢山保存できないではないか!)
ファイルシステムがLVMかどうか確認
色々調べた結果。Linuxのファイルシステムには Linuxファイルシステム と LVM というものがあり、ファイルシステムをLVMにしておけば柔軟に拡張できるよ、という事だった。(←調べた事をかなり省略)
sda(わたしの場合)にマウントされたHDDが実際には論理ボリュームとしてどうなっているを確認する必要があるので、次のコマンドを実行して状態を確認。
sudo fdisk -l
/dev/sd*1, /dev/sd*2…というように表示されている部分があるはず。
わたしの場合、一番容量が大きい /dev/sda3 のファイルシステムは Linuxファイルシステム となっている。(ちなみに/dev/sda1と/dev/sda2はLinuxで最低限確保している必須部分なのでスルー)
利用しようとしている論理ボリュームのファイルシステムが Linuxファイルシステムであることが分かったので、これをLVMに変更する。
fdiskコマンドでファイルシステムをLVMに変更する
ファイルタイプを変更には fdisk コマンドを使う。(sda の部分はご自分の環境に合わせて変えてください)
sudo fdisk /dev/sda
実際のファイルタイプ変更画面
一応、解説しておくと最初にコマンドを聞いてくるので、ファイルタイプ変更の「t」を入力。
コマンド (m でヘルプ): t
次にどのパーティション番号のドライブを変更するか番号を聞いてくる。
わたしの場合、/dev/sda3 だったので「3」とした。(既定値が3となっているので何も入力せずにEnterキーでもOK)
パーティション番号 (1-3, 既定値 3): 3
変更タイプを聞いてくる。LVMに変更する場合、「31」と入力。
パーティションのタイプ (L で利用可能なタイプを一覧表示します): 31
このあと「パーティションのタイプを ‘Linux filesystem’ から ‘Linux LVM’ に変更しました。」と表示されるが、まだ実際には変更されていない。
ちなみにここまでの設定をキャンセルしたい場合、コマンドに「q」と入力すれば fdisk コマンドを終了できる。
これまで入力したコマンドを全て適用するにはコマンドに「w」を入力する。
コマンド (m でヘルプ): w
変更適用には少し時間が掛かり、次のような表示となる。
パーティション情報が変更されました。
ディスクを同期しています。
「ディスクを同期しています。」の表示後、ターミナルに戻ればLVMへの変更完了。
変更されたかどうかを次のコマンドで再確認。
sudo fdisk -l
きちんとタイプがLinux LVMに変更されていればOK。
ここまでの処理でファイルタイプがLVMに変更された。しかしまだ利用可能容量は変更していないので、 df -h コマンドを打っても以下のように元のままである。
lvextendとresize2fsコマンドでファイルシステムの拡張を行う
最後にファイルシステムの拡張をして利用可能容量をアップさせる。拡張には resize2fs コマンドを使うが、引数に論理ボリュームのデバイスファイル名が必要。
論理ボリュームのデバイスファイル名は、df -h を実行したときに表示されている /dev/mapper/ubuntu********* の部分なのでこれを使う。(わたしの場合は、 /dev/mapper/ubuntu–vg-ubuntu–lv がデバイスファイル名)
論理ボリュームのデバイスファイル名が分かったところで以下を実行。(青文字の部分は各自の環境により置き換えてください)
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
上記、lvextendは論理ボリュームのサイズを拡張するコマンドです+100%FREEとして最大まで拡張しています。(以前この部分のコマンドが抜けていました。失礼しました。コメントで指摘していただきありがとうございます)
最後にresize2fsコマンドを実行して完了です。
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
実際の実行画面
最後に df コマンドで容量を確認。
df -h
無事にSizeが916Gバイトにアップしている。
以上でマウントしているディスクの上限までファイルシステムの利用可能領域を変更することができた。
この記事は以上で、以下はおまけです。
今の気分を曲に表すと「パジャマ・じゃまだ!」
ここまで文字ばかりご覧いただいてありがとうございます。
今のわたしの気分、というか頭に流れてきた曲があったので紹介します。
うる星やつらのオープニング曲に使われていた成清加奈子さんの「パジャマ・じゃまだ!」という曲です。絵コンテもセンスありますね。中学生時代好きでした。(あ、今もです)
コメント
sudo lvextend -l +100%FREE /dev/mapper/shmag1–vg-root
↑多分論理ボリュームの拡張してからファイルシステムの
sudo resize2fs /dev/mapper/shmag1–vg-root
こっちじゃないですかね。上抜けてたので上手く行きませんでした
匿名さん、ご指摘ありがとうございます。管理人です。
以前のコマンド履歴を辿って確認しました。確かにおっしゃる通りlvextendコマンドの部分が抜けていました。
記事を修正させて頂きました。感謝いたします。
この場をかりて、以前この記事をみて上手くいかなかった方にお詫びいたします。(見ていないと思うけど…)