LoginSignup
0
0

More than 3 years have passed since last update.

EC2でのボリューム追加

Last updated at Posted at 2020-05-28

AWSのEC2とかで、ボリュームを追加してもそのまま使えません。
ボリュームをマウントした上で、ドキュメント領域を移動する必要があります。

参考:https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-using-volumes.html

現状の確認

1. diskの確認

lsblkコマンドで確認します

$ 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   8G  0 disk

AWSのコンソールでも見えているように、8GiBのディスクが2つ認識されています
image.png

2. ディスクの利用状況の確認

dfコマンドで確認します

$ df

Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          482556       0    482556   0% /dev
tmpfs             506492       0    506492   0% /dev/shm
tmpfs             506492   25804    480688   6% /run
tmpfs             506492       0    506492   0% /sys/fs/cgroup
/dev/xvda1       8377344 2516396   5860948  31% /
tmpfs             101300       0    101300   0% /run/user/1001

FileSystemには xvda1しか割り当てられていないのが分かります

で、xvdbをマウントするとOSから利用可能になるのですが、ファイル容量が必要なログディレクトリとか/var/www/htmlとかは /配下にあるので、そのディレクトリをマウントする必要があります。

とはいえ、新しく増やした領域を /var/www/htmlにマウントすると全て見えなくなってしまうので、
別のディレクトリにマウントした上で、ファイルを退避してディレクトリを書き替える必要が出てきます

ファイルシステムがあるかどうかを確認します

$ sudo file -s /dev/xvdb
/dev/xvdb: data

3. ファイルシステムを作成する

未加工のブロックデバイスなので、ボリュームにファイルシステムを作成します

$ sudo mkfs -t xfs /dev/xvdb
meta-data=/dev/xvdb              isize=512    agcount=4, agsize=524288 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2097152, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

再度ファイルシステムを確認します

# sudo file -s /dev/xvdb
/dev/xvdb: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

4. ディレクトを作成してマウント

移動したいファイルを一旦退避してコピーする

$sudo mv /var/www /var/www2
$ sudo mkdir /var/www
$ sudo mount /dev/xvdb /var/www

※ 心配があるならば、自動マウントの設定、確認をしてから移動をした方がいいかも・・

退避したディレクト以下のディレクトリを移動します

$ sudo mv /var/www2/cgi-bin /var/www/cgi-bin
$ sudo mv /var/www2/html /var/www/html

ディレクトリが移動されていることを確認

$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          482556       0    482556   0% /dev
tmpfs             506492       0    506492   0% /dev/shm
tmpfs             506492   25812    480680   6% /run
tmpfs             506492       0    506492   0% /sys/fs/cgroup
/dev/xvda1       8377344 2273452   6103892  28% /
tmpfs             101300       0    101300   0% /run/user/1001
/dev/xvdb        8378368  277444   8100924   4% /var/www

5. 自動マウントの設定

まずは、デバイスのUUIDをblkidで確認します

$ sudo blkid
/dev/xvda1: UUID="388a99ed-9486-4a46-aeb6-06eaf6c47675" TYPE="xfs"
/dev/xvdb: UUID="719d9ce5-984d-4dd8-89e8-ca9fb0934508" TYPE="xfs"

fstabファイルをバックアップを取った上で編集します

$ sudo cp /etc/fstab /etc/fstab.orig
$ sudo vi /etc/fstab

UUID=388a99ed-9486-4a46-aeb6-06eaf6c47675 /                       xfs     defaults        0 0
UUID=719d9ce5-984d-4dd8-89e8-ca9fb0934508 /var/www                xfs     defaults        0 2

fstabが動作することの確認
ディスクを取り外して(unmount : コマンドはumountだけど)、設定ファイル通りにマウントを試す

$ sudo umount /var/www
$ sudo mount -a

エラーが出なければ問題なし!
ここで何かあったら、こちらを確認して下さい
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-using-volumes.html

6. 最後にインスタンスを再起動して動作確認!

再起動してwebサイトにアクセスしたらつながらなくて焦ったのですが、httpdが起動していなかっただけでした。 systemct enable httpd をしてなかった💦

0
0
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
0
0