血と汗となみだを流す

クラウドエンジニアになるための修業の場

t2.micro(EBS:マグネティック)からm5.large(EBS:SSD)にインスタンスタイプをあげたメモ

概要

  • 以下 条件 の移行をやってみた作業メモ

条件

  • インスタンスタイプをt2.microからm5.largeに変更
  • EBSをマグネティックからSSDに変更
  • EBSのボリュームサイズを10GiB→12GiBに増やす

準備

準備1(EC2建てる)

  • t2.microでEC2を建てる
    • ルートデバイス
      • /dev/xvda
      • 8GB
    • ブロックデバイス
      • /dev/xvda
      • /dev/sdb
      • 10GB
    • VPCとかSubnetは今回触りたいところじゃないのでdefault
    • SSHするためにPublic IP付与

準備2(ブロックデバイスパーティション分割)

  • EC2にssh接続
$ ssh -i [秘密鍵] ec2-user@[PublicIP]
$ sudo cfdisk /dev/sdb
                                                                                      cfdisk (util-linux 2.23.2)

                                                                                  ディスクドライブ: /dev/sdb
                                                                              サイズ: 10737418240 バイト. 10.7 GB
                                                             ヘッド: 255   トラック当たりのセクタ: 63   シリンダ: 1305

         名前                          フラグ                       パーティションタイプ      FSタイプ                                [ラベル]                            サイズ (MB)
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                                                     基本/論理                空き領域                                                                     10737.42                  *

            [ヘルプ ]     [新規作成]    [  表示  ]    [  終了  ]    [  単位  ]    [書き込み]


                                                               空きパーティションから新しくパーティションを作成
  • 選択項目
    • [新規作成]
    • [基本領域]
    • [書き込み]
  • ブロックデバイスを一覧表示
$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdb    202:16   0  10G  0 disk
└─xvdb1 202:17   0  10G  0 part
  • ext3でフォーマット(なぜext3かは◯◯上の理由)
$ sudo mkfs -t ext3 /dev/sdb1
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 2621432 4k blocks and 655360 inodes
Filesystem UUID: d46d0ff2-5c03-45d6-ae8d-319e5ba3a945
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

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

準備3(ブロックデバイスをマウントする)

$ sudo mkdir /data
$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdb    202:16   0  10G  0 disk
└─xvdb1 202:17   0  10G  0 part
  • fstab修正
$ sudo vim /etc/fstab

(追加)
/dev/xvdb1  /data       ext3    defaults        0   0
  • マウント
$ sudo mount -a
  • 確認
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         483M   68K  483M    1% /dev
tmpfs            493M     0  493M    0% /dev/shm
/dev/xvda1       7.8G  1.1G  6.7G   14% /
/dev/xvdb1       9.8G   23M  9.2G    1% /data
$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdb    202:16   0  10G  0 disk
└─xvdb1 202:17   0  10G  0 part /data

変更作業

参考

EBSの変更

  • [EC2]-[ボリューム]-[アクション]-[ボリュームの変更]
    • マグネティック → SSD
    • 10Gib → 12GiB

インスタンスタイプ変更

ディスクリサイズ

  • disk確認(m5はNVMeだった)
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         3.8G   56K  3.8G    1% /dev
tmpfs            3.8G     0  3.8G    0% /dev/shm
/dev/nvme0n1p1   7.8G  1.1G  6.7G   14% /
$ lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:2    0   8G  0 disk
├─nvme0n1p1   259:3    0   8G  0 part /
└─nvme0n1p128 259:4    0   1M  0 part
nvme1n1       259:0    0  12G  0 disk
└─nvme1n1p1   259:1    0  10G  0 part
$ sudo growpart /dev/nvme1n1 1
/usr/bin/growpart: 行 170: シリンダ数*255、63*: 構文エラー: オペランドが予期されます (エラーのあるトークンは "シリンダ数*255、63*")
$ locale
LANG=ja_JP.UTF-8
LC_CTYPE=ja_JP.UTF-8
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
$ export LANG="en_US.UTF-8"
$ sudo growpart /dev/nvme1n1 1
CHANGED: partition=1 start=63 old: size=20971457 end=20971520 new: size=25157727,end=25157790
$ lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:2    0   8G  0 disk
├─nvme0n1p1   259:3    0   8G  0 part /
└─nvme0n1p128 259:4    0   1M  0 part
nvme1n1       259:0    0  12G  0 disk
└─nvme1n1p1   259:6    0  12G  0 part
$ sudo resize2fs /dev/nvme1n1p1
resize2fs 1.42.12 (29-Aug-2014)
open: No such device or address while opening /dev/nvme1n1p1
  • 一旦再起動
- sudo reboot
  • 再実施:拡張デバイス名変更(エラー)
$ sudo resize2fs /dev/nvme1n1p1
resize2fs 1.42.12 (29-Aug-2014)
Please run 'e2fsck -f /dev/nvme1n1p1' first.
$ sudo e2fsck -f /dev/nvme1n1p1
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/nvme1n1p1: 11/655360 files (0.0% non-contiguous), 79696/2621432 blocks
  • 再実施2回目:拡張デバイス名変更(エラー)
$ sudo resize2fs /dev/nvme1n1p1
resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on /dev/nvme1n1p1 to 3144715 (4k) blocks.
The filesystem on /dev/nvme1n1p1 is now 3144715 (4k) blocks long.
  • fstab修正
$ sudo vim /etc/fstab

(変更)
/dev/xvdb1  /data       ext3    defaults        0   0
↓
/dev/nvme1n1p1  /data       ext3    defaults        0   0
  • mount
$ sudo mount -a
  • 確認
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         3.8G   56K  3.8G    1% /dev
tmpfs            3.8G     0  3.8G    0% /dev/shm
/dev/nvme0n1p1   7.8G  1.1G  6.7G   14% /
/dev/nvme1n1p1    12G   26M   12G    1% /data

要検証箇所

  • growpartしたあと、resize2fsしたらなぜかデバイスが認識されなかった・・・(rebootで認識された)
open: No such device or address while opening /dev/nvme1n1p1