EC2の容量を増やす!(しっかり反映まで)

以下のようなエラーが出ました。

ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory

深層学習のコードで、Tensorflowが吐いたものでした。
内容としては、Cudaがないですよ!ってものです。
Cuda(クーダ)はGPU向けの汎用並列計算プログラムで、Pythonは直接は関係ありませんが、TensorflowでGPU使うときに(たぶん)必須です。
で、これをLinuxにインストールしようとしたところ5Gほどあって、今の一番小さなEC2インスタンスには入らなかったのです。
で、容量を増やそうと。

2種類のストレージ

参考にしたのは以下。
AWS EC2インスタンスのディスク容量追加をしてみる

EC2のストレージは二種類あります。
・EBS(Elastic Block Storage)
高い可用性と耐久性を持つストレージ

・インスタンスストア
インスタンス用のブロックレベルの一時ストレージ

後者の一時ストレージだと、再起動などで消えてしまうので、EBSを増やすことに。

ストレージの追加

1. コンソールのEC2のサービス画面を開きます
2. Elastic Block Storageを開きます
3. ボリュームを選択
4. 所持しているボリュームの中から一つを選択


5. 上のアクションボタンからボリュームの変更を選択
6. ボリュームを好きな値に変更(一度増やしたら減らせません)

で完了!

…と思いきや反映はまだです。

ストレージ(ボリューム)追加の反映

lsblk
というコマンドで、diskとパーティションの容量を確認できます。
まだパーティションの方の容量が増加していません。

そこで

sudo growpart /dev/xvda 1
sudo xfs_growfs / 

を打ってやると、無事パーティションも容量増えました!

一番下の行の一番右 '/' が、このパーティションがマウントしているディレクトリなので、ここが違う場合は先ほどの sudo xfs_growfs のあとのパスも変えるらしいです。

後対象ボリュームのファイルシステムがxfsでなくext4のときは、sudo xfs_growfsの代わりに、
sudo resize2fs <デバイス>
が必要になるそう。


一番小さいインスタンスだと容量本当に小さいんですね。
一度ボリューム増やしたら減らせないというのが当たり前ですが、割と渋いですね。
あと、まだCudaはドライバーの関係でインストールできていません…。
頑張ります…!


本日も事業/アプリ開発日記をご覧くださりありがとうございました!
良い1日を~!

この記事が気に入ったらサポートをしてみませんか?