mykvm是一个类似于vagrant的工具,用于创建多个kvm实例

mykvm的Python项目详细描述


mykvm
==

*mykvm是一个小的python脚本,用于从yaml配置文件创建多个kvm实例。
*mykvm正在使用一些很好的工具,如virt install、vmbuilder、qemu img和ansible。

ansible将用于初始化kvm实例。

$sudo apt get update
$sudo apt get install kvm libvirt bin virtinst python vm builder python dev python pip

*如果没有任何ssh密钥,则生成新的ssh密钥。这个密钥将用于ssh到kvm实例。

$ssh keygen-t rsa

*install mykvm with pip

$sudo pip install mykvm

*现在,mykvm已经准备好了

$mykvm
用法:mykvm command[<;args>;]

available子命令:
init
up[<;vm>;]
halt
destroy
status


usage
----

*创建新目录

$cd grizzly

*运行init命令。如果没有底片,vmbuilder将创建precise64.qcow2基映像。

$mykvm init
初始化mykvm

*创建mykvm.yml
*复制vmbuilder脚本
*复制可翻译文件
*生成基映像/home/cirros/.mykvm/base/precise64.qcow2
+rm-rf ubuntu-kvm
+sudoers\u-tmpl=/etc/vmbuilder/ubuntu/sudoers.tmpl
+grep-q-e ubuntu/etc/vmbuilder/ubuntu/sudoers.tmpl
+sudo sed-i'$a ubuntu all=(all)nopasswd:all\n includedir/etc/sudoers.d'/etc/vmbuilder/ubuntu/sudoers.tmpl
+sudo vmbuilder kvmm ubuntu--suite precise--arch amd64--flavor virtual ssh user key/home/cirros/.ssh/id椆rsa.pub…



*up命令将启动网络和配置为mykvm.yml的kvm实例。


$mykvm up


*检查kvm实例的状态。


$mykvm status


--------
1控制器运行
2 netnode运行
3 compute1运行
4 compute2 running

*您可以使用virsh来控制kvm实例。


$sudo virsh list
id name state
=-
1 controller running
2 netnode running
3 compute1 running
4compute2运行

*您可以用ssh连接到带有主机名的kvm实例。/etc/resolv.conf更新为使用mykvm.yml中第一个网络的dnsmasq作为名称服务器。


*destroy命令将停止网络并销毁kvm实例。


$mykvm destroy

configuration
--

*mykvm.yml配置文件如下所示。
*您可以使用多个网络接口定义多个网络和虚拟机实例。
*您可以使用“kvm_nested”选项创建嵌套的kvm实例。


$cat mykvm.yml
--
-网络:
-名称:mgmt
外部:true
自动启动:true
IP:10.0.10.1

-名称:int
IP:10.0.20.1

-名称:ext
外部:true
IP:192.168.101.1

-vms:
-名称:controller
vcpus:1
ram:2048
模板:precise64.qcow2
netdevs:
-网络:mgmt
ip:10.0.10
-网络:ext
ip:192.168.101.10

-名称:netnode
vcpus:2
ram:1024
模板:precise64.qcow2
netdevs:
-网络:管理
ip:10.0.10.11
-网络:int
ip:10.0.20.11
-网络:ext
ip:192.168.101.11

-名称:compute1
vcpus:2
kvm_nested:true
ram:2048
模板:precise64.qcow2
网络开发:
-网络:管理
ip:10.0.10.12
-网络:int
ip:10.0.20.12

*嵌套的kvm管理程序支持

$echo“选项kvm intel nested=1”;sudo tee/etc/modprobe.d/kvm intel.conf
$sudo reboot
$cat/sys/module/kvm_intel/parameters/nested
y



问题
====

*仅在带有Intel CPU的Ubuntu12.04机器上测试。
*有时vmbuilder生成的基本映像无法启动。在这种情况下,删除ubuntu kvm目录和~/.mykvm/base下的基本映像,然后再次运行init命令重新创建一个基本映像。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android测试运行失败:没有测试结果   java设置JMenuItems与Nimbus LaF的边界   java是使用springboot、Crudepository和MySQL检查重复值的好方法吗   谷歌电子表格的Java时代日期   java向xml文件添加EditText不起作用   java ORA00933:SQL命令未正确结束WHERE子句   如何在java中防止JTextField上使用CTRL+C?   java绑定到TypeLiteral在google guice中是好的还是坏的做法   java找到了原始类型,缺少泛型类的返回参数   Kafka Streams API中ArrayList Serde的java问题   java在hibernate中,哪种持久化上下文的性能更好?   java通过本机查询获取数据库url、名称和模式版本   如何为Java枚举编写通用for循环?   在Java应用程序中播放MP3   如何使用VisualVM度量短时间运行的Java应用程序的性能?   java从当前日期获取datetime(秒)   简单JMH基准中的javagrpcoome和NPE   java如何加载Maven项目库中Spring jar的应用程序上下文   JavaCC XPath解析器   用于Scala和Java的类型安全生成器库