ダッシュボードから ボリューム ページにおいて、ブロックストレージをインスタンスに接続できます。接続したいボリュームの隣にある アクションをクリックします。
このアクションをコマンドラインから実行するには、以下のコマンドを実行します
$ nova volume-attach <server> <volume>
nova コマンドラインクライアントから以下のように、インスタンスの起動時にブロックストレージのマッピングを指定することもできます。
--block-device-mapping <dev-name=mapping>
ブロックデバイスのマッピング形式は <dev-name=<id>:<type>:<size(GB)>:<delete-on-terminate>
です。ここで、
- dev-name
そのボリュームはシステムで
/dev/
に接続されます。dev_name
id
起動するボリュームの ID です。nova volume-list の出力に表示されます。
- type
ボリュームがスナップショットから作成されたことを意味する
snap
、またはsnap
以外の何か (空文字列も有効) です。上の例では、ボリュームがスナップショットから作成されていません。そのため、この項目を以下の例において空白にしてあります。- size (GB)
ボリュームのギガバイト単位の容量。このフィールドを空欄にして、Compute サービスに容量を推定させるのが安全です。
- delete-on-terminate
インスタンスが終了したときに、ボリュームが削除されるかどうかを指示する論理値です。真は
True
または1
として指定できます。偽はFalse
または0
として指定できます。
ブート可能なファイルシステムイメージでブロックストレージを事前に準備していると、永続ブロックストレージからブートすることもできます。以下の例は ID=13
のボリュームからブートしようとしています。終了時に削除されません。--key-name
を有効なキーペア名で置き換えてください。
$ nova boot --flavor 2 --key-name mykey --block-device-mapping vda=13:::0 boot-from-vol-test
バグ 1163566 (https://bugs.launchpad.net/nova/+bug/1163566) のため、Horizon においてボリュームからブートするとき、このイメージを使用しないにも関わらず、イメージを指定しなければいけません。
普通にイメージからブートし、ブロックストレージを接続するには、vda 以外のデバイスをマッピングします。