111111

自动化-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

  

posted @   赵SIR  阅读(247)  评论(0编辑  收藏  举报
编辑推荐:
· 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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示