自动化-KVM安装
系统 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
centos6安装KVM
KVM安装配配置及通过vnc安装Linux虚拟机 一、安装配置KVM 1.1、查看是否支持虚拟化 grep -Po "vmx" /proc/cpuinfo 1.2、安装依赖包 # yum install kvm libvirt libvirt-python python-virtinst bridge-utils tunctl 1.3、检查 KVM 模块是否成功安装 # lsmod |grep kvm 1.4、修改虚拟化配置文件: # vim /etc/libvirt/libvirtd.conf listen_tcp = 0 mdns_adv = 0 1.5、查看tun模块是否已经被加载 # lsmod | grep tun 1.6、网络配置,使用桥接模式 # cp /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-br0 # cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 HWADDR=B8:2A:72:CE:DA:75 TYPE=Bridge UUID=325e2119-f293-4555-b984-ae8ae886b4de ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.1.181 NETMASK=255.255.255.128 GATEWAY=192.168.1.129 # cat /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE=em1 HWADDR=B8:2A:72:CE:DA:75 TYPE=Ethernet UUID=325e2119-f293-4555-b984-ae8ae886b4de ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static BRIDGE=br0 # /etc/init.d/network restart 1.7、修改系统参数 # vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p 1.8、重新启动libvirt服务 # /etc/init.d/libvirtd restart # virsh -c qemu:///system list 二、虚拟机安装 2.1、建立虚拟机 在宿主主机(192.168.1.181)运行下面命令 安装Linux virt-install --name test-5910-server --os-variant=rhel6 \ --hvm --ram 2048 --vcpus 1 \ --disk path=/data/virtualdisk/test-5910-server.img,size=50 \ --accelerate --cdrom /data/packages/CentOS-6.5-x86_64-bin-DVD1.iso \ --network bridge=br0 --vnc --vncport=5910 --vnclisten=0.0.0.0 \ --noautoconsole --force --autostart 安装windows virt-install --name windows2003-ssh-server \ --hvm --ram 1024 \ --vcpus 1 \ --disk path=/data/virtualdisk/windows2003-ssh-server.img,size=50 \ --accelerate \ --cdrom /data/packages/WindowsServer2003SP2EnterpriseEdition.iso \ --network bridge=br0 \ --vnc \ --vncport=5913 \ --vnclisten=0.0.0.0 \ --noautoconsole \ --force \ --autostart --name 客户端虚拟机名称 --ram 内存大小(单位M) --vcpus 客户端的vcpu个数 size 磁盘大小(单位G) 2.2、安装虚拟机 下载tigerVNC 2.3、启动虚拟机 # virsh start test-5910-server 2.4、通过vnc连接上主机配置IP地址 service iptables stop 配置DNS: vi /etc/resolv.conf nameserver 124.192.140.235 nameserver 124.192.140.236 nameserver 114.114.114.114