selinux关闭,iptables关闭,NetworkManager服务关闭
KVM需要CPU的支持(Intel VT或AMD SVM),在安装KVM之前检查一下CPU是否提供了虚拟技术的支持:
[root@localhost ~]# grep -E -o ‘vmx|svm’ /proc/cpuinfo #单引号
vmx
安装kvm:
[root@localhost ~]# yum install qemu-kvm libvirt python-virtinst bridge-utils -y
(或者用yum -y groupinstall ‘Virtualization’ ‘Virtualization Client’ ‘Virtualization Platform’ ‘Virtualization Tools’ 没测试)
检查kvm模块:
[root@localhost ~]# lsmod | grep kvm
kvm_intel 54285 3
kvm 333172 1 kvm_intel
配置物理机网卡:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.118
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=8.8.8.8
BRIDGE=br0
USERCTL=no
配置桥接网卡br0(新建):
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.118
NETMASK=255.255.255.0
GATEWAY=192.168.0.254
DNS1=8.8.8.8
USERCTL=no
保存,退出,重启网络服务:
[root@localhost ~]# service network restart
再通过ifconfig看eth0设备的ip地址已经不显示了。绑定到br0了。通过br0桥接实现kvm虚拟机和外网的通讯。
[root@localhost ~]# ip route list
192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.118
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
169.254.0.0/16 dev br0 scope link metric 1003
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c29579e52 no eth0
vnet0
virbr0 8000.525400b417e2 yes virbr0-nic
[root@localhost ~]# /etc/init.d/libvirt-guests start
[root@localhost ~]# /etc/init.d/libvirtd start
[root@localhost ~]# mkdir /mnt/images #存放虚拟机镜像文件的路径
[root@localhost ~]# qemu-img create -f qcow2 /mnt/images/centos.qcow2 10G #创建一个镜像文件格式为qcow2,大小为10G的虚拟机
[root@localhost ~]# virt-install --connect qemu:///system --name centos --ram 512 --vcpus=1 --disk path=/mnt/images/centos.qcow2,device=disk,format=qcow2,bus=virtio,cache=none,size=73 --cdrom=/smb/CentOS-6.5-x86_64-bin-DVD1.iso --os-type=linux --network bridge=br0,model=virtio,model=e1000 --hvm --os-variant=rhel6 --graphics vnc,listen=0.0.0.0,port=5903 --virt-type=kvm --noautoconsole
开始安装……
创建域…… | 0 B 00:00
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。
[root@localhost ~]# lsof -i:5903 #vnc端口
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
qemu-kvm 5167 qemu 12u IPv4 25501 0t0 TCP *:5903 (LISTEN)
通过vnc客户端连接控制台以后,继续进行系统安装过程。安装以后会提示重启,然后继续用vnc客户端连接,连接不上。
貌似kvm不会自动重启。我这里手动去启动过程创建的centos虚拟机。
[root@localhost ~]# virsh list #列出当前运行的虚拟机 Id 名称 状态 ---------------------------------------------------- [root@localhost ~]# virsh list --all #列出所有 Id 名称 状态 ---------------------------------------------------- - centos 关闭 [root@localhost ~]# virsh start centos #启动名称为centos的虚拟机 域 centos 已开始 [root@localhost ~]# virsh list Id 名称 状态 ---------------------------------------------------- 2 centos running
然后继续通过vnc客户端连接,设置好虚拟机的ip地址即可。完成。
通过登陆centos物理机,ifconfig发现vnet0的mac地址等于虚拟机centos系统的eth0设备mac地址。
libvirt提供了一个图形界面下的管理工具,可以在GUI下安装虚拟机。方法如下:
[root@localhost ~]# yum install -y virt-manager //安装工具
在 applications-system tools找到 virtual machine manager 可以图形安装。很简单,这里不做演示了。
PS:
转来的其它命令:
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虚拟机开机启动
重命名虚拟机
1、导出虚拟机的配置文件
virsh dumpxml vm5 > /etc/libvirt/qemu/reg.xml
2、编辑配置文件更改名字
vi /etc/libvirt/qemu/reg.xml ==>
<name>reg</name>
3、移除原有虚拟机
virsh undefine vm5
4、加载新的虚拟机
virsh define reg.xml
虚拟机创建快照
1、转换磁盘镜像文件格式为qcow2
virsh shutdown vm5
qemu-img convert -f raw -O qcow2 vm5.img vm5qcow2.img
2、创建快照
virsh snapshot-create-as vm5 ok
3、查看快照
virsh snapshot-list vm5
4、恢复快照
virsh snapshot-revert vm5 ok
5、删除快照
virsh snapshot-delete vm5 ok
virt-install命令参数:
--connect=URI 连接到虚拟机管理程序与libvirt的URI,如qemu:///system -r MEMORY, --ram=MEMORY 分配虚拟机实例(Guest)内存,单位为M -n NAME, --name=NAME 虚拟机实例(Guest)的名称 --vcpus=VCPUS 配置实例(Guest)CPU数目 --disk path=DISKFILE 指定实例(Guest)存储路径及其镜像 -c CDROM, --cdrom=CDROM 指定安装镜像所在位置和名称, 它可以是一个ISO映像的路径, 它也可以是URL,从中提取/访问的最小引导ISO映像。 --vnc 启用VNC远程管理,该选项不被赞同,可以用"--graphics vnc,..."代替 --vnclisten=VNCLISTEN 可以用"--graphics vnc,listen=LISTEN,..." 代替 --vncport=VNCPORT 可以用"--graphics vnc,port=PORT,..."代替 --noautoconsole 不要自动尝试连接到guest虚拟机控制台。默认行为是启动一个VNC客户端显##示的图形控制台 --os-type=OS_TYPE 优化实例(Guest)配置操作系统类型如linux或windows --os-variant=OS_VARIANT 优化实例(Guest)配置一个特定的操作系统(如##win7,winxp,win2k3,win2k8,rhel6) --hvm 要求使用完全虚拟化 --accelerate 加速该选项已经过时可以参考--virt-type qemu -w NETWORK, --network=NETWORK,opt1=val1,opt2=val2 实例(Guest)连接到主机的网络, 网桥--network bridge=br0,用nat路由出站##--network network=default
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/2645.html