系统 centos7 grep -E '(vmx|svm)' /proc/cpuinfo 检查是否可以虚拟化 yum install -y qemu-kvm libvirt ### qemu-kvm 用户态的管理工具 ### libvirt 用来管理虚拟机的 yum install -y virt-install ### 安装虚拟机用的 systemctl enable libvirtd 启动libvirtd管理虚拟机, systemctl start libvirtd ####ifconfig 如果没有 yum install -y net-tools查看网卡启动了一个virbr0虚拟网卡 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-x86_64-DVD-1511.iso --disk path=/opt/Centos-7-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole ###创建一个名字为CentOS-7-x86_64的虚拟机 内存1024 光盘镜像在/tmp 磁盘路径在/opt/ 创建一个网卡 用vnc客户端打开192.168.1.100 然后tab键输入 net.ifnames=0 biosdevname=0 用来把网卡回归到eth0 em1用的 virsh list --all 查看虚拟机 virsh start CentOS-7-x86_64 ###开启虚拟机 virsh destroy diyitai ###第一条强制关闭虚拟机diyitai virsh undefine diyitai ###删除虚拟机 vim /etc/libvirt/qemu/diertai.xml 是配置文件 CPU热添加 <vcpu placement='static'>1</vcpu> <vcpu placement='auto' current=""1>4</vcpu> ##根据需要 cpu热添加 最多4个 virsh setvcpus CentOS-7-x86_64 2 --live 内存热添加 virsh qemu-monitor-command diyitai --hmp --cmd info balloon virsh qemu-monitor-command diyitai --hmp --cmd balloon 512 brctl show #!/bin/bash ####在生产环境要写脚本否则起不来 brctl addbr br0 ##创建桥接网卡 brctl addif br0 eno16777736 把网卡桥接到网卡eno16777736上 ip addr del dev eno16777736 192.168.1.100/24 删除网卡的IP地址 ifconfig br0 192.168.1.100/24 up ### 把ip配置给br0上 routeadd default gw 192.168.1.1 ###手动添加个网关 2.virsh edit diyitai ###虚拟机名 改网卡 <interface type='bridge'> <source bridge='br0'/> 3. virsh shutdown diyitai ###关闭虚拟机 virsh start diyitai 4.连虚拟机配置网络并增加路由重启 KVM优化 上下文切换 宿主机 ring 0 系统级 ring 3 用户级 缓存: taskset -cp 1 25718 内存: 空间优化 寻址 EPT技术: 虚拟机:虚拟内存 虚拟机:物理内存 宿主机:虚拟内存 宿主机:物理内存 大页内存 [root@linux-node1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled KSM内存合并 [ksmd] I/O优化: 2.6 内核: Noop CFQ AS Deadline 默认:CFQ 3.10内核: Noop CFQ Deadline 默认:Deadline [root@linux-node1 ~]# dmesg | grep -i scheduler [ 1.945474] io scheduler noop registered [ 1.945476] io scheduler deadline registered (default) [ 1.945495] io scheduler cfq registered [root@linux-node1 ~]# cat /sys/block/sda/queue/scheduler noop [deadline] cfq