バイオインフォマティクスでは大きなファイルを扱うことがあるので、ディスク不足に陥ることがあります。最近、よく使われる AWS EC2 でディスクが不足した場合は、新しくボリュームを作成して、インスタンスにアタッチすることができます。ディスクのフォーマットやマウントが必要で、追加したディスクを使えるようになります。必要最低限の操作と注意すべき点・つまずきやすい点などを中心にまとめたいと思います。
AWS 「ディスク容量不足」は「新しいボリュームを追加」で解決
AWS ヘルプ
amazonのヘルプ(Linux で Amazon EBS ボリュームを使用できるようにする)で詳細に説明されています。
新しいボリュームを作成
EC2のメニューで、「新しいボリュームの作成」を選び、サイズとリージョンを指定してボリュームを作成します。リージョンはアタッチしたいインスタンスのリージョンにあわせます。
新しいボリュームが作成されたら、右クリックでアタッチするインスタンスを指定します。
AWS インスタンスで追加ディスクを使う
ディスクの追加を確認
アタッチ先として指定したインスタンス側で、追加したボリュームを確認します。
$ lsblk xvda └─xvda1 xvdf <--- アタッチされた新しいボリューム
ファイルシステムを作成
新規にボリュームを作成した場合、まずはファイルシステムを作成します。ファイルシステムが既に存在するボリュームに対してmkfsコマンドを実行すると、既存のデータが削除されるので注意します。
$ sudo mkfs -t xfs /dev/xvdf
マウント
インスタンスのマウントポイント(/mnt ディレクトリ)に、新しいディスクをマウントします。もし、マウントするディレクトリがなければ、mkdirコマンドで作成してからマウントします。マウント作業には、管理者権限を指定して行います。
$ sudo mount /dev/xvdf /mnt
所有者の設定
マウントしたディスクの所有者を変更します。
$ sudo chown ubuntu /mnt
AWS 再起動時の自動マウント
fstabにマウント情報を追加しておくと、起動時にマウント処理を自動で行います。
デバイス情報
blkidコマンドでfstabに書き込む情報を確認します。追加ディスクの情報を表示する場合は、管理者権限で実行します。
$ sudo blkid /dev/xvda1: LABEL=... # ルートデバイスの情報 /dev/xvdf: UUID="abcd-1234-...." TYPE="xfs"
fstabの編集
エディタでfstabを編集します。管理者権限を指定します。blkidで確認したデバイス情報とマウントポイントなどをタブ区切りで記述します。
# 例 UUID=abcd-1234-.... /mnt xfs defaults,nofail 0 2 # 項目 # --- # ID(UUID) # マウントポイント(/mnt) # ファイルシステム(xfs) # オプション # ・defaults:async auto dev exec nouser rw suid # ・nofail:ディスクマウントに失敗してもブートする # dump(ほとんどの場合、0) # pass(rootファイルシステム以外は、2)
自動マウントの確認
自ら、マウント済みのディスクをアンマウントして、mount -aでマウントされるかを確認します。エラーが発生した場合はfstabの記述にミスがあるかもしれないので、内容を確認して対処します。
エラーが発生せずマウントできた場合は、次回から再起動しても自動でマウントされます。
$ sudo umount /mnt $ sudo mount -a