kvm 仮想マシンのクローンを作成するケースは 2 つあります。この記事では、次の 2 つのケースについて説明します。クローンされた仮想マシンは OEL5.8X64 です。 [[330647]] (1)KVMホスト上のローカル仮想マシンの直接クローン作成。 (2)構成ファイルとディスクファイルのコピーによる仮想マシンのクローン作成(異なるマシン間の静的移行に適用可能)。 1. ローカル仮想マシンの直接クローン作成 (1)仮想マシン構成ファイルを表示する - [root@node1 ~]# cat /etc/libvirt/qemu/oeltest01.xml
- <!
- 警告: これは自動生成されたファイルです。変更される可能性は高い
- 上書きされて失われました。この XML 構成の変更は、以下を使用して行う必要があります。
- virsh 編集 oeltest01
- またはlibvirt API を使用するその他のアプリケーション。
-
- <ドメインタイプ= 'kvm' >
- <名前>oeltest01</名前>
- <uuid>8f2bb4a7-c7ed-32aa-3676-9fb05923269d</uuid>
- <メモリ単位= 'KiB' >524288</メモリ>
- <currentMemory 単位 = 'KiB' >524288</currentMemory>
- <vcpu 配置 = '静的' >1</vcpu>
- <os>
- <type arch= 'x86_64'マシン= 'rhel6.4.0' >hvm</type>
- <ブートデバイス= 'hd' />
- </os>
- <特徴>
- <acpi/>
- <アピック/>
- <pae/>
- </特徴>
- <クロックオフセット= 'utc' />
- <on_poweroff>破棄</on_poweroff>
- <on_reboot>再起動</on_reboot>
- <on_crash>再起動</on_crash>
- <デバイス>
- <エミュレータ>/usr/libexec/qemu-kvm</エミュレータ>
- <ディスクタイプ= 'ファイル'デバイス= 'ディスク' >
- <ドライバー名= 'qemu'タイプ = 'raw'キャッシュ = 'none' />
- <ソースファイル= '/data/test01.img' />
- <ターゲットデバイス= 'hda'バス= 'ide' />
- <アドレス タイプ = 'ドライブ'コントローラ = '0'バス = '0'ターゲット = '0'ユニット = '0' />
- </ディスク>
- <ディスクタイプ= 'ブロック'デバイス= 'cdrom' >
- <ドライバー名= 'qemu'タイプ = 'raw' />
- <ターゲットデバイス= 'hdc'バス= 'ide' />
- <読み取り専用/>
- <アドレス タイプ = 'ドライブ'コントローラ = '0'バス = '1'ターゲット = '0'ユニット = '0' />
- </ディスク>
- <コントローラタイプ= 'usb' インデックス= '0' >
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x01' 関数= '0x2' />
- </コントローラ>
- <コントローラタイプ= 'ide' インデックス= '0' >
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x01' 関数= '0x1' />
- </コントローラ>
- <インターフェースタイプ= 'ブリッジ' >
- <mac アドレス = '52:54:00:82:39:01' />
- <ソースブリッジ= 'br0' />
- <モデルタイプ= 'virtio' />
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x03' 関数= '0x0' />
- </インターフェース>
- <シリアルタイプ= 'pty' >
- <ターゲットポート= '0' />
- </シリアル>
- <コンソールタイプ= 'pty' >
- <ターゲットタイプ= 'シリアル'ポート= '0' />
- </コンソール>
- <入力タイプ= 'タブレット'バス= 'USB' />
- <入力タイプ= 'マウス'バス= 'ps2' />
- <グラフィック タイプ = 'vnc'ポート = '5910'自動ポート = 'no' listen = '0.0.0.0' >
- <listen type= 'アドレス'アドレス= '0.0.0.0' />
- </グラフィック>
- <ビデオ>
- <モデルタイプ= 'cirrus' vram= '9216'ヘッド= '1' />
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x02' 関数= '0x0' />
- </ビデオ>
- <memballoon モデル = 'virtio' >
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x04' 関数= '0x0' />
- </memballoon>
- </デバイス>
- </ドメイン>
仮想マシン ディスク ファイル: /data/test01.img 仮想マシン名: oeltest01 (2)クローン作成開始 - # virt-clone -o oeltest01 -n oeltest02 -f /data/test02.img
説明: oeltest01 をソースとして使用し、oeltest01 仮想マシンをクローンし、ディスク ファイル /data/test02.img を使用して oeltest02 という名前の仮想マシンを作成します。 (3)仮想マシンを起動し、ホスト名、IPアドレスなどを設定します。 [root@node1 データ]# virsh コンソール oeltest02 - ドメイン oeltest02 に接続
- 逃げる キャラクター は^]
- ボリュームグループが見つかりました メタデータタイプ lvm2 を使用する"vg"
- ボリュームグループ内の2 つの論理ボリューム 「vg」がアクティブになりました
- Oracle Linuxへようこそ Oracle Linux Serverリリース5.8
- 「I」を押してください 対話型スタートアップに入ります。
- udev を起動しています: [ OK ]
- デフォルトのキーマップを読み込んでいます (us): [ OK ]
- ホスト名test01の設定: [OK]
- 論理ボリューム管理の設定:ボリュームグループ内の2 つの論理ボリューム 「vg」がアクティブになりました
- [ わかりました ]
- ファイルシステムのチェック
- すべてのファイル システムをチェックしています。
- [/sbin/fsck.ext3 (1)
- /dev/vg/root: クリーン、135384/1540096 ファイル、851398/1540096 ブロック
- [/sbin/fsck.ext3 (1)
- /boot: クリーン、39/26104 ファイル、26897/104388 ブロック
- [ わかりました ]
- ルートファイルシステムを再マウント中 読み取り書き込みモード: [ OK ]
- ローカルファイルシステムをマウントしています: [ OK ]
- ローカルファイルシステムのクォータを有効にしています: [ OK ]
- /etc/fstab スワップを有効にしています: [ OK ]
- INIT: ランレベル 5 に入ります
- 非対話型スタートアップに入る
- Intel CPU マイクロコード更新を適用しています: [OK]
- バックグラウンドの先読みを開始しています: [ OK ]
- ハードウェアの変更を確認しています[OK]
- [ OK ] iSCSI デーモン: [ OK ]
- [ わかりました ]
- ループバックインターフェースを起動しています: [ OK ]
- インターフェイス eth0 を起動します:
- eth0のIP 情報を確認しています...完了しました。
- [ わかりました ]
- 監査を開始しています: [ OK ]
- システムロガーを起動しています: [ OK ]
- カーネルロガーを起動しています: [ OK ]
- irqbalance を起動しています: [ OK ]
- iscsid (pid 1555) が実行中です...
- iSCSI ターゲットの設定: iscsiadm:レコードが見つかりません
- [ わかりました ]
- ポートマップを開始しています: [ OK ]
- NFS statd を起動しています: [ OK ]
- RPC idmapd を起動しています: [ OK ]
- システムメッセージバスを起動しています: [ OK ]
- o2cbを起動しています: [ OK ]
- [ OK ] Bluetoothサービス:[ OK ]
- 他のファイルシステムをマウントしています: [ OK ]
- PC/SC スマート カード デーモン (pcscd) を起動しています: [ OK ]
- acpiデーモンを起動しています: [ OK ]
- HALデーモンを起動しています: [ OK ]
- hiddを起動しています: [ OK ]
- VG vgの監視を開始:ボリュームグループ内の2 つの論理ボリューム 「vg」を監視
- [ わかりました ]
- autofs を起動しています: autofs4 を読み込んでいます: [ OK ]
- 自動マウントを開始しています: [ OK ]
- [ わかりました ]
- hpiod を起動しています: [ OK ]
- hpssdを起動しています: [ OK ]
- sshdを起動しています: [ OK ]
- スターティングカップ: [ OK ]
- xinetd を起動しています: [ OK ]
- コンソール マウス サービスを開始しています: [ OK ]
- crond を起動しています: [ OK ]
- xfs を起動しています: [ OK ]
- anacron を起動しています: [ OK ]
- [ OK ] atd: [ OK ]
- バックグラウンドの先読みを開始しています: [ OK ]
- yum-updatesd を起動しています: [ OK ]
- Avahi デーモンを起動しています... [ OK ]
- smartd を起動しています: hdc: drive_cmd: status=0x41 { DriveReady エラー }
- hdc: drive_cmd: error=0x04 { 中止されたコマンド }
- ide: 失敗したオペコードは: 0xec
- [ わかりました ]
- Oracle Linux Server リリース 5.8
- x86_64上のカーネル 2.6.18-308.el5
- test01 ログイン: mtrr: f0000000,100000の型が一致しません旧: キャッシュ不可 新: 書き込み結合
- mtrr: f0000000,400000の型が一致しません。旧: キャッシュ不可。新: 書き込み結合
- Oracle Linux Server リリース 5.8
- x86_64上のカーネル 2.6.18-308.el5
- test01 ログイン:
- Oracle Linux Server リリース 5.8
- x86_64上のカーネル 2.6.18-308.el5
- test01 ログイン: root
- パスワード:
- 最終ログイン: 土曜 9月 7日05:21:11 ttyS0
- [root@test01 ~]#
- [root@test01 ~]#
- [root@test01 ~]#
-
-
- (4)ホスト名、IPアドレス等を変更する
- # vi /etc/hosts
- #次の行やさまざまなプログラムを削除しないでください
- # ネットワーク機能を必要とするものは失敗します。
- 127.0.0.1 test02 ローカルホスト.ローカルドメイン ローカルホスト
- ::1 ローカルホスト6.ローカルドメイン6 ローカルホスト6
- # vi /etc/sysconfig/ネットワーク
- ネットワーク=はい
- NETWORKING_IPV6=いいえ
- ホスト名=test02
- ゲートウェイ=192.168.233.2
- IPアドレスを変更する
- # vi /etc/sysconfig/ネットワークスクリプト/ifcfg-eth0
- # Virtio ネットワークデバイス
- デバイス=eth0
- BOOTPROTO=静的
- ONBOOT=はい
- HWADDR=52:54:00:56:bd:2b
- IPアドレス=192.168.233.142
- ネットマスク=255.255.255.0
- [root@test01 ~]# サービスネットワークの再起動
- インターフェース eth0 をシャットダウンしています: [ OK ]
- ループバックインターフェースをシャットダウンしています: [ OK ]
- ループバックインターフェースを起動しています: [ OK ]
- インターフェース eth0 を起動しています: [ OK ]
- [root@test01 ~]#
2. 設定ファイルとディスクファイルのクローンをコピーする (1)kvm仮想マシン構成ファイルをインポートする ここでは、oeltest01 がクローンのテンプレートとして使用されます。 - # virsh シャットダウン oeltest01
- # virsh dumpxml oeltest01 > /etc/libvirt/qemu/oeltest03.xml
(2)kvm仮想マシンディスクファイルをコピーする このシリーズの記事では、LVM ボリュームではなく、仮想ディスク ファイルをテストに使用します。 構成ファイルを表示する: 仮想ディスクの場所 (3)設定ファイルを直接編集・変更する 名前、UUID、ディスクの場所、VNC ポートを変更する この時点では、設定ファイルはまだ登録されており、virsh edit では編集できません。 - [root@node1 データ]# vi /etc/libvirt/qemu/oeltest03.xml
- <ドメインタイプ= 'kvm' >
- <名前>oeltest03</名前>
- <uuid>8f2bb4a7-c7ed-32aa-3676-9fb05923260d</uuid>
- <メモリ単位= 'KiB' >524288</メモリ>
- <currentMemory 単位 = 'KiB' >524288</currentMemory>
- <vcpu 配置 = '静的' >1</vcpu>
- <os>
- <type arch= 'x86_64'マシン= 'rhel6.4.0' >hvm</type>
- <ブートデバイス= 'hd' />
- </os>
- <特徴>
- <acpi/>
- <アピック/>
- <pae/>
- </特徴>
- <クロックオフセット= 'utc' />
- <on_poweroff>破棄</on_poweroff>
- <on_reboot>再起動</on_reboot>
- <on_crash>再起動</on_crash>
- <デバイス>
- <エミュレータ>/usr/libexec/qemu-kvm</エミュレータ>
- <ディスクタイプ= 'ファイル'デバイス= 'ディスク' >
- <ドライバー名= 'qemu'タイプ = 'raw'キャッシュ = 'none' />
- <ソースファイル= '/data/test03.img' />
- <ターゲットデバイス= 'hda'バス= 'ide' />
- <アドレス タイプ = 'ドライブ'コントローラ = '0'バス = '0'ターゲット = '0'ユニット = '0' />
- </ディスク>
- <ディスクタイプ= 'ブロック'デバイス= 'cdrom' >
- <ドライバー名= 'qemu'タイプ = 'raw' />
- <ターゲットデバイス= 'hdc'バス= 'ide' />
- <読み取り専用/>
- <アドレス タイプ = 'ドライブ'コントローラ = '0'バス = '1'ターゲット = '0'ユニット = '0' />
- </ディスク>
- <コントローラタイプ= 'usb' インデックス= '0' >
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x01' 関数= '0x2' />
- </コントローラ>
- <コントローラタイプ= 'ide' インデックス= '0' >
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x01' 関数= '0x1' />
- </コントローラ>
- <インターフェースタイプ= 'ブリッジ' >
- <mac アドレス = '52:54:00:82:39:01' />
- <ソースブリッジ= 'br0' />
- <モデルタイプ= 'virtio' />
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x03' 関数= '0x0' />
- </インターフェース>
- <シリアルタイプ= 'pty' >
- <ターゲットポート= '0' />
- </シリアル>
- <コンソールタイプ= 'pty' >
- <ターゲットタイプ= 'シリアル'ポート= '0' />
- </コンソール>
- <入力タイプ= 'タブレット'バス= 'USB' />
- <入力タイプ= 'マウス'バス= 'ps2' />
- <グラフィックス タイプ = 'vnc'ポート = '5911'自動ポート = 'no' listen = '0.0.0.0' >
- <listen type= 'アドレス'アドレス= '0.0.0.0' />
- </グラフィック>
- <ビデオ>
- <モデルタイプ= 'cirrus' vram= '9216'ヘッド= '1' />
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x02' 関数= '0x0' />
- </ビデオ>
- <memballoon モデル = 'virtio' >
- <アドレス タイプ = 'pci'ドメイン = '0x0000'バス = '0x00'スロット = '0x04' 関数= '0x0' />
- </memballoon>
- </デバイス>
- </ドメイン>
(4)新しい仮想マシン構成ファイルを定義する - [root@node1 データ]# virsh で /etc/libvirt/qemu/oeltest03.xml を定義します。
仮想マシンを起動する - [root@node1 データ]# virsh start oeltest03
- ドメイン oeltest03 を開始しました
(5)仮想マシンにログインし、ホスト名やIPなどを変更します。 - [root@node1 データ]# virsh コンソール oeltest03
- ドメイン oeltest03 に接続
- 逃げる キャラクター は^]
- Oracle Linux Server リリース 5.8
- x86_64上のカーネル 2.6.18-308.el5
- test01 ログイン: mtrr: f0000000,100000の型が一致しません旧: キャッシュ不可 新: 書き込み結合
- mtrr: f0000000,400000の型が一致しません。旧: キャッシュ不可。新: 書き込み結合
- Oracle Linux Server リリース 5.8
- x86_64上のカーネル 2.6.18-308.el5
- test01 ログイン: root
- パスワード:
- 最終ログイン: 土曜 9月 7日05:21:11 ttyS0
- [root@test01 ~]#
- [root@test01 ~]#
- ホスト名を変更する
- # vi /etc/hosts
- #次の行やさまざまなプログラムを削除しないでください
- # ネットワーク機能を必要とするものは失敗します。
- 127.0.0.1 test03 ローカルホスト.ローカルドメイン ローカルホスト
- ::1 ローカルホスト6.ローカルドメイン6 ローカルホスト6
- # vi /etc/sysconfig/ネットワーク
- ネットワーク=はい
- NETWORKING_IPV6=いいえ
- ホスト名=test03
- ゲートウェイ=192.168.233.2
- IPアドレスを変更する
- # vi /etc/sysconfig/ネットワークスクリプト/ifcfg-eth0
- # Virtio ネットワークデバイス
- デバイス=eth0
- BOOTPROTO=静的
- ONBOOT=はい
- HWADDR=52:54:00:56:bd:3b
- IPアドレス=192.168.233.143
- ネットマスク=255.255.255.0
- サービスネットワークの再起動
- インターフェース eth0 をシャットダウンしています: [ OK ]
- ループバックインターフェースをシャットダウンしています: [ OK ]
- ループバックインターフェースを起動しています: [ OK ]
- インターフェース eth0 を起動しています: [ OK ]
この記事では、実際に役立つ、KVM 仮想マシンのクローンを作成する 2 つの方法を紹介しました。 再度の注意: この記事でクローンされた仮想マシンは oel5.8 です。クローンされた仮想マシンがRHEL/CentOS/OEL6.xオペレーティングシステムの場合は、次の変更も必要になります。 /etc/udev/rules.d/70-persistent-net.rules ファイル。 |