{%notesuccess%}诗歌
kvm创建虚拟机的基础就在于这么一条命令,。该命令的本质是创建虚拟机。之后或之前的内容都是关于该命令和该虚拟机的。
所以的核心就是在安全可靠的前提下,通过KVM虚拟化将父机的资源分配给从机。
所以有两个主要方向需要考虑
1。保证母机和从机的安全可靠,包括系统安全和网络安全
2、分配资源,包括网络资源、存储资源、计算资源等
这个脚本考虑到了资源安全,让母机分配的资源不超过对方系统的容忍度,同时还需要考虑网络层面的安全问题。
完成过程
[0]
起初我以为当主机关闭时程序就会终止,例如:B.超过2/3的磁盘使用率。后来觉得这样不够灵活,就改成了百分比。设置百分比有一些小问题
1。浮点运算中保留小数
使用“scale”精确保留小数,echo"scale=2;62/3"|。使用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_脚本压入内存,然后登录到从机上,echo带有“expect”的文件,然后执行它。后来发现在期待输出时,首先执行的是subvm_脚本的内容,还有其他问题,比如:比如echo文件不完整,没有换行符和空文件等。
后来采用磁盘共享的方式,在宿主机上创建一个磁盘,然后挂载到/tmp/share/目录下,然后subvm_脚本并将ipinfo配置文件复制到该目录下,然后复制到从机上。登录从机后,可以在主机上看到/tmp/share/的内容。直接运行脚本就可以了。
磁盘共享还有一个缺点就是文件内容无法实时更新。例如,如果主控机上的IP信息发生更改,则从控机上的IP信息无法更新,直到从控机上的IP信息才能更新。由于每台从控机的/tmp/share/目录,一生只使用一次,所以这个问题暂时不需要解决。
[2]
创建访客计算机
(vlanid!=0&&xenbrxnotinbrctlshow)报错找不到网卡,导致虚拟机无法启动
-template模板不正确,包括
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秒的延迟,但在300秒之前程序仍然可以设置为-1
4。“expect”的写法有很多种,包括“expecteof;”。上面使用的那个
5。用于expect文件的解释器是/usr/bin/expect。这里是用cat编写的
[4]
1。subvm_配置两块网卡并格式化VDB数据盘,配置ssh
2eth0为通过隧道连接外网的网卡。
xenbrX为隧道入口,master-计算机通过xenbr361端口接收它。消息发送到隧道另一端连接外网
tunnelnetwork----host(defaultrouter:subhost->netowrk,throughtinterface&)----subhost
当基地计算机收到VLAN报文时,会在指定VLAN的广播域内转发(不一定是基地计算机)。进行路由的机器)
vlannetwork----host(broadcastrouter:subhost--->broadcast/vlanidthrought802.1Q)----subhost
期望公平使用
常见的虚拟化产品有哪些
(redhat)企业级
:
--Vmware-workstation(windows和linux)桌面级
--Vmware-fusion(mac)
--Vmware-esxi(企业级)是操作系统本身。
-v(微软)
(oracle的伴侣——Windowslinux)virtulbox
(rhel6之前所有版本的默认虚拟化产品)
分类虚拟化技术简介:
我们通常所说的虚拟化,主要是指利用控制程序(ControlProgram,也称为VirtualMachineMonitor(虚拟监视器VMM)或Hypervisor)隐藏起来的虚拟化技术平台。计算平台的具体特征为用户提供了一个抽象的、统一的、模拟的计算环境(称为虚拟机)。:
硬件虚拟化
部分虚拟化
虚拟级虚拟化和桌面级虚拟化的区别
从rhel6开始,kvm模块直接是部分虚拟化
rhel6之前的内核版本默认不提供xen,需要用内核替换
KVM请求运行在x86上的驻留在内核的虚拟化基础设施硬件。KVM成为第一个成为本机Linux内核(2.6.20)一部分的虚拟机管理程序,由AviKivity开发和维护,现在归RedHat所有,该虚拟机管理程序提供x86。虚拟化,可访问PowerPC®和IA64。此外,最近还添加了KVM,用于多处理(SMP)主机(和来宾)支持和企业级支持,例如主动迁移(允许来宾操作系统在物理服务器之间迁移)
实现了KVM作为核心模块,所以你只需要Linux来加载这个模块。KVM使用管理程序技术[IntelVT]或AMD虚拟化[AMD-V]产品来实现。已加载KVM模块。当安装在Linux内核中时,它可以作为用户空间进程通过/proc管理虚拟化硬件,并根据主机操作系统请求与内核进行协调。
当一个新的操作系统在KVM上启动(通过kvm实用程序)时,它会成为主机进程,就像任何其他进程一样。然而,与传统的Linux开发不同,来宾操作系统的特点是虚拟机管理程序处于“来宾”模式(独立于内核和用户模式)。
每个客户操作系统都由/dev/kvm设备进行分区,并拥有自己的虚拟地址空间,该虚拟地址空间映射到主机的内核地址空间。前面提到,KVM利用底层硬件的虚拟化支持来提供全(本机)虚拟化。I/O请求由主机内核提供,以在主机(虚拟机管理程序)上执行QEMU进程。
KVM主机运行在Linux环境中,但只要支持底层虚拟化硬件,就可以支持大量的客户操作系统。
上一篇:kvm虚拟化管理软件
下一篇:kvm虚拟化管理平台