当前位置:首页 > 虚拟化 > 正文

kvm虚拟化的实现(kvm虚拟化有哪些组件)


一、KVM实例总结

{%notesuccess%}诗歌

数千年前,魏武鞭鞭,东有碣石遗章。漆黑的秋风又来了,世界都变了。{%endnote%}

KVM创建虚拟机的基础就在于此类命令。这个命令的核心是创建一个虚拟机,前后的内容都是围绕这个命令和这个虚拟机展开的。

所以,的本质就是在安全可靠的前提下,通过KVM虚拟化将母机的资源分配给从机。

所以有两个主要方向需要考虑

1。保证母机和从机的安全可靠,包括系统安全和网络安全

2、分配资源,包括网络资源、存储资源、计算资源等

该脚本考虑了资源安全,使得父机分配的资源不会超出其他系统的容忍度以及网络层面的安全问题

完成过程

[0。]
起初,我认为当主机资源超过一定百分比时,例如磁盘使用率大于2/3,程序就会退出。接下来我觉得不够灵活,所以改成了默认的百分比50%
设置百分比的时候有一些小问题
1.浮点运算中保留小数
使用scale精确保留小数,echo"scale=2;62/3"|bc结果20.66
使用printf保留小数位,补零printf%.2f结果20.00
2.浮点运算不保留小数位
echo"123.123"|sed"s/..//g"
代表0到更多,所以在第一个命令中只能替换小数点,变成空
代表1到小数点后加
3除
echo"2/3"|bc结果将显示为0
echo"scale=2;2/3"|bc结果将显示为.66
printf"%.2f"echo"scale=2;2/3"|bc结果会显示为0.66

[1]
首先选择将subvm_脚本放入内存,然后当你用wait访问从机时,执行文件上的echo,然后运行它。后来发现等待输出时,会先执行subvm_脚本的内容,并且还有其他问题,比如echo文件不完整、没有换行、空文件等。
接下来使用磁盘共享在主机上创建一个磁盘,然后挂载到/tmp/share/目录下,然后将subvm_脚本和ipinfo配置文件复制到该目录下,然后复制到从机。在XML文件中添加磁盘(vdc)登录从机后,挂载vdc。您现在可以在主机上查看/tmp/share/的内容。直接运行脚本就可以了。
磁盘共享也有一个缺点,就是文件内容无法实时更新。例如,如果master上的ipinfo改变了,那么slave上的ipinfo只能在slave更新后才能更新。机器重新启动。考虑到每个从机的/tmp/share/目录,一生只使用一次,所以暂时不需要解决这个问题。

[2]
创建访客计算机
(vlanid!=0&&xenbrxnotinbrctlshow)会报找不到网卡的错误,导致虚拟机无法连接启动
-template模板不正确,包括/usr/local/bin/qemu-system-x86_64路径不正确,这将阻止虚拟机启动
3.磁盘槽位相同,会导致虚拟机无法启动
4.需要注意的是,virshdefinevm-template命令的执行路径为/usr/local/etc/。libvirt/qemu/vm-template最终位于/usr/local/etc/libvirt/qemu中。在/中生成vm$配置文件。

[3]
会出现很多问题
1命令没有按顺序执行
2传递的变量为空,传递的-。变量索引从0开始;shell传递的变量索引从1开始,0代表你的文件
3settimeout$time设置的时间不一定准确,设置的延迟,但在300秒之前,程序停止。退出后可以考虑直接将超时设置为-1
4wait的写法有很多种,其中wait<5。等待文件使用的解释器是/usr/bin/expect这里使用cat编写在一个单独的文件中

[4]
1。subvm_配置两块网卡并格式化vdb数据盘,配置ssh
2。eth0是连接外网的网卡,使用隧道,eth1是内部网卡,使用vlan

xenbrX是隧道入口,主控机通过xenbr361端口接收报文发送到隧道另一端连接外网
tunnelnetwork----host(defaultrouter:subhost->netowrk,throughtinterface&)----subhost

当机器基数收到vlan消息后,会在指定vlan的广播域内进行路由(不一定是母机进行路由)
vlannetwork----host(broadcastrouter:subhost--->broadcast/vlanidthrought802.1Q)----subhost

提供合理的使用