安装KVM
1、安装需要的包
yum install -y bridge-utils wget lrzsz gcc gcc-c++ net-tools telnet #系统基础包 yum install -yqemu-kvm libvirt virt-install bridge-utilsdocbook-utils.noarchvirt-viewer
yum -y install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2vtunctl
####################桥接网卡需要tunctl ########################## 下载 tunctl-1.5.tar.gz tar xzvf tunctl-1.5.tar.gz cd tunctl-1.5 make make install
2、禁用网络管理器:
chkconfig NetworkManager off ##和桥接有冲突,要关闭 service NetworkManager stop
3、桥接网卡
在/etc/sysconfig/network-scripts/ 目录新建 ifcfg-br0
DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPV6INIT=no ONBOOT=yes IPADDR=192.168.1.66 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DELAY=0
[root@vfeelit network-scripts]# cat ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet BRIDGE=br0 BOOTPROTO=none IPV6INIT=no ONBOOT=yes
附加说明:这里配置成桥接方式,实际上本机的数据包发送是通过br0发送的,br0的TYPE是Bridge,其它的信息跟配置一个物理网卡一样,本机的eth0通过桥接到br0(通过BRIDGE指定)进行通信,它根本不需要配置IP信息,实际上数据发送还是通过本机的物理网卡。 [root@localhost centos7]# virt-install \\ --name=VM-centos7 \\ --ram 1024 \\ --vcpus=1 \\
--disk path=/KVM/VM-centos-7.img,size=50 \\ --accelerate \\
--cdrom /KVM/centos7/CentOS-7-x86_64-DVD-1511.iso \\ --graphics vnc,listen=0.0.0.0,port=5920, \\ --network bridge=br0 \\ --force \\
--autostart
******************************
[root@localhost centos7]# virt-install \\ > --name=VM-centos7 \\ > --ram 1024 \\ > --vcpus=1 \\
#虚拟机名
#分配内存大小,MB #配置虚拟机的vcpu 数目
#虚拟机所用磁盘或镜像文件,size
> --disk path=/KVM/VM-centos-7.img,size=50 \\ 大小G > --accelerate \\
> --cdrom /KVM/centos7/CentOS-7-x86_64-DVD-1511.iso \\ 使用网络安装则用:--pxe #网络安装 > --graphics vnc,listen=0.0.0.0,port=5920, \\ > --network bridge=br0 \\ > --force \\
#安装iso文件,如果
#启用vnc ,监听IP和端口
#指定网络,采用透明网桥
> --autostart
提示则虚拟机正在创建,netstat查看5920是否在监听。在监听则可以使用vnc连接IP:5920。 VNC连接出现闪退情况的解决:需修改vnc option里面Advanced-->expert-->ColourLevel的值为“rgb222” or “full”即可。
克隆虚拟机 1、使用命令克隆:
virsh shutdown VM-centos7#先关源虚拟机 virsh destroy VM-centos7
#强行关闭虚拟机电源
virt-clone -o VM-centos7 -n VM-centos7-1 -f /KVM/VM-centos7-1.img #执行克隆 virsh editVM-centos7#使用命令virsh edit修改新虚拟机的配置文件(使用virsh-clone命令克隆的虚拟机会自动修改虚拟机名,mac,uuid。所以只需要修改vnc端口和socket文件,特别注意如果不修改socket文件路径名,则启动时只有当克隆源的机器启动时,克隆的机器才能正常启动。)
1. 修改vnc端口port='5921' autoport='no',
2. Centos7需要修改socket文件路径: path='/var/lib/libvirt/qemu/channel/target/domain-VM-centos7-1/org.qemu.guest_agent.0'/> 3. 修改虚拟机的名称 4. 修改uuid编号 克隆后网卡eth0找不到问题解决 1、 2、 编辑/etc/udev/rules.d/70-persistent-net.rules文件 将eth1行注释掉,将eth0的mac地址修改为eth1的mac地址 3、 编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,将mac地址修改为与mac70-persistent-net.rules中的mac匹配的mac地址。 2、复制文件克隆 ? 复制模板配置文件为w2k3_x64_02 1. 复制镜像文件 #cp VM-centos-7.img VM-centos7-Jira.img 2. cd /etc/libvirt/qemu #复制配置文件 #cp -av VM-centos-7.xml VM-centos7-Jira.xml 3. 修改模板配置文件 virsh editVM-centos7-Jira a) 修改vnc端口port='5921' autoport='no', b) 修改socket文件路径: path='/var/lib/libvirt/qemu/channel/target/domain-VM-centos7-1/org.qemu.guest_agent.0'/> c) 修改虚拟机的名称 号 e) 修改mac地址,如: 4、#virsh define VM-centos7-Jira.xml #用配置文件定义虚拟机 5、#virsh list --all //可查看虚拟机以看到新添加的VM已经添加了 6、#virsh start VM-centos7-Jira //启动VM 7、vnc连接服务器后修改IP 8、删除/etc/udev/rules.d/70-persistent-net.rules文件 ################################################################## kvm虚拟机管理 一、环境 role hostname ip OS kvm_server target 192.168.32.40/24 rhel6.0_x64 vir_guest1 node4 192.168.32.34/24 rhel5.5_i386 vir_guest2 node5 192.168.32.35/24 rhel5.5_i386 manager manager 192.168.32.33/24 rhel5.5_i386 ESXi ESXi 192.168.2.251/24 ESXi 3.5 二、安裝kvm [root@target ~]# yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64 #安装kvm内核 [root@target ~]# yum install libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 #安装virt管理工具 [root@target ~]# modprobe kvm #加载kvm内核 [root@target ~]# modprobe kvm-intel #intel cpu加载kvm-intel内核,要支持全虚拟化,必须开启;要求cpu支持,通过bios可设置。 [root@target ~]# modprobe kvm-amd #amd cpu加载kvm-intel [root@target ~]# modprobe -ls | grep kvm #查看内核是否开启 kernel/arch/x86/kvm/kvm.ko kernel/arch/x86/kvm/kvm-intel.ko kernel/arch/x86/kvm/kvm-amd.ko [root@target ~]# modprobe -ls | grep kvm-intel kernel/arch/x86/kvm/kvm-intel.ko 三、安装guest虚拟机 1、直接通过virt-manager安装、管理虚拟机(略) 2、通过命令行安装guest虚拟机 [root@target ~]# yum install virt-viewer #开启图形控制台安装虚拟客户机需要, [root@target ~]# virt-install \\ #安装选项可用virt-install --help查看 --name node4 \\ #虚拟机名 --ram=1024 \\ #分配内存大小,MB --arch=x86_64 \\ #模拟的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 #网络安装