KVMでマウントされているディスクを交換する
いつもKVM仮想マシンは、仮想マシンを作成するときのインストールイメージをマウントさせたままだったのですが、ソフトウェアのインストールにCDのISOイメージをマウントさせる必要がでてきました。
共有フォルダにコピーするのは4時間とかかかるようなのでddでisoイメージを作った方が早いという…。
コマンドは次の通り。
# virsh attach-disk %domain% %イメージファイルのパス% %target% --type cdrom
ドメインはvirsh start hoge
とかするときに使うhoge
の部分です。
イメージのパスはフルパスにしてあげないとダメなようです。
targetの部分は仮想マシンの設定ファイルに書かれているtarget要素のdev属性を入れます。/etc/libvert/qemu/hoge.xml
を見るとdevice属性にcdrom
とあるdisk要素の子としてtarget要素があると思いますので、そこに書かれています。
例えば
<disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/home/smb/vm/virtio-win-0.1-81.iso'/> <target dev='hdc' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk>
となっていればhdc
を入れてあげればOk。
# virsh attach-disk hoge /home/smb/vm/newdisk.iso hdc --type cdrom
のような感じになります。
稼働中の仮想マシンでもディスクの交換が可能でした。
# virsh help attach-disk
とするとヘルプが見られるので詳しくはそちらで。
仮想マシンからディスクをEjectする時は
# virsh detach-disk %domain% %target%
とすればいいようです。