2023-08-19
マシンを停止することなく容量を増やすことができます。AWSマネジメントコンソールでのGUI作業と、Ubuntu SSHターミナルでのCUI作業があります。
AWSマネジメントコンソールでの作業
インスタンス画面で、増やしたいインスタンスのIDをクリックし、「ストレージ」タブを開き、ボリュームIDをクリックしボリュームを開きます。
対象ボリュームにチェックを入れ、「アクション」→「スナップショットの作成」で、スナップショットを取っておきます。
Ubuntuコンソールでの万一の失敗に備えて、スナップショットを取っておけばこの時点に戻せます。
スナップショット作成を終えたら再びボリュームの「アクション」→「ボリュームの変更」画面を開きます。
希望する容量をエディットボックスに入力して「変更」すればOK。なお、増やすことはできても減らすことはできません。今回は32Gibだったものを1000Gibに増やしてみました。
ボリュームの状態タブが使用中...optimizingが100%になるまで待ちます。文字が緑色OKになれば変更完了。
Ubuntu SSHターミナルでの作業
次にUbuntu本体マシンの中に入って認識作業を行います。まず現在の状況をlsblkとdfコマンドで確認します。
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS nvme0n1 259:0 0 1000G 0 disk tqnvme0n1p1 259:2 0 31.9G 0 part / tqnvme0n1p14 259:3 0 4M 0 part mqnvme0n1p15 259:4 0 106M 0 part /boot/efi df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/root ext4 31G 27G 4.3G 87% / tmpfs tmpfs 7.6G 108K 7.6G 1% /dev/shm tmpfs tmpfs 3.1G 916K 3.1G 1% /run tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/nvme0n1p15 vfat 105M 5.3M 100M 5% /boot/efi tmpfs tmpfs 1.6G 4.0K 1.6G 1% /run/user/1000
nvme0n1というデバイスに先ほど1000GiBに拡張されたディスクが認識されており、それがパーティション1=nvme0n1p1に切られ、ルートディスク=/dev/root以下にマウントされているのがわかります。
ただしマウントは拡張前に行われているため、拡張前のサイズ=32Gibのままです。これをgrowpartコマンドで目一杯まで拡張します。
sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=227328 old: size=66881503 end=67108831 new: size=2096924639 end=2097151967
nvme0n1のパーティション1を限界突破せよというコマンドで、ちゃんとできたか確認します。
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS nvme0n1 259:0 0 1000G 0 disk tqnvme0n1p1 259:2 0 999.9G 0 part /
バッチリ拡張されました。ただしまだファイルシステムの拡張が為されていないので、シメで拡張します。Ubuntuではresize2fsコマンドを使います。
sudo resize2fs /dev/nvme0n1p1 resize2fs 1.46.5 (30-Dec-2021) Filesystem at /dev/nvme0n1p1 is mounted on /; on-line resizing required old_desc_blocks = 4, new_desc_blocks = 125 The filesystem on /dev/nvme0n1p1 is now 262115579 (4k) blocks long.
パーティションのデバイスファイルをダイレクトに指定します。出力では成功したような事を言っています。では確認してみましょう!
df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/root ext4 969G 27G 943G 3% /
問題なく拡張されました!万が一これまでの過程で何か致命的な問題が発生した場合、最初に取ったスナップショットで復旧しましょう。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
さくらインターネットでPython MecabをCGIから使う
さくらインターネットのPHPでAnalytics-G4 APIを使う
インクルードパスの調べ方
【Git】特定ファイルを除外する.gitignore
【Ubuntu/Debian】NVIDIA関係のドライバを自動アップデートさせない
【Python】Spacyを使用して文章から出発地と目的地を抜き出す
HomeBrewでApache2を入れて自動起動つきで動かしPHPモジュールと連携する
macOSに標準付属のApacheを自動起動つきで動かす
HomeBrewでPostgreSQLを入れて自動起動つきで動かす
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Windows版Google Driveが使用中と言われアンインストールできない場合
【Apache】サーバーに同時接続可能なクライアント数を調整する
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Linux】iconv/libiconvをソースコードからインストール
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
【ウマ娘】デイリーレースに雨の状態で出走するには
最新版のOpenSSH Serverにしたら公開鍵ログインできなくなった場合