安装配置kvm
1、安装kvm软件包
[root@kvm ~]# yum install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v
2、安装kvm虚拟化管理工具包
[root@kvm ~]# yum install libguestfs-tools
3、查看虚拟化环境
(1)查看虚拟机环境
[root@kvm ~]# virsh -c qemu:///system list
错误:Failed to connect socket to '/var/run/libvirt/libvirt-sock': 没有那个文件或文件夹
错误:连接到管理程序失败
[root@kvm ~]# /etc/init.d/libvirtd restart
正在关闭 libvirtd 守护进程: [失败]
启动 libvirtd 守护进程: [确定]
[root@kvm ~]# virsh -c qemu:///system list
Id 名称 状态
----------------------------------------------------
(2)检測kvm模块是否安装
[root@kvm ~]# lsmod |grep kvm
kvm_intel 53484 0
kvm 316506 1 kvm_intel
(3)查看虚拟工具版本号
[root@kvm ~]# virsh --version
0.10.2
[root@kvm ~]# virt-install --version
0.600.0
[root@kvm ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/
[root@kvm ~]# qemu-kvm --version
QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2-2.448.el6_6), Copyright (c) 2003-2008 Fabrice Bellard
4、手动配置虚拟网桥
(1)桥接模式的概述
事实上我们在虚拟机搭建的时候,我们终于关心的网卡是: eth0, br0, vnet0,vnet1…
当中eth0是我们server原来的物理网卡,而br0是我们虚拟出来的网桥设备,而vnetXXX就是桥接映射到虚拟机里面用到的网卡。
当配置完成之后,我们使用ifconfig命令查看起来的话。会发现eth0是没有IP地址,而br0仿佛是虚拟出来的一个原来eth0的訪问接口,它具有IP地址,能够取代原来的eth0被訪问。而vnetXX的地址能够在建立虚拟机之后在虚拟机里面配置。桥接后能够被外部訪问。
注意:将已有的物理网卡加入到网桥,此时物理网卡eth0工作于混杂模式,所以不须要IP地址。由于网桥是工作在链路层的。br0就提供了IP地址。用来模拟原来的物理网卡的訪问接口.
关于混杂模式:
依据以太网的原理。包是在整个子网里面广播发送的,当网卡发现这个数据帧不是发给自己的也不是广播包的时候。就直接把它丢掉,而不传送到上层内核去处理。而当网卡处于混杂模式的时候,网卡就不会丢掉帧,而是所有向上提交到内核,让内核处理这些帧结构。通常的。混杂模式使用来进行网络调试的,不是正常的工作状态
(2)创建配置br0网桥
[root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# cp ifcfg-eth1 ifcfg-br0
[root@kvm network-scripts]# more ifcfg-eth1
DEVICE=eth1
HWADDR=00:0C:29:59:7f:21
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0
[root@kvm network-scripts]# more ifcfg-br0
DEVICE=br0
HWADDR=00:0C:29:59:7f:21
TYPE=Bridge
UUID=739689d7-857c-4a62-9ede-bd6f18cde92a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.180
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
(3)又一次启动network
[root@kvm ~]# service network restart
正在关闭接口 br0: [确定]
正在关闭接口 eth1: [确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth1: [确定]
弹出界面 br0: [确定]
(4)查看网络配置信息
[root@kvm ~]# ifconfig
br0 Link encap:Ethernet HWaddr 00:0C:29:59:7F:21
inet addr:192.168.1.180 Bcast:192.168.1.255 Mask:255.255.255.0 #获取到地址
inet6 addr: fe80::20c:29ff:fe59:7f21/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3170100 errors:0 dropped:0 overruns:0 frame:0
TX packets:1731782 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4503127474 (4.1 GiB) TX bytes:132209121 (126.0 MiB)
eth1 Link encap:Ethernet HWaddr 00:0C:29:59:7F:21
inet6 addr: fe80::20c:29ff:fe59:7f21/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3233002 errors:0 dropped:0 overruns:0 frame:0
TX packets:1781748 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4626338976 (4.3 GiB) TX bytes:136271300 (129.9 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
virbr0 Link encap:Ethernet HWaddr 52:54:00:19:DC:45
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
vnet0 Link encap:Ethernet HWaddr FE:54:00:20:9C:91
inet6 addr: fe80::fc54:ff:fe20:9c91/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20 errors:0 dropped:0 overruns:0 frame:0
TX packets:644 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:3365 (3.2 KiB) TX bytes:61657 (60.2 KiB)
(5)查看网桥
[root@kvm ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c29597f21 no eth1
四、kvm安装CentOS 6.x系统
1、上传CentOS6.4镜像到本地server中
[root@kvm ~]# mkdir /iso
[root@kvm ~]# ls /iso/
CentOS-6.4-x86_64-bin-DVD1.iso
2、创建虚拟机硬盘
[root@kvm ~]# mkdir /kvm
[root@kvm ~]# qemu-img create -f qcow2 /kvm/kvmtest.img 4G
Formatting '/kvm/kvmtest.img', fmt=qcow2 size=4294967296 encryption=off cluster_size=65536
[root@kvm ~]# ls /kvm/
kvmtest.img
[root@kvm ~]# qemu-img --help
qemu-img version 0.12.1, Copyright (c) 2004-2008 Fabrice Bellard
usage: qemu-img command [command options]
QEMU disk image utility
Command syntax:
check [-f fmt] [--output=ofmt] [-r [leaks | all]] [-T src_cache] filename
create [-f fmt] [-o options] filename [size]
commit [-f fmt] [-t cache] filename
compare [-f fmt] [-F fmt] [-T src_cache] [-p] [-s] filename1 filename2
convert [-c] [-p] [-f fmt] [-t cache] [-T src_cache] [-O output_fmt] [-o options] [-S sparse_size] filename [filename2 [...]] output_filename
info [-f fmt] [--output=ofmt] filename
map [-f fmt] [--output=ofmt] filename
snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename
rebase [-f fmt] [-t cache] [-T src_cache] [-p] [-u] -b backing_file [-F backing_fmt] filename
resize filename [+ | -]size
Command parameters:
'filename' is a disk image filename
'fmt' is the disk image format. It is guessed automatically in most cases
'cache' is the cache mode used to write the output disk image, the valid
options are: 'none', 'writeback' (default), 'writethrough' and 'unsafe'
'src_cache' in contrast is the cache mode used to read input disk images
'size' is the disk image size in bytes. Optional suffixes
'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' (gigabyte, 1024M)
and T (terabyte, 1024G) are supported. 'b' is ignored.
3、创建虚拟机
[root@kvm ~]# virt-install --name kvmtest01 --boot network,cdrom,menu=on --ram 1024 --vcpus=1 --os-type=linux --accelerate -c /iso/CentOS-6.4-x86_64-bin-DVD1.iso --disk path=/kvm/kvmtest.img,size=4,format=qcow2,bus=virtio --bridge=br0,model=virtio --vnc --vncport=5991
--vnclisten=0.0.0.0
開始安装......
创建域...... | 0 B 00:01
无法打开显示:
执行 'virt-viewer --help' 来查看可用命令行选项的完整列表
域安装仍在进行。
您能够又一次连接
到控制台以便完毕安装进程。
4、開始通过VNC进行连接,进行安装过程
(1)查看kvm监听的port
[root@kvm ~]# netstat -tnlp |grep kvm
tcp 0 0 0.0.0.0:5991 0.0.0.0:* LISTEN 16291/qemu-kvm
(2)VNC建立连接方式(能够安装虚拟机的系统)
IP:5991
5、登陆操作系统查看
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 kvmtest01 running
五、kvm虚拟机的日常管理和配置
1、查看kvm虚拟机配置文件以及执行状态
(1)kvm虚拟机默认配置文件
[root@kvm ~]# cd /etc/libvirt/qemu/
[root@kvm qemu]# ll
总用量 8
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml
drwx------ 3 root root 4096 12月 19 11:56 networks
(2)virsh命令帮助
[root@kvm qemu]# virsh --help
或者
[root@kvm qemu]# virsh
欢迎使用 virsh,虚拟化的交互式终端。
输入:'help' 来获得命令的帮助信息
'quit' 退出
virsh # help
(3)查看kvm虚拟机的状态
[root@kvm qemu]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 kvmtest01 running
2、kvm虚拟机关机或断电
我们在开启与关闭KVM虚拟机时。通常是通过start、shutdown、reboot等命令来进行。
可是有时候我们会发如今使用shutdown、reboot命令进行关闭和重新启动虚拟机时,虚拟机没有不论什么反应,该怎么执行还是怎么执行,这个时候我们可能就会使用destroy暴力关机。
为什么会出现这样的现象?
经过查询相关资料发现,原来这几个命令是向KVM虚拟机发送一个ACPI指令。来实现相关对虚拟机的操作。而默认安装KVM虚拟机时,特别是linux虚拟机。没有安装ACPI服务,因此导致虚拟机没有对这些命令做出对应的动作。
解决的方法:
假设要实现这些指令的功能,那么就须要在KVM的虚拟机中,安装ACPI服务,然后启动该服务就可以。
KVM虚拟机中眼下windows系统默认ACPI服务已经安装并启动,所以我们仅仅须要对Linux进行安装ACPI服务就可以。
(1)安装acpid服务
[root@kvm ~]# yum install acpid
(2)将acpid服务设置开机自启动
[root@kvm ~]# /etc/init.d/acpid status
acpid 已停
[root@kvm ~]# /etc/init.d/acpid start
启动 acpi 守护进程: [确定]
[root@kvm ~]# chkconfig acpid on
[root@kvm ~]# chkconfig --list acpid
acpid 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
(3)关机
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统须要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。
[root@kvm ~]# virsh shutdown kvmtest01
域 kvmtest01 被关闭
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 kvmtest01 running
(4)强制关闭电源
[root@kvm ~]# virsh destroy kvmtest01
域 kvmtest01 被删除
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
3、通过配置文件启动虚拟机
[root@kvm ~]# virsh create /etc/libvirt/qemu/kvmtest01.xml
域 kvmtest01 被创建(从 /etc/libvirt/qemu/kvmtest01.xml)
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 kvmtest01 running
4、kvm虚拟机开机的两种方式
第一种:
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
[root@kvm ~]# virsh start kvmtest01
域 kvmtest01 已開始
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
4 kvmtest01 running
另外一种:通过配置文件启动虚拟机
[root@kvm ~]# virsh create /etc/libvirt/qemu/kvmtest01.xml
域 kvmtest01 被创建(从 /etc/libvirt/qemu/kvmtest01.xml)
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 kvmtest01 running
5、配置开机自启动虚拟机
[root@kvm ~]# ll /etc/libvirt/qemu
总用量 8
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml
drwx------ 3 root root 4096 12月 19 11:56 networks
[root@kvm ~]# virsh autostart kvmtest01
域 kvmtest01标记为自己主动開始
[root@kvm ~]# ll /etc/libvirt/qemu
总用量 12
drwxr-xr-x 2 root root 4096 12月 19 13:07 autostart #开机自启动文件
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml
drwx------ 3 root root 4096 12月 19 11:56 networks
6、导出kvm虚拟机配置文件
凝视:kvm虚拟机配置文件能够通过这样的方式进行备份
[root@kvm ~]# virsh dumpxml kvmtest01 > /etc/libvirt/qemu/kvmtest02.xml
[root@kvm ~]# ll /etc/libvirt/qemu/
总用量 16
drwxr-xr-x 2 root root 4096 12月 19 13:07 autostart
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml
-rw-r--r-- 1 root root 2642 12月 19 13:22 kvmtest02.xml
drwx------ 3 root root 4096 12月 19 11:56 networks
7、加入删除kvm虚拟机
(1)删除kvm虚拟机
说明:该命令仅仅是删除了可vmtest01的配置文件,并非删除虚拟磁盘文件
说明:该命令仅仅是删除了可vmtest01的配置文件。并非删除虚拟磁盘文件
[root@kvm ~]# ll /etc/libvirt/qemu
总用量 16
drwxr-xr-x 2 root root 4096 12月 19 13:07 autostart
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml #kvmtest01虚拟机的配置文件
-rw-r--r-- 1 root root 2642 12月 19 13:22 kvmtest02.xml #kvmtest01虚拟机的备份配置文件
drwx------ 3 root root 4096 12月 19 11:56 networks
[root@kvm ~]# virsh destroy kvmtest01
域 kvmtest01 被删除
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
[root@kvm ~]# virsh undefine kvmtest01
域 kvmtest01 已经被取消定义
[root@kvm ~]# ll /etc/libvirt/qemu
总用量 12
drwxr-xr-x 2 root root 4096 12月 19 13:29 autostart
-rw-r--r-- 1 root root 2642 12月 19 13:22 kvmtest02.xml #发现虚拟机的配置文件被删除了
drwx------ 3 root root 4096 12月 19 11:56 networks
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
(2)又一次定义虚拟机配置文件
通过导出备份的配置文件恢复原KVM虚拟机的定义,并又一次定义虚拟机
[root@kvm ~]# virsh define /etc/libvirt/qemu/kvmtest01.xml
定义域 kvmtest01(从 /etc/libvirt/qemu/kvmtest01.xml)
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
(3)启动kvmtest01虚拟机
[root@kvm ~]# virsh start kvmtest01
域 kvmtest01 已開始
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
5 kvmtest01 running
8、kvm的挂起和恢复命令
(1)挂起
[root@kvm ~]# suspend kvmtest01
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
6 kvmtest01 暂停
(2)恢复
[root@kvm ~]#resume kvmtest01
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
6 kvmtest01 running
六、kvm虚拟机控制台登陆配置
说明:下面全部的操作都是在kvm虚拟主机上操作的也就是kvmtest01上操作的
1、加入ttyS0的许可,同意root登陆
[root@localhost ~]# echo "ttyS0" >> /etc/securetty
[root@localhost ~]# more /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
ttyS0 #加入ttyS0
2、改动grub.conf配置文件
[root@localhost ~]# vim /etc/grub.conf
凝视加入console=ttyS0
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/vda3
# initrd /initrd-[generic-]version.img
#boot=/dev/vda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=UUID=7b02e71c-06b4-4f5f-af83-dfe20e93fddf rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=u
s rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet console=ttyS0 #加入console=ttyS0
initrd /initramfs-2.6.32-358.el6.x86_64.img
3、改动/etc/inittab文件
[root@localhost ~]# echo "S0:12345:respawn:/sbin/agetty ttyS0 115200" >> /etc/inittab
[root@localhost ~]# more /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
S0:12345:respawn:/sbin/agetty ttyS0 115200
5、重新启动kvm虚拟主机
[root@localhost ~]# reboot
6、在控制端kvmserver上操作
virsh console kvmtest01
kvm主机本机虚拟机直接克隆
(1)虚拟机kvmtest01的磁盘文件路径
root@kvm ~]# ll /kvm/kvmtest.img
-rw-r--r-- 1 root root 1115422720 12月 19 14:25 /kvm/kvmtest.img
(2)虚拟机的名称
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
1 kvmtest01 running
(3)開始克隆
[root@localhost ~]# virt-clone -o kvmtest01 -n kvmtest02 -f /kvm/kvmtest02.img
正在克隆 kvmtest.img 51% [===================== ] 6.9 MB/s | 544 MB 01:15 ETA
(4)克隆完毕
[root@kvm ~]# virt-clone -o kvmtest01 -n kvmtest02 -f /kvm/kvmtest02.img
ERROR 必须暂停或者关闭有要克隆设备的域。
[root@kvm ~]# virsh destroy kvmtest01
域 kvmtest01 被删除
[root@kvm ~]# virt-clone -o kvmtest01 -n kvmtest02 -f /kvm/kvmtest02.img
正在克隆 kvmtest.img | 1.0 GB 01:18
Clone 'kvmtest02' created successfully.
參数解释
-o ORIGINAL_GUEST, --original=ORIGINAL_GUEST
原始客体的名称;必须为关闭或者暂停状态
-n NEW_NAME, --name=NEW_NAME
新client的名称
-f NEW_DISKFILE, --file=NEW_DISKFILE
作为新client磁盘映像的新文件
(5)启动kvm虚拟机
Clone 'kvmtest02' created successfully.
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
- kvmtest02 关闭
[root@kvm ~]# virsh start kvmtest02
域 kvmtest02 已開始
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 kvmtest02 running
- kvmtest01 关闭
(6)kvm控制台登陆kvmtest02虚拟机
[root@kvm ~]# virsh console kvmtest02
连接到域 kvmtest02
Escape character is ^]
Welcome to CentOS
正在启动 udev:[确定]
设立主机名 localhost.localdomain: [确定]
检查文件系统
Checking all file systems.
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/vda3
/dev/vda3: clean, 33318/118320 files, 231356/472832 blocks
[/sbin/fsck.ext4 (1) -- /boot] fsck.ext4 -a /dev/vda1
/dev/vda1: 正在修复日志
/dev/vda1: clean, 38/51200 files, 32302/204800 blocks
[确定]
将根文件系统又一次挂载成读写模式: [确定]
挂载本地文件系统: [确定]
启用/etc/fstab中的交换空间: [确定]
进入非互动式启动
ip6tables:应用防火墙规则:[确定]
iptables:应用防火墙规则:[确定]
弹出环回接口: [确定]
弹出界面 eth0: 设备 eth0 似乎不存在, 初始化操作将被延迟。
[失败]
正在启动 auditd:[确定]
启动系统日志记录器:[确定]
启动系统消息总线:[确定]
挂载其他文件系统: [确定]
又一次激发失败的 udev 事件[确定]
加入 udev 持久规则[确定]
正在启动 sshd:[确定]
启动 postfix: [确定]
正在启动 crond:[确定]
CentOS release 6.4 (Final)
Kernel 2.6.32-358.el6.x86_64 on an x86_64
localhost.localdomain login: root
Password:
Last login: Fri Dec 19 16:23:37 on ttyS0
[root@localhost ~]# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
2、通过拷贝配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移)
sheng
注意:KVM克隆的时候须要注意几点
1、编辑配置文件的时候。尽量不要使用vim/vi,由于vim/vi改动的配置当时不会生效。所以要使用KVM特定的编辑命令 virsh edit kvmtest01
2、因为使用的虚拟机。克隆后的虚拟机是仅仅有lo回环地址,没有物理网卡。须要我们手动改动
[root@kvm ~]# ll /etc/udev/rules.d/70-persistent-net.rules
-rw-r--r-- 1 root root 420 12月 18 21:22 /etc/udev/rules.d/70-persistent-net.rules