如何借助OpenStack命令行工具管理虚拟机?
2015-06-06 10:42
393 查看
OpenStack是一个基于行业的开源云管理平台。人们可以使用OpenStack,轻松构建公共云、私有云或混合云。本文中我们将演示如何从命令行,在OpenStack上创建或终止虚拟机。AD:干货来了,不要等!WOT2015 北京站演讲PPT开放下载!【51CTO精选译文】OpenStack是一个基于行业的开源云管理平台。人们可以使用OpenStack,轻松构建公共云、私有
云或混合云。由于这个平台具有纯粹的开放性,包括Red
Hat、Rackspace、IBM和惠普在内的各大IT厂商都看好其前景,积极推动OpenStack的发展。
OpenStack中有两种不同的界面用来管理云资源。一个是通过Horizon(https://github.com/openstack/horizon/),这是基于Web的OpenStack仪表板;另一个就是通过OpenStack命令行接口(CLI)。
我在本教程中将演示如何从命令行,在OpenStack上创建或终止虚拟机。这个过程是在Havana版本的OpenStack中进行测试的。至于
像OpenStack Folsom这些早期的OpenStack版本,你只要将本教程所用的命令行中的“neutron”换成“quantum”即可。
姑且假设部署的一套OpenStack系统已在某处构建并运行起来。我要使用OpenStack CLI客户程序,在现有的OpenStack系统上管理虚拟机。
安装OpenStack CLI客户程序
第一步就是安装必要的OpenStack命令行客户程序:
在Debian、Ubuntu或Linux Mint上,执行这个命令:
为了能够使用OpenStack CLI客户程序,你就要设定必要的环境变量。为此,创建一个名为openrc.sh的脚本,如下所示。
名称。OS_AUTH_URL是Keystone端点的URL。Keystone是一项OpenStack服务,负责不同的OpenStack组件之间的
身份验证。你应该把192.168.10.10换成所部署的系统中运行OpenStack Keystone的那个主机的IP地址。
现在,运行openrc.sh,设定环境变量,如下所示。
构建网络
现在,你可以准备构建一个连接虚拟机的网络了。
创建一个名为"xmodulo"的新网络。
![](http://s7.51cto.com/wyfs02/M00/24/41/wKioL1NN6ZfRP2gbAABtjrLXZFs691.jpg)
创建一个名为"xmodulo_subnet"的新子网,并将其添加到刚构建的那个网络。
![](http://s6.51cto.com/wyfs02/M00/24/41/wKiom1NN6dyTJsqrAACKLRRQK3A278.jpg)
检查可用网络列表,确认该网络已成功构建。
![](http://s9.51cto.com/wyfs02/M00/24/41/wKioL1NN6lLxi5zoAABYNjtPMwk939.jpg)
在输出结果中,要记下你所构建的网络的"ID"(编号)。之后你创建虚拟机时,要用到这个编号。
启动虚拟机
在创建并启动虚拟机之前,你首先要知道几个信息。
查明你想创建的那个虚拟机的类型。为此,运行下面这个命令。
![](http://s9.51cto.com/wyfs02/M01/24/41/wKioL1NN6oKzt1Y8AABvzYXEWaw687.jpg)
在该示例中,我准备选择最小的虚拟机类型"m1.nano",它有64 MB内存、1个虚拟处理器(vCPU)、无磁盘。记下这个类型名称。
下一步,为你的虚拟机选择所要使用的虚拟机映像。为了列出所有可用的虚拟机映像,请使用这个命令:
![](http://s7.51cto.com/wyfs02/M02/24/41/wKiom1NN7ZGzLb9cAABaG38JaA8929.jpg)
记下你想为虚拟机使用的那个映像的ID。
下一步,为你的虚拟机选择所要使用的安全组的类型。安全组为你的虚拟机决定了入站访问规则。想了解可用的安全组,请运行该命令:
![](http://s9.51cto.com/wyfs02/M02/24/41/wKioL1NN7YXSV2E1AAB1FFWFXZk607.jpg)
在该示例中,我准备为虚拟机选择名为"default"的安全组。该安全组里面正好没有规则。
最后,我们使用到目前为止所获得的信息,创建一个虚拟机。指定你已了解的虚拟机类型(--flavor)、虚拟机映像的ID(--image)以及网络的ID(net-id=)。把[vm-name]换成你虚拟机的名称,这个名称需要很独特。
![](http://s9.51cto.com/wyfs02/M00/24/41/wKioL1NN7Z-wJHCiAAC17ul8WUU212.jpg)
为了确认虚拟机已成功创建并启动,请运行这个命令:
![](http://s8.51cto.com/wyfs02/M02/24/41/wKiom1NN7eigqPQtAABJvBILeg0895.jpg)
停止、暂停和清除虚拟机
当你停止运行某个虚拟机时,它完全关闭。另一方面,你暂停虚拟机时,它临时被冻结,随时可以从暂停状态重新启动。在这两种情况下,虚拟机映像仍留在OpenStack里面。
想停止虚拟机,运行这个命令:
![](http://s7.51cto.com/wyfs02/M00/24/41/wKiom1NN7hGQDdU2AABQomeqOIU975.jpg)
如果你想从OpenStack清除已终停止虚拟机或已暂停虚拟机的映像,请使用这个命令:
![](http://s7.51cto.com/wyfs02/M01/24/41/wKiom1NN7jnSrHW6AAA6SclAo1I406.jpg)
原文链接:http://xmodulo.com/2014/03/manage-vms-openstack-command-line-tools.html
云或混合云。由于这个平台具有纯粹的开放性,包括Red
Hat、Rackspace、IBM和惠普在内的各大IT厂商都看好其前景,积极推动OpenStack的发展。
OpenStack中有两种不同的界面用来管理云资源。一个是通过Horizon(https://github.com/openstack/horizon/),这是基于Web的OpenStack仪表板;另一个就是通过OpenStack命令行接口(CLI)。
我在本教程中将演示如何从命令行,在OpenStack上创建或终止虚拟机。这个过程是在Havana版本的OpenStack中进行测试的。至于
像OpenStack Folsom这些早期的OpenStack版本,你只要将本教程所用的命令行中的“neutron”换成“quantum”即可。
姑且假设部署的一套OpenStack系统已在某处构建并运行起来。我要使用OpenStack CLI客户程序,在现有的OpenStack系统上管理虚拟机。
安装OpenStack CLI客户程序
第一步就是安装必要的OpenStack命令行客户程序:
在Debian、Ubuntu或Linux Mint上,执行这个命令:
$ sudo apt-get install python-pip $ sudo pip install python-novaclient python-keystoneclient python-neutronclient在CentOS、Fedora或RHEL上,执行这个命令:
$ sudo yum install python-pip $ sudo pip install python-novaclient python-keystoneclient python-neutronclient设定环境变量
为了能够使用OpenStack CLI客户程序,你就要设定必要的环境变量。为此,创建一个名为openrc.sh的脚本,如下所示。
$ sudo vi openrc.sh export OS_USERNAME=dan export OS_PASSWORD=my_password export OS_TENANT_NAME=demo export OS_AUTH_URL=http://192.168.10.10:5000/v2.0在上述脚本中,OS_USERNAME/OS_PASSWORD是OpenStack用户名及密码。OS_TENANT_NAME是所创建的项目的
名称。OS_AUTH_URL是Keystone端点的URL。Keystone是一项OpenStack服务,负责不同的OpenStack组件之间的
身份验证。你应该把192.168.10.10换成所部署的系统中运行OpenStack Keystone的那个主机的IP地址。
现在,运行openrc.sh,设定环境变量,如下所示。
$ source openrc.sh这时候,你可以准备运行OpenStack命令行客户程序了。确认你在运行时没有遇到任何错误:
$ nova list它显示内容为空的结果,这意味着一切都正常。
构建网络
现在,你可以准备构建一个连接虚拟机的网络了。
创建一个名为"xmodulo"的新网络。
$ neutron net-create xmodulo
![](http://s7.51cto.com/wyfs02/M00/24/41/wKioL1NN6ZfRP2gbAABtjrLXZFs691.jpg)
创建一个名为"xmodulo_subnet"的新子网,并将其添加到刚构建的那个网络。
$ neutron subnet-create xmodulo 10.0.0.0/24 --name xmodulo_subnet
![](http://s6.51cto.com/wyfs02/M00/24/41/wKiom1NN6dyTJsqrAACKLRRQK3A278.jpg)
检查可用网络列表,确认该网络已成功构建。
$ neutron net-list
![](http://s9.51cto.com/wyfs02/M00/24/41/wKioL1NN6lLxi5zoAABYNjtPMwk939.jpg)
在输出结果中,要记下你所构建的网络的"ID"(编号)。之后你创建虚拟机时,要用到这个编号。
启动虚拟机
在创建并启动虚拟机之前,你首先要知道几个信息。
查明你想创建的那个虚拟机的类型。为此,运行下面这个命令。
$ nova flavor-list
![](http://s9.51cto.com/wyfs02/M01/24/41/wKioL1NN6oKzt1Y8AABvzYXEWaw687.jpg)
在该示例中,我准备选择最小的虚拟机类型"m1.nano",它有64 MB内存、1个虚拟处理器(vCPU)、无磁盘。记下这个类型名称。
下一步,为你的虚拟机选择所要使用的虚拟机映像。为了列出所有可用的虚拟机映像,请使用这个命令:
$ nova image-list
![](http://s7.51cto.com/wyfs02/M02/24/41/wKiom1NN7ZGzLb9cAABaG38JaA8929.jpg)
记下你想为虚拟机使用的那个映像的ID。
下一步,为你的虚拟机选择所要使用的安全组的类型。安全组为你的虚拟机决定了入站访问规则。想了解可用的安全组,请运行该命令:
$ nova secgroup-list想检查"默认"安全组的访问规则,请使用这个命令:
$ nova secgroup-list-rules default
![](http://s9.51cto.com/wyfs02/M02/24/41/wKioL1NN7YXSV2E1AAB1FFWFXZk607.jpg)
在该示例中,我准备为虚拟机选择名为"default"的安全组。该安全组里面正好没有规则。
最后,我们使用到目前为止所获得的信息,创建一个虚拟机。指定你已了解的虚拟机类型(--flavor)、虚拟机映像的ID(--image)以及网络的ID(net-id=)。把[vm-name]换成你虚拟机的名称,这个名称需要很独特。
$ nova boot [vm-name] --flavor m1.nano --image d2b830be-3 7df-4fa9-90b2-91c472d19aaa --security-groups default -ni c net-id=1cbcddcf-3a7d-481f-b6f2-a97c6447c925
![](http://s9.51cto.com/wyfs02/M00/24/41/wKioL1NN7Z-wJHCiAAC17ul8WUU212.jpg)
为了确认虚拟机已成功创建并启动,请运行这个命令:
$ nova list
![](http://s8.51cto.com/wyfs02/M02/24/41/wKiom1NN7eigqPQtAABJvBILeg0895.jpg)
停止、暂停和清除虚拟机
当你停止运行某个虚拟机时,它完全关闭。另一方面,你暂停虚拟机时,它临时被冻结,随时可以从暂停状态重新启动。在这两种情况下,虚拟机映像仍留在OpenStack里面。
想停止虚拟机,运行这个命令:
$ nova stop [vm-name]想暂停虚拟机,运行这个命令:
$ nova suspend [vm-name]
![](http://s7.51cto.com/wyfs02/M00/24/41/wKiom1NN7hGQDdU2AABQomeqOIU975.jpg)
如果你想从OpenStack清除已终停止虚拟机或已暂停虚拟机的映像,请使用这个命令:
$ nova delete [vm-name]
![](http://s7.51cto.com/wyfs02/M01/24/41/wKiom1NN7jnSrHW6AAA6SclAo1I406.jpg)
原文链接:http://xmodulo.com/2014/03/manage-vms-openstack-command-line-tools.html
相关文章推荐
- 在Debian 8上安装Docker
- 自己动手获取网站访客qq号码(转)
- oncopy和onpaste
- opencv中矩阵计算的一些函数
- 在Apache服务器上利用Varnish优化移动端访问的方法
- opencv卷积cvFileter2D与卷积边界cvCopyMakeBorder处理图像的总结
- 小型电子商务网站设计原则
- 大型电子商务网站架构
- Nginx+Tomcat在Windows下做负载均衡
- 关于Java在Linux or Android平台调用.so库
- Openstack命令收集
- Docker 上安装Kali
- UNIX高级环境编程: 终端登录过程-远程登录-进程组-Session-Linux启动过程-dup与重定向-守护进程
- Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
- linux 常用命令
- 基于OpenStack的虚拟机在线迁移
- Sqoop2基础
- tomcat启动时出现以前删除的项目,导致无法启动
- centos 关闭防火强
- Apache内容生成器3