我有3个物理服务器上运行的9个openvz虚拟环境。 我想添加另一个VE到每个物理服务器。 Soooo,每个物理服务器将运行4个VE。
我使用vzsplit -n 4来生成新的参数,以便将VE适配到物理服务器的资源。 我的问题是,我必须进入并手动更新每个VEPSconfiguration文件。
有没有更好的方法来获得新的参数到每个configuration文件,而无需手动编辑每一个? 更好的是,有没有办法让所有的conf文件包含来自单个文件的参数?
我解决了我自己的问题。 我的解决scheme是在我的群集中的所有openvz节点上执行以下bash脚本:
for VEID in vzlist |中 awk'{print $ 1}'| grep -v VEID ; do vzctl set $VEID --applyconfig shared --save; done ; do vzctl set $VEID --applyconfig shared --save; done
脚本从vzlist获取VEID,并为每个人做–applyconfig
我用puppet来分发我自定义的ve-shared.conf-sample,其中包含了我想在VE中相同的所有内容。 我设置了一个puppet Exec,它会在我对ve-shared.conf-sample进行更改时自动执行bash脚本
通过这种方式,我可以通过编辑单个文件来更新我的openvz集群上运行的所有VE。
我用OpenVZ已经有一段时间了,但是你可以使用vzctl --save来保存你想要的东西,保存所有的修改。
FWIW我们从OpenVZ迁移到了VMware(ESX,而不是Server); 虽然OpenVZ更轻,但VMware更容易日常pipe理,并使我们可以灵活地使用不同的内核和操作系统。 OpenVZ认为如果我想在一个盒子上运行100个简单的虚拟主机“VPS”帐户,它会是完美的,而且对于大多数其他用途来说是相当尴尬的。
vzsplit只是一个build议,你不需要每次添加新的虚拟机时都调整所有虚拟机的所有参数
大部分的障碍将永远不会被击中,甚至不会接近。 根据我的经验,大部分时间privvmpages和oomguarpages是真正重要的唯一参数。