The authenticity of host '172.16.1.1 (172.16.1.1)' can't be established.
RSA key fingerprint is df:0e:d0:32:f8:6d:74:49:ea:60:99:82:f1:07:5d:3b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.1.1' (RSA) to the list of known hosts.
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-virtual x86_64)
* Documentation: https://help.ubuntu.com/
System information disabled due to load higher than 1.0
0 packages can be updated.
0 updates are security updates.
Get cloud support with Ubuntu Advantage Cloud Guest
http://www.ubuntu.com/business/services/cloud
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
ubuntu@demo1:~$
ubuntu@demo1:~$ hostname
demo1
ubuntu@demo1:~$ ps
PID TTY TIME CMD
835 pts/0 00:00:06 bash
948 pts/0 00:00:00 ps
ubuntu@demo1:~$
复制代码
所有这些层都运行后,可能很难想象所发生的事情。图 5 展示了整个堆栈,希望能帮助解释清楚。在这个演示中,运行 Mac OS X 的 Mac 提供了基础平台。VirtualBox 运行于 Mac OS X 之上,提供了 OpenStack 的执行平台(运行于 Ubuntu Linux 上)。注意,VirtualBox 是一个类型-2 的虚拟化管理程序。在 OpenStack Linux 层,QEMU 被用作一个来宾系统管理程序,从硬件角度来看,这很理想,但缺乏真正的产品设置所需的性能。 图 5. 在普通硬件上运行的 OpenStack 演示堆栈
没有了对嵌套虚拟化(在另一个系统管理程序之上有效运行一个系统管理程序)的支持,我依赖于 QEMU 作为我在 OpenStack 上运行的来宾系统管理程序。这让我能够在一个来宾系统管理程序上运行一个来宾 VM,该来宾 VM 在一个类型-2 的虚拟化管理程序上运行。虽然这种设置可能会很慢,但它充分展示了一个在普通计算机系统上运行的 IaaS 堆栈。注意,如今某些 AMD 处理器可提供一种有效的支持嵌套虚拟化的方式。
虽然使用 QEMU 对于性能而言并不理想,但它与 KVM (Linux as a hypervisor) 极为兼容,因而很容易在两个系统管理程序之间迁移(除了在这两者之前兼容的 VM 映像)。在这种情况下,让 QEMU 之所以理想的原因是它可以在未提供虚拟化支持的硬件上执行。注意,我的平台在这个例子中是具有虚拟化功能的,但是由于我在 VirtualBox(一个凭借自身力量的虚拟化管理程序)上运行,嵌套虚拟化的缺乏让我不得不使用一个不依赖虚拟化扩展的来宾系统管理程序。不管在哪种情况下,我都使用 libvirt 来管理 VM(启动、停止、监视等),所以,在一个有虚拟化功能的硬件上迁移到 KVM 简单至极,只需在 OpenStack 配置文件内进行两行修改即可。