LoginSignup
10
12

More than 5 years have passed since last update.

EBSのサイズを拡張した際のパーティション拡張作業

Posted at

この記事で書いている内容

  • このページはEBSのサイズを拡張した際に行う、パーティションサイズ拡張の方法について記載しています。
  • EBSはルートボリューム
  • パーティションをガシガシ切ったりはしていない
  • パーティションテーブル: gpt

前提

  • EBSはコンソールから容量を拡張してある
  • 拡張したEBSはEC2にアタッチされている

状態

EBSの容量を40GBから1000GBへ拡張したはずなのにEC2上では使えていなかった。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G   40G     0 100% /
tmpfs           1.8G     0  1.8G   0% /dev/shm

40GBしかない

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0 1000G  0 disk
└─xvda1 202:1    0   40G  0 part /

lsblkで確認するとバーティションを拡張する必要がある事がわかる。

パーティションの拡張手順

  1. 起動中のEC2を 停止 する
  2. 作業中の事故に備えてEBSボリュームのスナップショットを作成する
  3. EBSボリュームをセカンダリボリュームとしてマウントし作業するためのEC2を、EBSがアタッチされていたEC2と同一AZ上にローンチする
  4. 作業用インスタンスにEBSをアタッチし、作業を行う
  5. 作業終了後、EBSを作業用インスタンスからデタッチし、元のインスタンスにアタッチする
  6. 元のインスタンス上で作業と確認を行う

以上の手順で進めていきます

注意点

作業対象のEC2とEBSのidを控えましょう

EBSのルートデバイスのマウントポイントを必ず確認しましょう。

EC2_Management_Console.jpg

EC2のマネジメントコンソール上で確認できます

必ず控えるようにしましょう

  • EBSのスナップショット取得方法については省略します。
  • EBSのディタッチ方法については省略します

取り外すEBSを間違えないよう注意してください

  • 作業用のEC2を同一AZ上に立てる理由は、EBSのスナップショットはAZに紐付いているためです
  • 作業用インスタンスのidを控えましょう
  • 作業用インスタンスへのEBSのアタッチは省略します。マウントポイントが被らないかは注意しましょう

作業用EC2での作業

操作ログ

$ sudo parted /dev/xvdf
GNU Parted 2.1
/dev/xvdf を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) unit s                                                           
(parted) print                                                            
モデル: Xen Virtual Block Device (xvd)
ディスク /dev/xvdf: 2097152000s
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
​
番号  開始   終了       サイズ     ファイルシステム  名前  フラグ
 1    2048s  83886046s  83883999s  ext4                    boot

(parted) rm 1 
(parted) mkpart
パーティションの名前?  []?                                                
ファイルシステムの種類?  [ext2]? ext4                                     
開始? 2048s                                                               
終了? 100% 

(parted) print                                                            
モデル: Xen Virtual Block Device (xvd)
ディスク /dev/xvdf: 2097152000s
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
​
番号  開始   終了         サイズ       ファイルシステム  名前  フラグ
 1    2048s  2097149951s  2097147904s  ext4
​
(parted) set 1 boot on                                                    
(parted) print                                                            
モデル: Xen Virtual Block Device (xvd)
ディスク /dev/xvdf: 2097152000s
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
​
番号  開始   終了         サイズ       ファイルシステム  名前  フラグ
 1    2048s  2097149951s  2097147904s  ext4                    boot

補足

EBSがマウントされているか確認します

コマンド
$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0    8G  0 disk 
└─xvda1 202:1    0    8G  0 part /
xvdf    202:80   0 1000G  0 disk 
└─xvdf1 202:81   0   40G  0 part 

上記ではxvdfが今回作業するEBSです

コマンド
sudo parted /dev/xvdf
unit s

詳細情報を確認し、既存のパーティションを削除します

コマンド
rm 1

パーティションを作成

コマンド
(parted) mkpart
パーティションの名前?  []?  ←今回、名前のところが空欄だったので空欄でエンタ                                        
ファイルシステムの種類?  [ext2]? ext4  ←確認したところext4だったのでそれに従う                        
開始? 2048s ←確認した際開始が左記の通りだったため                                                     
終了? 100%  ←容量の100%まで拡張するので

フラグからbootが消えているので追加

コマンド
set 1 boot on

作業に際して問題が無いか確認します

エラーチェック

コマンド
$ sudo e2fsck -f /dev/xvdf1
e2fsck 2.12.10 (10-Aug-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/xvdf1: 109662/2621440 files (0.5% non-contiguous), 10481390/10485499 blocks

lsblkで確認した際のパーティションを指定

コマンド
sudo e2fsck -f /dev/xvdf1

以上で作業用インスタンスでの作業は終了です。
インスタンスを停止し、EBSをデタッチ後、課金回避のため作業用EC2を削除してください

元のEC2での作業

  • 作業用EC2からデタッチしたEBSを控えておいたポイントへ再度アタッチします(手順省略)
コマンド
$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0 1000G  0 disk 
└─xvda1 202:1    0 1000G  0 part /


確認します

コマンド
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G   40G     0 100% /
tmpfs           1.8G     0  1.8G   0% /dev/shm

このままでは以前と同じなので拡張します

コマンド
$ sudo resize2fs /dev/xvda1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old desc_blocks = 3, new_desc_blocks = 63
Performing an on-line resize of /dev/xvda1 to 262143488 (4k) blocks.
The filesystem on /dev/xvda1 is now 262143488 blocks long.

けっこう時間かかりました

コマンド
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      985G   41G  895G   5% /
tmpfs           1.8G     0  1.8G   0% /dev/shm

無事、容量の拡張ができました


参考

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

10
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
12