Debian 12

[更新: 2023年8月8日]

本手順書の対象は標準OSの Debian 12 です。他の方式にてインストールされた Debian 12 は対象外となります。
初期提供時の仮想ディスクパーティションの構成が変更があった場合、本手順書では適応しないので、ご注意ください。

本手順書で想定している仮想サーバーのスペックは以下の通りです。実際のスペックは、お客様の実環境に合わせてお読み替えください。

プラン

仮想CPU

仮想メモリ容量

仮想ディスク容量

スケールアップ前

512 MB

1 CPU

512 MB

25 GiB

スケールアップ後

1 G

2 CPU

1024 MB

50 GiB

スケールアップを実施する

スケールアップは「コントロールパネル」からおこないます。
手順の詳細については、 スケールアップ をご覧ください。

ヒント

スケールアップ実施の前に、重要なデータのバックアップ取得をお勧めいたします。

ディスク拡張の準備作業

サーバーを起動、ログイン

スケールアップ完了後、VPSコントロールパネルの「電源操作」から「起動する」を押して仮想サーバーを起動します。

サーバの起動方法

VNCコンソールまたはSSH経由で仮想サーバーへログインし、deibanユーザーに切り替えます。

スケールアップ後のディスク空き容量を利用する為には、次の方法が有ります。 お客様の環境及びご利用方法に合わせて、選択ください。

新しいパーティションを追加する

スケールアップで拡張されたディスクの空き領域に、新しいパーティションを作成し、マウントポイント /data にマウントします。

必要なパッケージをインストール

ディスクの状態の確認および拡張には、gdisk という名前のパッケージが必要です。もしインストールされていなければ、あらかじめインストールしておきます。

$ dpkg -l gdisk
dpkg-query: no packages found matching gdisk

$ sudo apt install -y gdisk

ディスクの状態を確認

現在のディスクの状況を確認します。

$ sudo gdisk -l /dev/vda
GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/vda: 104857600 sectors, 50.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): C0797819-0ACD-4F04-83A5-E93679494B92
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 52428766
Partitions will be aligned on 2048-sector boundaries
Total free space is 4413 sectors (2.2 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  primary
   2            4096        52426367   25.0 GiB    8300  primary

$ lsblk /dev/vda
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda    252:0    0  50G  0 disk
├─vda1 252:1    0   1M  0 part
└─vda2 252:2    0  25G  0 part /
gdisk コマンドの結果から /dev/vda のサイズは 50GB に拡張されたのがわかります。
しかし、OS側からの認識状況を確認しますと2つのパーティションとして認識している容量の合計は25GBです。
また、lsblk コマンドの結果から標準OSインストールしたパーティション「vda1」「vda2」の2つが確認できます。

パーティションをソートする

先ほどの gdisk コマンドの実行結果を見ますと、Total free space (合計空き容量) が正しく認識されていないことがわかります。
「4413 sectors (2.2 MiB)」の表示、つまり空き容量が2.2MB程度ですが、本来は 25GB あります。
これを整理(ソート)して正しい情報にするには、以下のコマンドを実行します。
$ sudo sgdisk -s /dev/vda
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

実行後、もう一度 gdisk コマンドでディスクの状況を確認します。

$ sudo gdisk -l /dev/vda
GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/vda: 104857600 sectors, 50.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): C0797819-0ACD-4F04-83A5-E93679494B92
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 104857566
Partitions will be aligned on 2048-sector boundaries
Total free space is 52433213 sectors (25.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  primary
   2            4096        52426367   25.0 GiB    8300  primary
今度は Total free space が増えたのがわかります。
「52433213 sectors (25.0 GiB)」と表示されており、正常に空き容量を認識しました。

新しいパーティションを作成する

スケールアップにより増えたディスク容量を OS 認識ができましたので、gdisk コマンドで新しいディスクパーティションを作成します。

$ sudo gdisk /dev/vda
GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

*[ n ] コマンドを入力します。新しいパーティションを作るという意味です。*
Command (? for help): n

*Partition number はデフォルトの [ 3 ] にしますので、そのまま [ Enter ] キーを押します。*
Partition number (3-128, default 3):

*Fisrt sector/Last sector もデフォルトの数値にするので、そのまま [ Enter ] キーを押します。*
First sector (34-104857566, default = 52426752) or {+-}size{KMGTP}:
Last sector (52426752-104857566, default = 104857566) or {+-}size{KMGTP}:

*Partition Type もデフォルトの [ Linux filesystem ] で問題がなければ、そのまま [ Enter ] キーを押します。*
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'

*作成完了したので、 [ p ] コマンドでパーティションテーブルの確認をします。*
Command (? for help): p
Disk /dev/vda: 104857600 sectors, 50.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): C0797819-0ACD-4F04-83A5-E93679494B92
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 104857566
Partitions will be aligned on 2048-sector boundaries
Total free space is 2398 sectors (1.2 MiB)

*表示されている新しいパーティションテーブルにサイズなどの問題がないことを確認します。*
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  primary
   2            4096        52426367   25.0 GiB    8300  primary
   3        52426752       104857566   25.0 GiB    8300  Linux filesystem

*問題がなければ [ w ] コマンドを入力します。*
Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

*もう一度確認をして問題がなければ [ y ]を入力して、 [ Enter ] キーを押します。*
*このコマンドを実行すると、ディスクの書き換えが発生するので、必ず確認した上で実行しましょう。*
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/vda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

ファイルシステムの作成

新規作成したパーティションを利用するには、フォーマットして、マウントする必要があります。
以降の例ではファイルシステムを ext4 形式でフォーマットし、 /data にマウントする手順を説明します。

まず新しいディスクパーティションがOS上にデバイスとして認識されているかを確認します。
$ ls /dev/vda3
ls: cannot access '/dev/vda3': No such file or directory

vda3 が デバイスとして認識されていない場合、一度OSを再起動します。

$ sudo reboot

再起動が困難な場合は、以下のコマンドで強制的に認識させることも可能です。

$ sudo partx -a /dev/vda

vda3 がOSに認識されたら、 mkfs.ext4 コマンドでフォーマットを実行します。

$ sudo mkfs.ext4 /dev/vda3
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 6553600 4k blocks and 1641600 inodes
Filesystem UUID: 1c4f5e5c-bfc7-4ecd-b0f8-a5bb521c21fc
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

新しいパーティションのマウント

初期化した領域を使うため、マウントポイントを作成します。
マウントポイントの作成後、 /dev/vda3 を /data にマウントします。
$ sudo mkdir /data
$ sudo mount /dev/vda3 /data

マウントが完了したかどうかを確認します。

$ mount | grep vda3
/dev/vda3 on /data type ext4 (rw,relatime)
$ lsblk /dev/vda
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda    252:0    0  50G  0 disk
├─vda1 252:1    0   1M  0 part
├─vda2 252:2    0  25G  0 part /
└─vda3 252:3    0  25G  0 part /data
25G のサイズで /data にマウントされていることが確認できます。
最後にOSを再起動してもマウントできるように、 /etc/fstab に設定を追加します。
$ id=$(sudo blkid -o value -s UUID /dev/vda3)
$ echo "UUID=${id} /data  ext4  defaults 0 2" | sudo tee -a /etc/fstab

サーバーの再起動

拡張したディスクが正しく動作するか確認するためにサーバーを再起動します。

$ sudo reboot

サーバーを再起動した後に、df コマンドなどで作成した領域がマウントされていることを確認できれば作業完了です。

ルートパーティションを拡張する

スケールアップで拡張されたディスクの空き領域を利用して、既存の / パーティションを拡張します。 / パーティションの後ろに拡張の為の空き容量が存在する必要が有ります。

注意

記載の内容は、ご利用のOSやバージョンなどによっては動作しない、または動作が異なる場合があり、弊社が公式にサポートする内容ではございません。 ファイルシステムの操作のため、作業に失敗するとデータが破損する場合があります。 作業前に必ずバックアップを取得してください。

ディスクの状態を確認

現在のディスクの状況を確認します。

$ sudo gdisk -l /dev/vda
GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/vda: 104857600 sectors, 50.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): C0797819-0ACD-4F04-83A5-E93679494B92
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 52428766
Partitions will be aligned on 2048-sector boundaries
Total free space is 4413 sectors (2.2 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  primary
   2            4096        52426367   25.0 GiB    8300  primary
$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda2        25G  2.4G   22G  10% /

gdisk コマンドの結果から /dev/vda のサイズは 50GB に拡張されていることが確認できます。 しかし、/パーティションが存在する /dev/vda2 は 約50GB のままで有る事が確認できます。

パーティションを拡張する

growpart コマンドを利用するとパーティションを拡張できます。 インストールされていない場合は、次のコマンドでインストールが可能です。

$ sudo apt install cloud-guest-utils

growpart コマンドには、対象ブロックデバイスと、gdiskコマンドで確認したパーティション番号を順に指定します。 今回の例では、 /dev/vda の パーティション 2番ですので、次のように実行します。

$ sudo growpart /dev/vda 2

実行後、再び gdisk コマンドを実行し、パーティションサイズが正常に拡張されている事を確認します。

$ sudo gdisk -l /dev/vda
GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/vda: 104857600 sectors, 50.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): C0797819-0ACD-4F04-83A5-E93679494B92
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 104857566
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  primary
   2            4096       104857566   50.0 GiB    8300  primary

ファイルシステムをリサイズする

パーティションの拡張後、ファイルシステムをリサイズしなければ実際に利用できないので、 / パーティションをリサイズします。

$ sudo lsblk -f
NAME   FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sr0
vda
├─vda1
└─vda2 ext4   1.0         7fdeb88d-fa92-4c57-9f14-1306d14b8bf6   21.3G     9% /

lsblk コマンドに -f オプションを用いて、/ パーティションで利用しているファイルシステムを確認します。 今回の例では、 ext4 ですので、resize2fs コマンドを用いてファイルシステムをリサイズします。 resize2fs には、Linuxにより認識されているブロックデバイスを引数として渡します。

$ sudo resize2fs /dev/vda2

最後に、正常に拡張されたか df コマンド等を用いて確認します。

$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda2        50G  2.1G   45G   5% /