安装配置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是我们服务器原来的物理网卡,而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镜像到本地服务器中 

   

 [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监听的端口 

 [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、在 
控制端 
kvm服务器上操作 

 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 

      新客户端的名称 

  -f NEW_DISKFILE, --file=NEW_DISKFILE 

      作为新客户端磁盘映像的新文件 

   


 (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