天天看点

VMware上安装kvm

一. 在vmware上安装kvm

开启vmware虚拟机cpu的虚拟化

VMware上安装kvm

进入虚拟机centos7系统,查看cpu信息是否开启虚拟化

<code>grep -e ‘(vmx|svm)’ /proc/cpuinfo</code>

出现如下,表示开启cpu虚拟化成功:

VMware上安装kvm

安装软件包

<code>yum -y install qemu-kvm libvirt virt-install</code>

解释:qemu-kvm 用来用户管理使用kvm的包

libvirt 用来系统管理kvm的工具

virt-install 用来安装kvm虚拟机的工具

启动libvirtd服务,会产生一个虚拟网卡

查看虚拟网卡是否生成

VMware上安装kvm

准备磁盘和镜像,准备安装kvm虚拟机

raw格式:

第一步生成磁盘文件:

<code>qemu-img create -f raw /opt/centos-7-x86_64.raw 10g</code>

第二步在宿主机里面上传一个镜像文件

第三步创建虚拟机:

解释:--virt-type 指定格式为kvm

--name 指定虚拟机名字

--ram 指定虚拟机内存大小 单位m

--cdrom 指定镜像文件路径

--disk path 指定磁盘文件路径

--network 指定网络模式

创建虚拟机磁盘

<code>qemu-img create -f qcow2 /tmp/test.qcow2 10g</code>

创建虚拟机

在win上用vnc连接

输入完成创建虚拟机的命令后,会看到以下提示

VMware上安装kvm

然后迅速用vnc连接虚拟机,输入ip为宿主机ip,默认端口5900

VMware上安装kvm

按tab键,输入net.ifnames=0 biosdevname=0

这个是用来设置默认网卡名的,如eth0,这里不设置的话默认网卡名很乱

然后就可以正常安装系统了

宿主机查看虚拟机状态

<code>virsh list --all</code>

VMware上安装kvm

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 服务

VMware上安装kvm

三. cpu热添加

虚拟机要和宿主机用的系统版本一致才可以热添加

查看虚拟机的配置信息xml

<code>cat /etc/libvirt/qemu/rh7-1.xml</code>

不能直接vim修改,需要使用virsh edit rh7-1 命令修改

将&lt;vcpu placement='static'&gt;1&lt;/vcpu&gt; 修改为

&lt;vcpu placement='auto' current="1"&gt;4&lt;/vcpu&gt;

然后保存退出,修改xml文件需要重启kvm虚拟机,才能生效。

重启完后执行:

<code>virsh setvcpus rh7-1 --live</code>

四. 内存热添加

修改xml文件,调整最大内存

将2048576改为合适的值

重启kvm虚拟机

查看当前内存

<code>virsh qemu-monitor-command rh7-1 --hmp --cmd info balloon</code>

修改内存

<code>virsh qemu-monitor-command rh7-1 --hmp --cmd balloon 512</code>

五. 网络

VMware上安装kvm

桥接(可以让我们远程ssh连接)

1) brctl show 查看桥接信息

VMware上安装kvm

这样的桥接不能直接用xshell连接的,需要做一个桥接,让虚拟机的网段和宿主机一样,这样才能连接

2) 新建一个桥接网卡(用脚本的方式)

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

重启虚拟机

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

VMware上安装kvm

六. kvm优化

cpu缓存优化:

因为一个kvm在宿主机上就是一个进程,只要是进程就要受cpu调度,如果一开始这个进程运行在cpu0上,那么这个进程的cpu缓存也在cpu0上。一旦这个进程被cpu调度到cpu1上去,那么cpu0上的缓存就用不到了,就会出现缓存miss。降低性能。

可以通过绑定进程和cpu的方式来解决这个问题:

taskset -cp 1 25718

1代表cpu编号

25718代表进程pid

内存优化:

1) 大页内存(默认开启)

<code>cat /sys/kernel/mm/transparent_hugepage/enabled</code>

2) ksm内存合并

[ksmd] linux默认开启的进程

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

virt-install 安装虚拟机

不使用swap分区

只分一个/

不使用lvm等。

七. 添加硬盘

新建一块硬盘:

<code>qemu-img create -f qcow2 /vhost/testdisk.img 20g</code>

修改xml文件, 在&lt;dick&gt;&lt;/dick&gt;后增加一块磁盘信息

virsh edit centos7

VMware上安装kvm

其中source file应填写新建镜像文件的位置信息

进入虚拟机后使用fdisk -l命令可以看到一块新的磁盘/dev/sdb

格式化磁盘

挂载磁盘

八. 在原有硬盘基础上扩容

<code>qemu-img resize test01.qcow2 +2g</code>

VMware上安装kvm

继续阅读