【CentOS Stream 9】仮想ディスク増設手順

この記事は約23分で読めます。

このブログもかれこれ14年になります。
流石に10年以上も運営してるとデータ量が膨大になり、今ではバックアップを取ると3.2GBを越えるデータ量になってました。
そこに別途画像データを加えると総量では10数GBとかになる訳で、ファイルシステム39.1GBの KUSANAGI ではアップデート時に容量不足でアップデートできないなんてことも増えて来ました。

そこで今回は今までやったことのないディスク増設を行うため、その手順の覚え書きとなります。
本当は圧迫されたルートディレクトリの容量を増やしたかったのですが、検索してもヒットしないので現状ではkusanagiを構成するデータが収められた/homeディレクトリを増設した仮想ハードディスクに収めるといった形で進めて行きます。

VMwareで仮想ハードディスクを増設する

VMwareのLauncherで「仮想マシン設定の編集」をクリックします。

「追加」ボタンをクリックします。

「ハードディスク」を選択して「次へ」をクリックします。

「SCSI(S)」を選択して「次へ」をクリックします。

「仮想ディスクの新規作成(V)」を選択して「次へ」をクリックします。

ディスク最大サイズに希望の容量をGB単位で入力して、「今すぐ全ディスク容量を割り当てる」にチェックを入れて「次へ」をクリックします。

「次へ」をクリックします。

ハードディスクが割り当てられていることを確認して、仮想ハードディスクの増設は完了となります。

CentOS Stream 9でディスクを割り当てる

増設前の確認

Bash
df -h

ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs        4.0M     0  4.0M    0% /dev
tmpfs           1.8G     0  1.8G    0% /dev/shm
tmpfs           730M   18M  713M    3% /run
/dev/sda1        39G   33G  6.3G   84% /
tmpfs           365M     0  365M    0% /run/user/0

仮想ディスクの認識を確認

増設した仮想ディスクがsdbとして認識していることを確認します。

Bash
fdisk -l

ディスク /dev/sda: 39.06 GiB, 41943040000 バイト, 81920000 セクタ
ディスク型式: VMware Virtual S
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x88efb32b

デバイス  起動   開始位置 終了位置 セクタ     サイズ Id タイプ
/dev/sda1 *        2048 81919999 81917952  39.1G 83 Linux

ディスク /dev/sdb: 300 GiB, 322122547200 バイト, 629145600 セクタ
ディスク型式: VMware Virtual S
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト

パーティションの作成

/dev/sdbに100GBのパーティションを割り当てます。

Bash
fdisk /dev/sdb

fdisk (util-linux 2.37.4) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。

デバイスには認識可能なパーティション情報が含まれていません。
新しい DOS ディスクラベルを作成しました。識別子は 0xff9274af です。

コマンド (m でヘルプ): m                             //ヘルプを確認

ヘルプ:
DOS (MBR)
a 起動可能フラグを切り替えます
b 入れ子の BSD ディスクラベルを編集します
c DOS 互換フラグを切り替えます

一般
d パーティションを削除します
F パーティションのない領域を一覧表示します
l 既知のパーティションタイプを一覧表示します
n 新しいパーティションを追加します
p パーティション情報を表示します
t パーティションタイプを変更します
v パーティション情報を検証します
i パーティションの情報を表示します

その他
m このメニューを表示します
u 表示項目の単位を変更します
x 特殊機能に移動します (熟練者向け機能)

スクリプト
I ディスクのレイアウトを sfdisk 互換のスクリプトから読み込みます
O ディスクのレイアウトを sfdisk 互換のスクリプトに書き出します

保存と終了
w パーティション情報をディスクに書き込んで終了します
q 変更点を保存せずに終了します

新しいラベルを作成します
g 新しい (何もない) GPT パーティションテーブルを作成します
G 新しい (何もない) SGI (IRIX) パーティションテーブルを作成します
o 新しい (何もない) DOS パーティションテーブルを作成します
s 新しい (何もない) Sun パーティションテーブルを作成します

コマンド (m でヘルプ): p                                 //パーティションの情報を確認
ディスク /dev/sdb: 300 GiB, 322122547200 バイト, 629145600 セクタ
ディスク型式: VMware Virtual S
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0xff9274af

コマンド (m でヘルプ): n                                 //パーティション領域の作成
パーティションタイプ
p 基本パーティション (0 プライマリ, 0 拡張, 4 空き)
e 拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p                                      //基本パーティションを選択
パーティション番号 (1-4, 既定値 1): 1                    //パーティション番号を入力
最初のセクタ (2048-629145599, 既定値 2048):              //空Enter
最終セクタ, +/-セクタ番号 または +/-サイズ{K,M,G,T,P} (2048-629145599, 既定値 629145599): +100GB //サイズを入力

新しいパーティション 1 をタイプ Linux、サイズ 93.1 GiB で作成しました。

コマンド (m でヘルプ): w                                 //設定したパーティション情報をディスクに書き込んで終了
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。

sdb用のパーティションが作成されたことを確認

sdb1パーティションが作成されたことを確認します。

Bash
fdisk -l

ディスク /dev/sda: 39.06 GiB, 41943040000 バイト, 81920000 セクタ
ディスク型式: VMware Virtual S
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x88efb32b

デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ
/dev/sda1 2048 81919999 81917952 39.1G 83 Linux

ディスク /dev/sdb: 300 GiB, 322122547200 バイト, 629145600 セクタ
ディスク型式: VMware Virtual S
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0xff9274af

デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ
/dev/sdb1 2048 195313663 195311616 93.1G 83 Linux

既存ディスクのフォーマット形式を確認

Bash
cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Mon Aug 21 02:33:36 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=068679f1-b4ef-41a3-bcce-77b778304136 / xfs defaults 0 0

ディスクをフォーマットする

Bash
mkfs -t xfs /dev/sdb1

meta-data=/dev/sdb1              isize=512    agcount=4, agsize=6103488 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=24413952, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

手動でディスクをマウントする

Bash
mount /dev/sdb1 /home
df -h

ファイルシス    サイズ  使用 残り  使用% マウント位置
devtmpfs         4.0M     0  4.0M    0% /dev
tmpfs            1.8G     0  1.8G    0% /dev/shm
tmpfs            730M   18M  713M    3% /run
/dev/sda1         39G   33G  6.3G   84% /
tmpfs            365M     0  365M    0% /run/user/0
/dev/sdb1         94G  697M   93G    1% /home

UUIDの取得

OS起動時に自動でマウントするために/etc/fstabに設定を追記する必要があります。
そのためにあらかじめUUIDを確認します。

Bash
blkid /dev/sdb1
/dev/sdb1: UUID="c3d9dfb6-09fc-4249-892d-1e3e3bc1e230" TYPE="xfs" PARTUUID="ff9274af-01"

OS起動時の自動マウント設定

/etc/fstabに設定を追記します。
第1フィールド:デバイス名またはUUID
第2フィールド:マウントポイント
第3フィールド:ファイルシステム
第4フィールド:マウントオプション
第5フィールド:ファイルシステムをdumpする必要があるか否かの指定
「0」または無記述の場合はdump不要と見なされる
第6フィールド:システム起動時にfsckチェックを行うか否かの指定
「0」の場合はチェックを行わない。

@IT:/etc/fstabに記述されている数字の意味
Bash
vi /etc/fstab

#
# /etc/fstab
# Created by anaconda on Mon Aug 21 02:33:36 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=068679f1-b4ef-41a3-bcce-77b778304136 / xfs defaults 0 0
UUID=c3d9dfb6-09fc-4249-892d-1e3e3bc1e230 /home xfs defaults 1 2
# ↑確認したUUIDを最終行に追記する

OS起動前の自動マウント確認

ここまで順にコマンドを実行していた場合、既にマウント済みなので一度アンマウントしてマウントし直します。

Bash
df -h

ファイルシス  サイズ  使用  残り  使用%  マウント位置
devtmpfs         4.0M     0  4.0M    0% /dev
tmpfs            1.8G     0  1.8G    0% /dev/shm
tmpfs            730M   18M  713M    3% /run
/dev/sda1         39G   33G  6.3G   84% /
tmpfs            365M     0  365M    0% /run/user/0
/dev/sdb1         94G  697M   93G    1% /home

/dev/sdb1をアンマウントする

Bash
umount /home
df -h

ファイルシス  サイズ  使用  残り  使用%  マウント位置
devtmpfs         4.0M     0  4.0M    0% /dev
tmpfs            1.8G     0  1.8G    0% /dev/shm
tmpfs            730M   18M  713M    3% /run
/dev/sda1         39G   33G  6.3G   84% /
tmpfs            365M     0  365M    0% /run/user/0

/dev/sdb1をマウントし直す

Bash
mount -a
df -h

ファイルシス   サイズ  使用  残り  使用%  マウント位置
devtmpfs         4.0M     0  4.0M    0% /dev
tmpfs            1.8G     0  1.8G    0% /dev/shm
tmpfs            730M   18M  713M    3% /run
/dev/sda1         39G   33G  6.3G   84% /
tmpfs            365M     0  365M    0% /run/user/0
/dev/sdb1         94G  697M   93G    1% /home

OSを再起動して自動マウントを確認する

Bash
reboot

df -h

ファイルシス  サイズ  使用  残り  使用%  マウント位置
devtmpfs         4.0M     0  4.0M    0% /dev
tmpfs            1.8G     0  1.8G    0% /dev/shm
tmpfs            730M   18M  713M    3% /run
/dev/sda1         39G   33G  6.3G   84% /
/dev/sdb1         94G  697M   93G    1% /home
tmpfs            365M     0  365M    0% /run/user/0

以上で仮想ディスク増設が完了です。
お疲れ様でした。

コメント

タイトルとURLをコピーしました