CentOS7使用KVM初体验

  |   0 评论   |   38 浏览

背景

在CentOS7中安装使用KVM。

初体验

环境准备

CPU支持虚拟化扩展。

$ cat /proc/cpuinfo | egrep -c 'vmx|svm'
16

关闭 SELinux

修改/etc/sysconfig/selinux,改为

  7 #SELINUX=enforcing
  8 SELINUX=disabled
  • 临时关闭防火墙:setenforce 0
  • 查看防火墙: getenforce
  • 查看安全策略:/usr/sbin/sestatus

安装KVM环境

安装qemu核心包

yum install qemu-kvm qemu-kvm-tools

安装管理工具

yum install libvirt python-virtinst libvirt-python virt-manager libguestfs-tools bridge-utils virt-install

确认内核中kvm模块已加载

# lsmod | grep kvm
kvm_intel             174841  0
kvm                   578518  1 kvm_intel
irqbypass              13503  1 kvm

设置为开机启动

[root@console ~]# systemctl start libvirtd.service
[root@console ~]# systemctl enable libvirtd.service

查看运行状态

[root@console ~]# systemctl status libvirtd
…………

[root@console ~]# systemctl is-enabled libvirtd
enabled

安装虚拟机

创建磁盘

$ qemu-img create -f raw xp.raw 20G

查看磁盘信息

$ qemu-img info xp.raw
image: xp.raw
file format: raw
virtual size: 20G (21474836480 bytes)
disk size: 0

磁盘扩容

qemu-img resize xp.raw +80G

安装系统

virt-install --virt-type kvm --name xp --ram 2048 --cdrom=bak/74070.iso --boot cdrom --network bridge=virbr0 --graphics vnc,listen=0.0.0.0,port=5900 --disk path=xp.raw,bus='ide' --noautoconsole --os-type=windows

开始安装......
域安装仍在进行。您可以重新连接
到控制台以便完成安装进程。

通过vncserver,连接到5900端口。这时显示出了熟悉的安装页面,让我们来继续安装吧。

安装过程中,自动重启后,镜像就自动退出了。。

启动虚拟机

启动虚拟机

virsh start xp

其它常用命令:

xxxx
virsh list查看运行中的虚拟机
virsh dumpxml vm-name查看配置文件
virsh edit vm-name修改配置文件
virsh start vm-name启动
virsh shutdown vm-name关机
virsh destroy vm-name强制关机
virsh undefine vm-name删除配置文件
virsh suspend vm-name休眠
virsh resumed vm-name恢复
virsh autostart vm-name开机自启动
virsh console vm-name连接虚拟机

查看ip地址

arp -a

下载mac的RDP

共享KVM和虚拟机的目录(失败)

建立目录

mkdir -p /exports/home/note/share

修改配置文件 virsh edit xp

     39   <devices>
…………
     47     <filesystem type='mount' accessmode='passthrough'>
     48       <source dir='/exports/home/fw/share'/>
     49       <target dir='share'/>
     50     </filesystem>
…………
    106   </devices>

结果启动不起来,报错

 'virtio-9p-pci' is not a valid device model name

原因为 CentOS7的内核中不支持virtio。

参考