ボリューム拡張
以下の手順が必要となる。
- AWS での EBS 拡張
- パーティションの拡張
- ファイルシステムの拡張
★ バックアップを作成
AWS 側でルートボリュームを確認
EC2 > 対象インスタンスを選択 > 「ストレージ」タブ > ルートデバイス名を確認する。
/dev/sda1
「ブロックデバイス」の一覧から、先ほどのルートデバイスに アタッチされているボリューム ID を確認する。
サイドバーの「ボリューム」を開く。
先ほどのボリューム ID をもとに、アタッチされているボリュームを特定する。
RLogin で OS 側の情報を確認
findmnt /
TARGET SOURCE FSTYPE OPTIONS
/ /dev/xvda2 xfs rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota
以下が確定する。
- パーティション:
/dev/xvda2 - ファイルシステム:
xfs(XFS 形式)
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
NAME SIZE TYPE MOUNTPOINT
xvda 10G disk
├─xvda1 1M part
└─xvda2 10G part /
MOUNTPOINT にルート(/)が指定されている xvda2 が、ルートボリュームのパーティション(区画)である。
AWS でボリュームを拡張
★ スナップショットを作成
先ほど確定させたルートボリュームを選択する。
[アクション]>[ボリュームの変更]
容量を拡張する。
「ボリュームの状態」が正常に戻るまで待つ。
RLogin で OS 側の情報を拡張
ディスクが拡張されたか確認する。
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
NAME SIZE TYPE MOUNTPOINT
xvda 50G disk
├─xvda1 1M part
└─xvda2 10G part /
※ パーティションはまだ拡張されていない。
パーティション(/dev/xvda2)を末尾まで拡張する。
sudo dnf -y install cloud-utils-growpart
sudo growpart /dev/xvda 2
パーティションが拡張されたか確認する。
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
NAME SIZE TYPE MOUNTPOINT
xvda 50G disk
├─xvda1 1M part
└─xvda2 50G part /
ファイルシステムのルートを拡張
ファイルシステムのルートを拡張する。
sudo xfs_growfs /
拡張されたか確認する。
df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/xvda2 50G 8.8G 42G 18% /
AWS でボリュームのタイプを変更(必要であれば)
gp2 → gp3 へ変更する。
[ボリューム]>先ほどのルートボリュームを選択 > [アクション]>[ボリュームの変更]
用語集
xfs とは?
ファイルシステムの管理ルール(規格)のようなものであり、 以下のような情報を管理している。
- ファイル/フォルダの「目次」をどのように持つか(どのファイルがあるか、名前、階層構造など)
- ファイルの実データの位置情報(このファイルの中身がディスクのどこに書かれているか)
- 権限や所有者、日時などのメタ情報(owner、group、パーミッション、更新日時など)
- 破損しないための仕組み(ジャーナリング)(書き込み途中で停止しても整合性が保たれやすいようにする)
- 空き領域の管理(割り当て/解放)(どこが空いているか、どこに次のデータを書き込むか)
ボリュームとディスク
ストレージそのものを指す。 ストレージを物理ディスクで管理していた時代の名残で、 OS がストレージを指す場合は「ディスク」と呼ぶ。
ボリューム(EBS)とは、 AWS などのクラウドサービス上の仮想ディスクである。
パーティション
ディスクを分割した区画である。
ディレクトリのようなもの。

コメント