31
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EC2のディスク容量(EBS)を拡張する

Last updated at Posted at 2015-10-15

口上

単純に snapshot をとってそこから大きくしたいサイズの volume を作って インスタンス に アタッチ しなおして resize2fs すればいーじゃんと思ってたら、"Nothing to do!" と出てしまいうまく行かなかったので、その時に対応した自分用メモ。Management Console の細かい操作については結構省いています。

対象インスタンスの環境

EC2 AMI : CentOS 6 (x86_64) - with Updates HVM
ディスク容量 : 8G → 36G

手順

  1. 対象インスタンスの snapshot を取得する(出来るなら停止させてからがベスト)

  2. snapshot から volume を作成する。この際に拡張したいサイズで作成する(今回は36Gで)

  3. AmazonLinux(HVM) でSSHの可能な EC2 作業用インスタンスを適当にたてる

  4. 作成したばかりの 3. の作業用インスタンスをいったん停止する

    1. で作成した volume を 3. の作業用インスタンスにアタッチする(デバイスはここでは /dev/sdf にしました)
  5. 作業用インスタンスを起動する

  6. 作業用インスタンスに SSH して、5. でアタッチした volumeを lsblkコマンド で確認する

$ 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 36G 0 disk
└─xvdf1 202:81 0 8G 0 part ← 36Gのvolumeなのに8Gしか使ってない

6. `parted`コマンド でパーティションを拡張する

    ```
$ sudo parted /dev/xvdf
GNU Parted 2.1
Using /dev/xvdf
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit s    ← 単位をセクタ数に変更
(parted) print     ← 現在の状態を表示させる
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdf: 75497472s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
​
Number  Start  End        Size       Type     File system  Flags
 1      2048s  16777215s  16775168s  primary  ext4         boot    ← これが今の状態
​
(parted) rm 1                         ← パーティションを一旦削除する
(parted) mkpart primary 2048s 100%    ← パーティションを作成(セクタ2048から最後まで指定)
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdf: 75497472s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
​
Number  Start  End        Size       Type     File system  Flags
 1      2048s  75497471s  75495424s  primary  ext4                  ← 拡張したのがわかる
​
(parted) set 1 boot on    ← Flags に boot を付与する
(parted)
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdf: 75497472s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
​
Number  Start  End        Size       Type     File system  Flags
 1      2048s  75497471s  75495424s  primary  ext4         boot      ← boot が Flags に付与された
​
(parted)
(parted) quit    ← parted をぬける
Information: You may need to update /etc/fstab.
  1. 拡張したパーティションに fsck をかける (もし Fix? と聞かれたら全部 yes と応える)

$ sudo e2fsck -f /dev/xvdf1
e2fsck 1.42.12 (29-Aug-2014)
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: 25097/524288 files (0.2% non-contiguous), 828273/2096896 blocks


8. ファイルシステムを拡張する

    ```
$ sudo resize2fs /dev/xvdf1
resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on /dev/xvdf1 to 9436928 (4k) blocks.
The filesystem on /dev/xvdf1 is now 9436928 (4k) blocks long.
ここで `lsblk` で拡張っぷりを確認しておく

```

$ 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 36G 0 disk
└─xvdf1 202:81 0 36G 0 part ← 36G のvolume に対して 36G のパーティションであることがわかる


9. 作業用インスタンスを停止する
9. 拡張した volume を作業用インスタンスからデタッチする(この時点で作業用インスタンスは用済み)
10. 対象インスタンスを停止して、元々アタッチされていた volume をデタッチする
11. (容量を)拡張した volume を 対象インスタンスにアタッチする(たぶん /dev/sda1 で)
12. 対象インスタンスを起動する



# 参考にさせて頂いたページ
[EC2上のLinuxのパーティションを拡張する](http://blog.serverworks.co.jp/tech/2014/11/27/ecpanding_linux_partition/)
[Linux で EBS ボリュームのストレージ領域を拡張する](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-expand-volume.html)
[Linux パーティションを拡張する](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/storage_expand_partition.html)
31
29
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
31
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?