VMware上安装kvm

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VMware上安装kvm相关的知识,希望对你有一定的参考价值。

一. 在VMware上安装kvm

  1. 开启VMware虚拟机cpu的虚拟化
    技术分享图片
  2. 进入虚拟机centos7系统,查看cpu信息是否开启虚拟化
    grep -E ‘(vmx|svm)’ /proc/cpuinfo
    出现如下,表示开启cpu虚拟化成功:
    技术分享图片
  3. 安装软件包
    yum -y install qemu-kvm libvirt virt-install
    解释:qemu-kvm 用来用户管理使用kvm的包
    libvirt 用来系统管理kvm的工具
    virt-install 用来安装kvm虚拟机的工具
  4. 启动libvirtd服务,会产生一个虚拟网卡
    systemctl start libvirtd
    systemctl enable  libvirtd

    查看虚拟网卡是否生成
    技术分享图片

  5. 准备磁盘和镜像,准备安装kvm虚拟机
    raw格式:
    第一步生成磁盘文件:
    qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G
    第二步在宿主机里面上传一个镜像文件
    第三步创建虚拟机:

    virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024 --cdrom=/tmp/CentOS-7.2-x86_64-DVD-1511.iso --disk path=/opt/CentOS-7-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

    解释:--virt-type 指定格式为kvm
    --name 指定虚拟机名字
    --ram 指定虚拟机内存大小 单位M
    --cdrom 指定镜像文件路径
    --disk path 指定磁盘文件路径
    --network 指定网络模式

    qcow2格式:

    创建虚拟机磁盘
    qemu-img create -f qcow2 /tmp/test.qcow2 10G
    创建虚拟机

    virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024 --cdrom=/tmp/CentOS-7.2-x86_64-DVD-1511.iso --disk /tmp/CentOS-7-x86_64.qcow2,foramt=qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
  6. 在win上用VNC连接
    输入完成创建虚拟机的命令后,会看到以下提示
    技术分享图片
    然后迅速用vnc连接虚拟机,输入ip为宿主机ip,默认端口5900
    技术分享图片
    按tab键,输入net.ifnames=0 biosdevname=0
    这个是用来设置默认网卡名的,如eth0,这里不设置的话默认网卡名很乱
    然后就可以正常安装系统了
  7. 宿主机查看虚拟机状态
    virsh list --all
    技术分享图片
    virsh start rh7-1 开启虚拟机
    virsh start|reboot|shutdown 虚拟机名称
    查看KVM节点(服务器)信息:virsh nodeinfo
    查看指定虚拟机的信息:virsh dominfo 虚拟机名称
    强制关闭指定的虚拟机virsh destroy 虚拟机名称
    virsh autostart nsd #设置虚拟机开机自起动
    virsh autostart --disable nsd #关闭自起动
    虚拟机描述文件默认路径: /etc/libvirt/qemu
    查看磁盘镜像文件信息qemu-img info /var/lib/libvirt/images/nsd.qcow2
    如果用shutdown关闭不掉,需要在KVM中安装 acpi 服务,并且开启 acpd 服务
    yum -y install acpid
    /etc/init.d/acpid start

ip ad li 查看虚拟机ip

二. libvirt 服务

技术分享图片

三. CPU热添加

  1. 虚拟机要和宿主机用的系统版本一致才可以热添加
  2. 查看虚拟机的配置信息xml
    cat /etc/libvirt/qemu/rh7-1.xml
    不能直接vim修改,需要使用virsh edit rh7-1 命令修改
    将<vcpu placement=‘static‘>1</vcpu> 修改为
    <vcpu placement=‘auto‘ current="1">4</vcpu>
    然后保存退出,修改xml文件需要重启kvm虚拟机,才能生效。
  3. 重启完后执行:
    virsh setvcpus rh7-1 --live

四. 内存热添加

  1. 修改xml文件,调整最大内存
    virsh edit rh7-1
    <memory unit=‘KiB‘>2048576</memory>

    将2048576改为合适的值

  2. 重启kvm虚拟机
  3. 查看当前内存
    virsh qemu-monitor-command rh7-1 --hmp --cmd info balloon
    修改内存
    virsh qemu-monitor-command rh7-1 --hmp --cmd balloon 512

五. 网络
技术分享图片

  1. 桥接(可以让我们远程ssh连接)
    1) brctl show 查看桥接信息
    技术分享图片
    这样的桥接不能直接用xshell连接的,需要做一个桥接,让虚拟机的网段和宿主机一样,这样才能连接
    2) 新建一个桥接网卡(用脚本的方式)
    #!/bin/bash
    brctl addbr br0
    brctl addif br0 eth0
    ip addr del dev eth0 10.201.1.33/24
    ifconfig br0 10.201.1.33/24 up
    route add default gw 10.201.1.254

    3) 修改KVM虚拟机的xml,让它使用br0桥接网卡

    virsh edit rh7-1 
    <interface type=‘bridge‘>
      <source bridge=‘br0‘/>

    重启虚拟机
    进入虚拟机,修改网卡信息

技术分享图片
六. KVM优化

  1. CPU缓存优化:
    因为一个KVM在宿主机上就是一个进程,只要是进程就要受CPU调度,如果一开始这个进程运行在cpu0上,那么这个进程的cpu缓存也在cpu0上。一旦这个进程被cpu调度到cpu1上去,那么cpu0上的缓存就用不到了,就会出现缓存miss。降低性能。
    可以通过绑定进程和cpu的方式来解决这个问题:
    taskset -cp 1 25718
    1代表cpu编号
    25718代表进程PID
  2. 内存优化:
    1) 大页内存(默认开启)
    cat /sys/kernel/mm/transparent_hugepage/enabled
    2) KSM内存合并
    [ksmd] linux默认开启的进程

  3. I/O优化
    1) virtio:Linux默认内核自带的,可以优化IO,win需要手动安装
    2) Linux IO调度算法:
    查看当前调度算法:dmesg | grep -i scheduler
    cat /sys/block/sda/queue/scheduler
    2.6 内核:默认:CFQ
    3.10内核:默认:Deadline

如果硬盘为SSD硬盘,则一定要使用Noop算法,发挥它最大的性能。
数据库如果不是SSD硬盘,建议用Deadline

  1. virt-install 安装虚拟机
    不使用swap分区
    只分一个/
    不使用LVM等。

七. 添加硬盘

  1. 新建一块硬盘:
    qemu-img create -f qcow2 /vhost/testdisk.img 20G
  2. 修改xml文件, 在<dick></dick>后增加一块磁盘信息
    virsh edit centos7
    技术分享图片
    其中source file应填写新建镜像文件的位置信息
  3. 重启虚拟机
    进入虚拟机后使用fdisk -l命令可以看到一块新的磁盘/dev/sdb
  4. 格式化磁盘
  5. 挂载磁盘
    八. 在原有硬盘基础上扩容
    qemu-img resize test01.qcow2 +2G
    技术分享图片

以上是关于VMware上安装kvm的主要内容,如果未能解决你的问题,请参考以下文章

kvm和VMware有何区别?

Windows虚拟机由vmware迁移至kvm注意事项

vmware和kvm的区别

KVM安装CentOS7操作系统

VMware和kvm搜索哪个作为linux的虚拟机更好

VMware里面centos7安装虚拟机KVM