Storage Pool は libvirt が操作可能な記憶領域です。
例えば、 Akatsuki による VM 貸し出しのフローは
- テンプレート用のVMイメージをテンプレートのストレージプールから読み取る
- 貸し出し用ストレージプールにテンプレートのVMイメージをコピー
- 貸し出しインスタンスとしてコピーされたものを起動する
といった形式になっています。
状況
- ストレージプール a と b がある
- ストレージプール a に hoge.img がある
- hoge.img をストレージプール b に fuga.img として複製したい
状況を再現するコマンド
とりあえず前提条件のストレージプール a と b を作ります。
今回のストレージプールはディレクトリタイプ。
他にも特定のデバイスをプールにするタイプなどいろいろあります。
- # virsh pool-define-as a dir - - - - /path/to/a
- # virsh pool-build a
- # virsh pool-start a
- # virsh pool-autostart a
- # virsh pool-define-as b dir - - - - /path/to/b
- # virsh pool-build b
- # virsh pool-start b
- # virsh pool-autostart b
そして a に hoge.img を作ります。
- # virsh vol-create-as --pool a hoge.img 10G
イメージができました。vol-list で確認します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# virsh vol-list a | |
Name Path | |
------------------------------------------------------------------------------ | |
hoge.img /path/to/a/hoge.img |
やり方はいくつかありますが、今回は vol-create-from を使う方針でいきます。
その場合は xml が必要なので dumpxml で作っておきます。
- # virsh vol-dumpxml --pool a hoge.img > fuga.xml
fuga.xml の key や path を hoge の情報から、所望の情報に変更しましょう。
今回は /path/to/b/fuga.img になるように書き換えます。
そして vol-create-from でコピー。
- # virsh vol-create-from --inputpool a --vol hoge.img --pool b --file fuga.xml
再度 vol-list で確認します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# virsh vol-list --pool b | |
Name Path | |
------------------------------------------------------------------------------ | |
fuga.img /path/to/b/fuga.img |
環境
- OS: CentOS Linux release 7.4.1708 (Core)
- Kernel: 3.10.0-693.2.2.el7.x86_64
- virsh: 3.2.0
0 件のコメント:
コメントを投稿