在libvirt虚拟机上运行云映像
downburst的Python项目详细描述
下击暴流是一种用于在上快速创建虚拟机的工具 利布维特。它使用ubuntu的云图像和qcow2写时拷贝克隆 使虚拟机的创建几乎是即时的,在 使用cloud init启动时间。
有关ubuntu云映像的更多信息,请参阅:
- https://cloud.ubuntu.com/
- https://help.ubuntu.com/community/UEC/Images
- https://help.ubuntu.com/community/CloudInit
- https://cloud-images.ubuntu.com/
安装
您可以像任何其他python包一样安装downburst,但它也可以 附带了一个方便的引导脚本,可以在虚拟机中设置它 源目录下的环境。只需运行:
git clone https://github.com/ceph/downburst.git cd downburst ./bootstrap
从那时起,使用:
./virtualenv/bin/downburst ARGS..
您还可以将其符号链接到例如~/bin/。
用法
你需要给你的虚拟机起一个唯一的名字。这将成为 虚拟机的主机名和libvirt域名。运行:
downburst -C URI create NAME
如果此工具不是用于墨水池机器或墨水池员工 然后您应该通过–nokey选项来不安装默认的墨水池 创建的来宾的授权主机文件的ssh密钥。
downburst -C URI create NAME –nokey
uri是在~/.config/libvirt/libvirt.conf中的uri别名中设置的别名。示例:
uri_aliases = [ 'vercoi01=qemu+ssh://ubuntu@vercoi01.front.sepia.ceph.com/system?no_tty=1', 'vercoi02=qemu+ssh://ubuntu@vercoi02.front.sepia.ceph.com/system?no_tty=1', 'vercoi03=qemu+ssh://ubuntu@vercoi03.front.sepia.ceph.com/system?no_tty=1', 'vercoi04=qemu+ssh://ubuntu@vercoi04.front.sepia.ceph.com/system?no_tty=1', 'vercoi05=qemu+ssh://ubuntu@vercoi05.front.sepia.ceph.com/system?no_tty=1', 'vercoi06=qemu+ssh://ubuntu@vercoi06.front.sepia.ceph.com/system?no_tty=1', 'vercoi07=qemu+ssh://ubuntu@vercoi07.front.sepia.ceph.com/system?no_tty=1', 'vercoi08=qemu+ssh://ubuntu@vercoi08.front.sepia.ceph.com/system?no_tty=1', 'senta01=qemu+ssh://ubuntu@senta01.front.sepia.ceph.com/system?no_tty=1', 'senta02=qemu+ssh://ubuntu@senta02.front.sepia.ceph.com/system?no_tty=1', 'senta03=qemu+ssh://ubuntu@senta03.front.sepia.ceph.com/system?no_tty=1', 'senta04=qemu+ssh://ubuntu@senta04.front.sepia.ceph.com/system?no_tty=1', ]
您可以使用以下命令删除来宾(请注意):
downburst -c URI destroy NAME
默认情况下,您的本地ssh公钥(从 ~/.ssh/id_rsa.pub)被授权以ubuntu身份登录。
您还可以传入ec2样式meta-data和user-data snippets;如果重复该参数,则文件将被合并:
downburst create --meta-data=FILE.meta.yaml \ --user-data=FILE.user.yaml NAME
有关元数据和用户数据使用的想法,请参见doc/examples/,以及 浏览上面的ubuntu链接。
meta yaml中的有效下击暴流选项及其默认值(如果未定义):
- 磁盘大小:(磁盘空间)
- 默认10g。示例:20g
- 附加磁盘:(来宾的附加驱动器数量)
- 默认值0。示例:5(用于5个附加驱动器)
- 附加磁盘大小:(附加磁盘的大小)
- 默认10g。示例:100g
- 内存:(内存量)
- 默认512m。示例:2g
- CPU:(CPU/核心计数)
- 默认值1。例4
- 网络:(什么nics/networks/mac地址):
- 默认nat。示例:
- 资料来源:前线 mac:52:54:00:5a:aa:ee
- 发行版:(发行版类型) 默认的ubuntu。示例centos
- 发行版:(发行版)
- 默认(如果是ubuntu)“12.04”。示例“12.10”
- 架构:(图像架构)
- 默认“amd64”,可以是“i386”或“amd64/x86”
在命令行创建过程中,还可以使用–distro=value或–distroversion=value或–arch=value设置distro/distroversion/arch
所有可用的发行版/版本都可以通过运行以下命令列出:
downburst list
静态ssh密钥生成
Downburst还包括一个实用程序,用于在 您希望重复删除和重新创建vm,但没有ssh 总是抱怨。
要设置它,请运行一次:
downburst gen-ssh-key >NAME.user.yaml
从那里开始,用以下命令重新创建虚拟机(删除后):
downburst create --user-data=NAME.user.yaml NAME