自动化-KVM安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | 系统 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | 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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构