概要
ゲストマシンの設定変更をvirshコマンドだけでやってみる。
環境
前提
・ゲストマシンは作成済みとする。
・適当なディスクイメージを作成済みとする。
[root@kvm01 ~]# qemu-img create /var/lib/libvirt/images/disk01.img 10G Formatting '/var/lib/libvirt/images/disk01.img', fmt=raw size=10737418240
[root@kvm01 ~]# qemu-img info /var/lib/libvirt/images/disk01.img image: /var/lib/libvirt/images/disk01.img file format: raw virtual size: 10G (10737418240 bytes) disk size: 4.0K
・適当なISOイメージを入手済みとする。
[root@kvm01 ~]# ls -l /tmp/*.iso -rw-r--r--. 1 qemu qemu 987758592 9月 12 2019 /tmp/CentOS-7-x86_64-Minimal-1908.iso -rw-rw-rw-+ 1 qemu qemu 7554990080 1月 4 06:47 /tmp/CentOS-8.1.1911-x86_64-dvd1.iso
操作
目次
1-1.ディスク追加
1-2.ディスク削除
2-1.光学ドライブ&メディア追加
2-2.光学ドライブ&メディア削除
2-3.光学メディア挿入/排出/変更
3-1.ネットワークインターフェース追加
3-2.ネットワークインターフェース削除
オンライン操作の可否
操作 | オンライン操作 |
---|---|
ディスク追加/削除 | ○ |
光学ドライブ追加/削除 | × |
光学メディア挿入/排出/変更 | △ |
ネットワークインターフェース追加/削除 | ○ |
※○・・・稼働中のゲストマシンに設定が即時反映される。
※×・・・稼働中のゲストマシンに反映されるタイミングはゲストマシンの停止後となる。
※△・・・busのtypeがideの場合のみ可能。
1-1.ディスク追加
構文
virsh attach-disk [--domain] <ゲストマシン名> [--source] <ディスクイメージ> [--target] <デバイス名> [--config]
実行例
[root@kvm01 ~]# virsh attach-disk --domain guest01 --source /var/lib/libvirt/images/disk01.img --target vdd ディスクが正常に接続されました
備考
・「--config」なしでオンライン設定、ありでオフライン設定となる。
・オプションの順番について。ロングオプション(--XXX)を省いた場合のみ順序性が発生する。
[root@kvm01 ~]# virsh attach-disk エラー: コマンド 'attach-disk' には <domain> オプションが必要です エラー: コマンド 'attach-disk' には <source> オプションが必要です エラー: コマンド 'attach-disk' には <target> オプションが必要です
[root@kvm01 ~]# virsh attach-disk guest01 vdd /var/lib/libvirt/images/disk01.img エラー: ディスクの接続に失敗しました エラー: 内部エラー: 無効なハードディスクデバイス名: /var/lib/libvirt/images/disk01.img
[root@kvm01 ~]# virsh attach-disk guest01 /var/lib/libvirt/images/disk01.img vdd ディスクが正常に接続されました
1-2.ディスク削除
構文
virsh detach-disk [--domain] <ゲストマシン名> [--target] <デバイス名> [--config]
実行例
[root@kvm01 ~]# virsh detach-disk --domain guest01 --target vdd ディスクが正常に切断されました
2-1.光学ドライブ&メディア追加
構文
virsh attach-disk [--domain] <ゲストマシン名> [--type] cdrom [--target] <デバイス名> [--source] <メディアファイルのパス> [--targetbus {ide|virtio}] {--config|--current}
※当方環境ではゲストマシン起動中は「--config」が必須、停止中は「--config」「--current」のいずれかが必須だった。
実行例
[root@kvm01 ~]# virsh attach-disk --domain guest01 --type cdrom --target vdc --source /tmp/CentOS-8.1.1911-x86_64-dvd1.iso --targetbus ide --config ディスクが正常に接続されました
備考
・当方環境では光学ドライブの追加/削除はオンライン設定ができなかった。
・また、光学メディアの変更は「--targetbus ide」を指定しないとできなかった。なお、省略時はbusとしてvirtioが採用される。
2-2.光学ドライブ&メディア削除
構文
virsh detach-disk [--domain] <ゲストマシン名> [--target] <デバイス名> {--config|--current}
実行例
[root@kvm01 ~]# virsh detach-disk --domain guest01 --target vdc --config ディスクが正常に切断されました
2-3.光学メディア挿入/排出/変更
構文
# 挿入 virsh change-media [--domain] <ゲストマシン名> [--path] <デバイス名> --source /tmp/CentOS-8.1.1911-x86_64-dvd1.iso --insert [--current|[--live|--config]] # 排出 virsh change-media [--domain] <ゲストマシン名> [--path] <デバイス名> --eject [--current|[--live|--config]] # 変更 virsh change-media [--domain] <ゲストマシン名> [--path] <デバイス名> --source /tmp/CentOS-8.1.1911-x86_64-dvd1.iso [--current|[--live|--config]]
実行例
# 挿入 [root@kvm01 ~]# virsh change-media --domain guest01 --path vdc --source /tmp/CentOS-8.1.1911-x86_64-dvd1.iso --insert Successfully inserted media. # 排出 [root@kvm01 ~]# virsh change-media --domain guest01 --path vdc --eject Successfully ejected media. # 変更 [root@kvm01 ~]# virsh change-media --domain guest01 --path vdc --source /tmp/CentOS-8.1.1911-x86_64-dvd1.iso Successfully updated media.
備考
・「--current」「--live」「--config」すべての省略時は「--current」動作になる?
3-1.ネットワークインターフェース追加
構文
virsh attach-interface [--domain] <ゲストマシン名> [--type] <インターフェースの種類> [--source] <ホストマシンのインターフェース名> [[--model] <モデル名>] [--config]
実行例
[root@kvm01 ~]# virsh attach-interface --domain guest01 --type bridge --source br0 --model virtio インターフェースが正常に接続できました
3-2.ネットワークインターフェース削除
構文
virsh detach-interface [--domain] <ゲストマシン名> [--type] <インターフェースの種類> [--mac] <MACアドレス> [--config]
実行例
[root@kvm01 ~]# virsh detach-interface --domain guest01 --type bridge --mac 52:54:00:9f:0e:f9 インターフェースが正常に切断されました
備考
・削除したいインターフェースのMACアドレスは事前に確認しておく。
[root@kvm01 ~]# virsh dumpxml guest01 | grep "mac address" <mac address='52:54:00:00:82:9a'/> <mac address='52:54:00:32:4c:a5'/> <mac address='52:54:00:04:85:51'/> <mac address='52:54:00:9f:0e:f9'/> # 今回の例ではこれ
備考
・今回の操作を設定ファイルを直接編集する場合の例は以下を参照。
none06.hatenadiary.org