前フリ
昨年から3年生対象のrails開発の演習でAWS Academyを利用しています。その前はAWS Educateを、さらにその前はc9.ioでcloud9を利用させてもらってきました。
演習は前期からスタートするのですが後期にはコード量も増えて仮想マシンに割り当てられたHDDの残容量が少なくなることがよくありました。手順をメモして学生さんに伝えていたはずですが見つからず。。。どこにメモしたのかわかりません。
ということで、再度になりますが(というかこの手の情報はネットにありますが。。。)、学生さんにポインティングするためにメモしておきたいと思います(WORDで手順書を作ったのですがたぶんそのファイルも来年にはどこかに行ってしまうはずなのでブログにしておけば見つけやすいかと、個人的にです)。
本題
症状
- cloud9を利用したときに画面上部に赤字で「Your environment is running out of disk space. Please free up space or resize your EBS volume」などワーニングが出る。このメッセージはディスクスペースに空きがないため表示されます。メッセージには対処方法として「EBS(cloud9を実行しているマシン、つまりEC2に割り付けたられたファイルシステム)を拡張してはいかがですか」とも書かれているはずです。
原因
- cloud9で開発環境を新規作成するときのLinuxマシン(Amazon Linuxもしくはubuntu)のディスクイメージサイズは10GiBです。演習でプログラムを作成していると残容量が足りなくなることがあります。railsであれば、railsディレクトリ内のtmp以下を削除すれば一時的にディスク容量をあけることができますが。。。あくまで一時的になります。
対処方法
- 以下の説明はAWS Academyでcloud9を普段から使って演習している方を想定しています。
AWS Academyにログインし、サービス一覧からCloud9にアクセスします。私の画面は以下のようになりました。私の仮想マシンはSWEXE2022と名付けていますのでその名前SWEXE2022をクリックします。
すると以下の画面になりますので「Manage EC2 Instance」ボタンをクリックします。
以下の画面に変わりますので、①ボリュームをクリックし、ボリュームが1つ表示されるはずなので②のチェックボックスを選択し、③のアクションメニューボタンを押し、④のボリューム変更ボタンを押します。
以下の画面になるのでサイズ「10」を「20」に変えて変更ボタンを押します。
ブラウザの更新ボタンを押すと「10GiB」が以下のように「20GiB」に変更されるはずです。
いつもの演習のようにcloud9を起動し、ターミナルで「df -h」というディスクの空き容量を見るコマンドを実行します。/dev/xvda1がシステム全体のパーティションで、私のマシンでは現在のところ全体容量が9.6GBのうち7.5GBを使っていてパーティション全体の79%が使用中と表示されています。これはボリュームサイズが10GBのままとなっているのです。そこで、このパーティションのサイズを20GiBまで拡張するためコマンドを入力します。
コマンドは以下の2つです。
sudo growpart /dev/xvda 1 sudo resize2fs /dev/xvda1
- パーティションのサイズが拡張できたか、ターミナルで再度「df -h」を実行します。下図のように/dev/xvda1のサイズが20Gになっていて、使用率が約半分になっていれば成功です。
お疲れ様でした。