1 cat /etc/redhat-release
      CentOS release 6.4 (Final)
2 egrep ‘vmx|svm’ /proc/cpuinfo
3 yum -y install kvm python-virtinst libvirt  bridge-utils virt-manager qemu-kvm-tools  virt-viewer  virt-v2v
(依赖包)
4 vi /etc/sysconfig/selinux   SELINUX=disabled(参数修改)  重启生效
5  /etc/init.d/libvirtd restart (守护进程是否正常) [确定]   [确定]
6 lsmod | grep kvm   检查KVM是否加载成功
7 virsh list --all    Id    名称                         状态
     ----------------------------------------------------
8  kvm --version   virt-install --version    virsh --version (各版本查询)
9  cat ifcfg-br0              cat ifcfg-eth0 
 DEVICE=br0                 DEVICE=eth0
 TYPE=Bridge                TYPE=Ethernet
 BOOTPROTO=static    BRIDGE=br0
 IPV6INIT=no                BOOTPROTO=none
 ONBOOT=yes              IPV6INIT=no
 IPADDR=192.168.1.66  ONBOOT=yes
 NETMASK=255.255.255.0
 GATEWAY=192.168.1.1
 DNS1=8.8.8.8
 DELAY=0
重启网卡出错-- 1 安装tunctl  
yum install -y tunctl
  2 禁用网络管理器: 
chkconfig NetworkManager off  ##和桥接有冲突,要关闭
  service NetworkManager stop
 
10virt-install --name=centos64 --ram 1024 --vcpus=2 --disk path=/var/lib/libvirt/images/centos64.img,size=10 --accelerate --cdrom /mnt/CentOS64.iso --graphics vnc,password=123456,port=5920 --network bridge=br0 --force --autostart  (新建虚拟机命令)   
通过命令行安装guest虚拟机
[root@target ~]# virt-install \            #安装选项可用virt-install --help查看
--name node4 \           #虚拟机名
--ram=1024 \             #分配内存大小,MB
  \          #模拟的CPU 构架
--vcpus=1 \              #配置虚拟机的vcpu 数目
--check-cpu \            #检查确定vcpu是否超过物理 CPU数目,如果超过则发出警告。
--os-type=linux \        #要安装的操作系统类型,例如:'linux'、'unix'、'windows'
--os-variant=rhel5 \     #操作系统版本,如:'Fedora6', 'rhel5', 'solaris10',   'win2k'
--disk path=/virhost/node7.img,device=disk,bus=virtio,size=20,sparse=true \   #虚拟   机所用磁盘或镜像文件,size大小G
--bridge=br0 \           #指定网络,采用透明网桥
--noautoconsole \        #不自动开启控制台
--pxe                    #网络安装
  virsh start node4      #开机
  virsh destroy node4    #强制关闭电源
  virsh shutdown node4   #关机
  virsh list --all       #查看虚拟机状态    
  virsh reboot node4     #重启
 -------------------------------------------------------------------------------------------

virt-viewer name   查看安装状态
 使用virt-install 工具安装虚拟机后,在目录/etc/libvirt/qemu/下生成xml 配置文件
cd /etc/libvirt/qemu     cat centos64.xml

<domain type='kvm'>                                        虚拟机类型
     <name>centos</name>                                    虚拟机名称
     <uuid>54da30ed-150d-514e-9803-4dc01bd50488</uuid>      uuid唯一标示
     <memory unit='KiB'>1048576</memory>                    指定虚拟机内存大小,给出了单位
     <vcpu placement='static'>2</vcpu>                      虚拟机占用虚拟cpu个数,这里指物理cpu的核心数量
     <os>
       <type arch='x86_64' machine='rhel6.3.0'>hvm</type>   指定虚拟系统架构
       <boot dev='hd'/>                                     启动类型,从硬盘启动
     </os>
     <devices>
       <emulator>/usr/libexec/qemu-kvm</emulator>           驱动程序,同上,使用的是qemu-kvm
       <disk type='file' device='disk'>                     指定磁盘类型
       <driver name='qemu' type='raw' cache='none'/>        指定磁盘格式,这里是raw,也支持qcow2.
       <source file='/home/vms/centos.img'/>                img文件路径
       <target dev='hda' bus='ide'/>                        磁盘文件标示,驱动类型
       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
       <interface type='bridge'>
         <mac address='52:54:00:11:57:e6'/>                 自动生成,可以手动指定。
         <source bridge='br0'/>                             桥接到哪一个接口
       </interface>
     </devices>
 </domain>
-------------------------------------------------------------------------------------------
其他问题
 1、图形化配置:从菜单中启动,或者运行virt-manager进入图形管理界面,比较简单,不过img的位置需要注意一下,kvm安装后会有一个默认位置,不注意的话容易占满空间。或者直接硬盘分区时单独给/var分一个区。
 2、虚拟机重新配置:
 虚拟机的配置文件保存在/etc/libvirt/qemu目录下,扩展名是xml。修改相应的文件即可重新配置虚拟机。
 3、虚拟机备份及恢复:
 备份:拷贝/etc/libvirt/qemu目录下的xml配置文件,以及xml中设置的img文件。
 恢复:进入virsh,执行define 目录下的xml文件路径
 virsh # define /etc/libvirt/qemu/winxp.xml
 4、开机自动启动虚拟机:
 [root@vfeelit qemu]# virsh autostart Winxp
 5、克隆KVM虚拟机:
 [root@vfeelit ~]# virt-clone -o Winxp -n winxpclong -f /var/lib/libvirt/images/winxpclong.img
 (-o 原始客体的名称,-n新客户端的名称,-f作为新客户端磁盘映像的新文件)
克隆后虚拟机,网卡起不来,删除/etc/udev/rules.d/70-persistent-net.rules,重启
 6、虚拟机意外关机报下述错误:
 [root@vfeelit qemu]# virsh start winxp
 错误:开始域 winxp 失败 
 错误:Unable to read from monitor: Connection reset by peer
 解决方法:virsh managedsave-remove winxp

Virsh语法参考: 
Autostart                         自动开始一个域
 Create                            从一个 XML 文件创建一个域
 Define                            从一个 XML 文件定义(但不开始)一个域
 edit                              编辑某个域的 XML 配置
 shutdown                          关闭一个域
 start                             开始一个(以前定义的)非活跃的域
 reboot                            重新启动一个域
 suspend                           挂起一个域
 resume                            重新恢复一个域
 vncdisplay                        vnc 显示
 
使用save来备份当前虚拟机的状态:
 [root@vfeelit images]# virsh save –bypass-cache RedHat /var/lib/libvirt/images/test.img –running
 上面这个命令将RedHat的当前状态保存到/opt/vm2_save文件中。–running参数表示下次restore回来的时候能够自动启动RedHat。
 这个命令会导致RedHat被关闭。

现在还原:必须先关闭虚拟机
 [root@vfeelit images]# virsh shutdown RedHat
 [root@vfeelit images]# virsh restore /var/lib/libvirt/images/test.img –bypass-cache –running (还原时不要指定虚拟机名称
------------------------------------------------------------------------
virsh console ccc(虚拟机名)  远程管理虚拟机:需修改虚拟机下面文件(非宿主机),重启生效
1、修改 /etc/securetty 到最后添加 ttyS0  
 
echo ttyS0 >> /etc/securetty
 
2、修改/etc/inittab 到最后添加 S0:12345:respawn:/sbin/agetty/ ttyS0 115200
 
echo "S0:12345:respawn:/sbin/agetty/ ttyS0 115200" >> /etc/inittab

3、修改/etc/grub.conf ,如下图所示在 kernel 这一行的末尾,添加console=ttyS0(无需换行添加)
-------------------------------------------------------------------------------------------
六、为虚拟机增加磁盘空间
增加磁盘的格式为sda/vda 
生成一块新的硬盘
qemu-img create -f raw /data/kvm/diskone.img 10G 
将磁盘附加到虚拟机上
virsh attach-disk test(虚拟机名) /data/kvm/diskone.img(硬盘路径) vdb(硬盘名)
一:添加硬盘
 
方法1
直接修改虚拟机的XML文件,这种方式虚拟机要重新virhs start/create 才可以生效,具体略。
方法2
用attach-disk 命令添加
要添加的LV卷/dev/vg01/lv_add01 
[root@KVM  ~]#virsh attach-disk kvm_ipvs01 /dev/vg01/lv_add01 vdc 
即时生效,但是虚拟机配置文件不会添加,重启后就没了,如果要将运行状态保存至XML文件中,可以用dumpxml命令,用之前最好将XML做个备份。
[root@KVM  ~]#virsh dumpxml kvm_ipvs01  >kvm_ipvs01.xml 
ISO以磁盘方式添加
[root@KVM qemu]# virsh attach-disk KVM_ipvs01 /root/tasks/win2003.iso vdd
Disk attached successfully
即时生效,成功后到ipvs01中查看
[root@KVM_ipvs01 ~]# mount /dev/vdd /mnt/
[root@KVM_ipvs01 ~]# cd /mnt/
[root@KVM_ipvs01 mnt]# ll
total 3520
-r-xr-xr-x 1 root root     112 Mar  7  2007 <a class="bdcs-inlinelink" href="http://so.21ops.com/cse/search?s=9181936462520079739&entry=1&q=autorun.inf" target="_blank">autorun.inf</a>
-r-xr-xr-x 1 root root  322730 Mar  7  2007 <a class="bdcs-inlinelink" href="http://so.21ops.com/cse/search?s=9181936462520079739&entry=1&q=bootfont.bin" target="_blank">bootfont.bin</a>
dr-xr-xr-x 1 root root  267478 Mar  7  2007 i386
dr-xr-xr-x 1 root root     184 Mar  7  2007 printers
-r-xr-xr-x 1 root root   18809 Mar  7  2007 read1st.htm
-r-xr-xr-x 1 root root   54458 Mar  7  2007 relnotes.htm
-r-xr-xr-x 1 root root  372014 Mar  7  2007 setupenterprise.htm
-r-xr-xr-x 1 root root 2564096 Mar  7  2007 setup.exe
dr-xr-xr-x 1 root root     142 Mar  7  2007 suppor
-r-xr-xr-x 1 root root      10 Mar  7  2007 win51
-r-xr-xr-x 1 root root      10 Mar  7  2007 win51ia
-r-xr-xr-x 1 root root      10 Mar  7  2007 win51ia.sp2

二:添加网卡
 
方法1,修改配置文件,略
 
方法2,
[root@KVM  ~]#virsh attach-interface SNKVM_ipvs01 --type bridge --source br1
[root@KVM  ~]#virsh domiflist SN349_ipvs01  查看vnet6为新增的网卡
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet2      bridge     br2        virtio      52:54:00:06:88:f4
vnet6      bridge     br1        -           52:54:00:8d:de:df 
命令修改即时生效,但不会改动虚拟机XML文件,用下面命令更新至xml
[root@KVM  ~]#virsh dumpxml kvm_ipvs01 >kvm_ipvs01.xml
进入虚拟机修改网络配置文件,无需重启
[root@ipvs01 network-scripts]# cp -a ifcfg-eth0 ifcfg-eth1
[root@ipvs01 network-scripts]# vi ifcfg-eth1
DEVICE="eth1" #改为eth1
BOOTPROTO="static"
#HWADDR="52:54:00:06:88:F4" #mac注释掉或者改为上面list中的值
IPADDR="10.10.0.90"  #修改IP
IPV6INIT="yes"
MTU="1500"
NETMASK="255.255.255.0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
#<a class="bdcs-inlinelink" href="http://so.21ops.com/cse/search?s=9181936462520079739&entry=1&q=UUID" target="_blank">UUID</a>="e5b102fb-1fdf-410b-8b59-5fef69b39df9"  #注释掉UUID
重启后网卡2生效
[root@KVM_ipvs01 network-scripts]# /etc/init.d/network restart
Shutting down interface eth0:                               [  OK  ]
Shutting down loopback interface:                       [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                    [  OK  ]
Bringing up interface eth1:                                    [  OK  ] 
--------------------------------------------------------------------------------------------
KVM动态迁移
1迁移的主机处于开机状态
Virsh list –all
2 在源宿主机上开启nfs服务(也可在加一台nfs服务器)
/etc/init.d/nfs restart
3修改源宿主机/etc/export   加入/var/lib/libvirt/images  *(insecure,rw,sync,no_root_squash)
重启nfs   /etc/init.d/nfs restart
3 目标宿主机操作:(挂载命令)
mount -t nfs 10.0.6.26(源宿主机):/var/lib/libvirt/images /var/lib/libvirt/images/
4在源宿主机上执行迁移命令
virsh migrate --live node2 qemu+ssh://10.0.6.34/system
出现错误
Cannot get interface MTU on 'br0': No such device
解决方法
在目标主机上配置br0
出现错误Unable to resolve address 'syxtest' service '49152': Name or service not known
解决方法
Vim /etc/hosts
10.0.6.34(目标宿主机) syxtest(目标宿主机名) 
5在目标主机上看是否迁移成功
虽然启动了 但是还没配置文件
将配置文件从宿主机拷贝过来 路径一致

kvm安装及简单使用的更多相关文章

  1. 云计算之KVM安装(二)

    云计算之KVM安装(二) 调整虚拟机 虚拟化Intel使用的是intel VT-X AMD使用的是AMD-V 创建虚拟机步骤 1.准备虚拟机硬盘 2.需要系统iso镜像 3.需要安装一个vnc的客户端 ...

  2. centos 6 下KVM 安装学习之旅

    一.虚拟化介绍    虚拟化是云计算的基础.简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU.内存.IO 硬件资源,但逻辑上虚拟机之间是相互隔离的. 物理机我们一般 ...

  3. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  4. (转)python requests的安装与简单运用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...

  5. MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)

    一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...

  6. python requests的安装与简单运用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...

  7. memcache的windows下的安装和简单使用

    原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...

  8. 【RabbitMQ】RabbitMQ在Windows的安装和简单的使用

    版本说明 使用当前版本:3.5.4 安装与启动 在官网上下载其Server二进制安装包,在Windows上的安装时简单的,与一般软件没什么区别. 安装前会提示你,还需要安装Erlang,并打开下载页面 ...

  9. 烂泥:kvm安装windows系统蓝屏

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近一直在学习有关KVM的知识,实验一直是在虚拟机VM中进行的.今天刚好公司有一台空闲的服务器,直接拿来安装centos.kvm等等,然后相关的配置. ...

随机推荐

  1. 1 使用webpack搭建vue开发环境

    1 先去node.js官网下载nodejs并且安装 安装成功之后在命令行输入node -v 回车,npm -v回车如果显示对应的版本号,说明node安装成功,自带的npm也安装成功 2 在d盘下创建一 ...

  2. Python TCP通信之仿文件下载

    TCP_文件下载_Client.py import socket def main(): # 创建TCP套接字 tcp_socket = socket.socket(socket.AF_INET, s ...

  3. Go微服务 grpc的简单使用

    作者:薇文文链接:https://www.jianshu.com/p/20ed82218163来源:简书 准备工作 先安装Protobuf 编译器 protoc,下载地址:https://github ...

  4. LeetCode 【2】 Reverse Integer --007

    六月箴言 万物之中,希望最美:最美之物,永不凋零.—— 斯蒂芬·金 第二周算法记录 007 -- Reverse Integer (整数反转) 题干英文版: Given a 32-bit signed ...

  5. 【leetcode】339. Nested List Weight Sum

    原题 Given a nested list of integers, return the sum of all integers in the list weighted by their dep ...

  6. Flutter——BottomNavigationBar组件(底部导航栏组件)

    BottomNavigationBar常用的属性: 属性名 说明 items List<BottomNavigationBarItem> 底部导航条按钮集合 iconSize icon c ...

  7. Linux 02 Linux基本概念及操作

    基本echo "hello word"  输出 hello wordtouch file         创建文件名为file 常用快捷键TAB:在忘记命令时,可以用来补全命令Ct ...

  8. nginx 重发机制导致的重复扣款问题

    问题:    nginx 重发机制导制重复提交(客户还款,被扣俩笔款,前端调用一次,后端执行2次) proxy_next_upstream 语法: proxy_next_upstream error ...

  9. [cf1138BCircus][枚举,列等式]

    https://codeforc.es/contest/1138/problem/B B. Circus time limit per test 1 second memory limit per t ...

  10. tomcat——Server.xml

    本机tomcat位置:D:\tomcat7\apache-tomcat-7.0.61 server.xml 位置:D:\tomcat7\apache-tomcat-7.0.61\conf 注意:ser ...