kvm

brctl  show

brctl delif ena eth1;    格式:brctl  delif  桥接名  接口

ifconfig ena down;     

brctl delbr ena;

 

检查cpu虚拟化支持

grep -E vmx /proc/cpuinfo

依赖包功能介绍:

qemu-kvm
#该软件包主要包含KVM内核模块和基于KVM重构后的QEMU模拟器。
#-- KVM模块 作为整个虚拟化环境的核心,工作在系统空间,负责CPU和内存的调度。
#-- QEMU作为模拟器 工作在用户空间,负责虚拟机I/O模拟。 qemu-img #主要用来QEMU磁盘镜像的管理,如新建一块磁盘镜像给虚拟机。 libvirt #提供Hypervisor和虚拟机管理的API。 libvirt-client #KVM客户端命令行管理工具virsh,负责虚拟机的启动、停止和管理等。 libvirt-daemon #libvirtd守护进程,作为客户端管理工具跟Hypervisor和虚拟机之间的桥梁。 libvirt-daemon-driver-xxx #从名字来看属于libvirtd服务的驱动文件,作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器,网络,存储等)间的接口。 bridge-utils #网桥管理工具包,负责桥接网络的创建、配置和管理等工作。 virt-install #创建和克隆虚拟机的命令行工具包。 virt-manager #图形界面的KVM管理工具。

  

安装kvm:

vi /etc/yum.repos.d/CentOS-aliyun.repo

[aliyun]
name=CentOS-$releasever-aliyun
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
vim /etc/resolv.conf  #配置dns
nameserver 114.114.114.114

yum -y install qemu-kvm libvirt virt-install bridge-utils  #安装相关rpm包

systemctl enable libvirtd  #启动libvirtd服务
systemctl start libvirtd 

  

5、配置bridge网络

[root@vfeelit network-scripts]# cat 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信息,实际上数据发送还是通过本机的物理网卡

重启网络

service network restart

查看桥接网络

[root@vfeelit ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.0021cc6b6f2c       no              eth0
virbr0          8000.525400ac7ebe       yes             virbr0-nic

  

6、创建虚拟机

virt-install --name=centos1 --ram=4096 --vcpus=2 

--cdrom=/mnt/centos/CentOS-7-x86_64-Minimal-1511.iso 

--os-type=linux --network bridge=br0 

--disk path=/home/centos/centos1.img,size=20 

--vnc --vnclisten=0.0.0.0 --vncport=5920

查看img文件

[root@vfeelit]# qemu-img info centos.img
image: centos.img
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 1.4G

  

7、 

virsh list   #显示正在运行的虚拟机  
virsh list --all   #显示所有虚拟机
virsh start vm6    #启动名字为vm6的虚拟机 
virsh shutdown vm6 #关闭名字为vm6的虚拟机 
virsh destroy vm6  #强制关闭名字为vm6的虚拟机 
virsh undefine vm6   #移除名字为vm6的虚拟机 
virsh autostart vm6  #设置vm6虚拟机开机启动 

8、重命名虚拟机 

导出虚拟机的配置文件  virsh dumpxml vm5 > /etc/libvirt/qemu/reg.xml 
编辑配置文件更改名字  vi /etc/libvirt/qemu/reg.xml     ==>  <name>reg</name> 
移除原有虚拟机  virsh undefine vm5 
加载新的虚拟机  virsh define reg.xml 

9、虚拟机创建快照 

virsh shutdown vm5 && qemu-img convert -f raw -O qcow2 vm5.img vm5qcow2.img  #转换磁盘镜像文件格式为qcow2 
virsh snapshot-create-as vm5 ok  #创建快照 
virsh snapshot-list vm5  #查看快照  
virsh snapshot-revert vm5 ok  #恢复快照
virsh snapshot-delete vm5 ok  #删除快照 
virsh help snapshot   #获取帮助

验证内核模块

# lsmod |grep kvm
kvm
kvm_intel

以上输出说明内核模块加载成功,其中:

kvm作为核心模块,协同QEMU实现整个虚拟化环境的正常运行。

kvm_intel作为平台(Intel)独立模块,激活KVM环境的CPU硬件虚拟化支持。

开启路由转发功能:

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
sysctl -p /etc/sysctl.conf 

支持vnc

vi /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"

创建虚拟机时,加上--vnc --vnclisten=0.0.0.0 --vncport=5920

virsh-install --name=centos6.5 --ram=4096 --vcpus=2 
--cdrom=/mnt/centos/CentOS-6.5-x86_64-bin-DVD1.iso --os-type=linux 
--network bridge=br0 
--disk path=/home/centos/centos6.5.img,size=20 
--vnc --vnclisten=0.0.0.0 --vncport=5920 

  

 

原文地址:https://www.cnblogs.com/linuxws/p/10678424.html