如何借助OpenStack命令行工具管理虚拟机?
如何借助OpenStack命令行工具管理虚拟机?
OpenStack是一个基于行业的开源云管理平台。人们可以使用OpenStack,轻松构建公共云、私有云或混合云。本文中我们将演示如何从命令行,在OpenStack上创建或终止虚拟机。
AD:51CTO学院:IT精品课程在线看!
【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上,执行这个命令:
$ 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
创建一个名为"xmodulo_subnet"的新子网,并将其添加到刚构建的那个网络。
$ neutron subnet-create xmodulo 10.0.0.0/24 --name xmodulo_subnet
检查可用网络列表,确认该网络已成功构建。
$ neutron net-list
在输出结果中,要记下你所构建的网络的"ID"(编号)。之后你创建虚拟机时,要用到这个编号。
启动虚拟机
在创建并启动虚拟机之前,你首先要知道几个信息。
查明你想创建的那个虚拟机的类型。为此,运行下面这个命令。
$ nova flavor-list
在该示例中,我准备选择最小的虚拟机类型"m1.nano",它有64 MB内存、1个虚拟处理器(vCPU)、无磁盘。记下这个类型名称。
下一步,为你的虚拟机选择所要使用的虚拟机映像。为了列出所有可用的虚拟机映像,请使用这个命令:
$ nova p_w_picpath-list
记下你想为虚拟机使用的那个映像的ID。
下一步,为你的虚拟机选择所要使用的安全组的类型。安全组为你的虚拟机决定了入站访问规则。想了解可用的安全组,请运行该命令:
$ nova secgroup-list
想检查"默认"安全组的访问规则,请使用这个命令:
$ nova secgroup-list-rules default
在该示例中,我准备为虚拟机选择名为"default"的安全组。该安全组里面正好没有规则。
最后,我们使用到目前为止所获得的信息,创建一个虚拟机。指定你已了解的虚拟机类型(--flavor)、虚拟机映像的ID(--p_w_picpath)以及网络的ID(net-id=)。把[vm-name]换成你虚拟机的名称,这个名称需要很独特。
$ nova boot [vm-name] --flavor m1.nano --p_w_picpath d2b830be-3
7df-4fa9-90b2-91c472d19aaa --security-groups default -ni
c net-id=1cbcddcf-3a7d-481f-b6f2-a97c6447c925
为了确认虚拟机已成功创建并启动,请运行这个命令:
$ nova list
停止、暂停和清除虚拟机
当你停止运行某个虚拟机时,它完全关闭。另一方面,你暂停虚拟机时,它临时被冻结,随时可以从暂停状态重新启动。在这两种情况下,虚拟机映像仍留在OpenStack里面。
想停止虚拟机,运行这个命令:
$ nova stop [vm-name]
想暂停虚拟机,运行这个命令:
$ nova suspend [vm-name]
如果你想从OpenStack清除已终停止虚拟机或已暂停虚拟机的映像,请使用这个命令:
$ nova delete [vm-name]
原文链接:http://xmodulo.com/2014/03/manage-vms-openstack-command-line-tools.html
转载于:https://blog.51cto.com/cuanlf/1397742
如何借助OpenStack命令行工具管理虚拟机?相关推荐
- kvm--virsh命令行下管理虚拟机
virsh 既有命令行模式,也有交互模式,在命令行直接输入 virsh 就进入交互模式, virsh 后面跟命令参数,则是命令行模式: (1)基础操作 --- 命令行下管理虚拟机 virsh list ...
- 基于sqlcmd命令行工具管理SQL server
在SQLServer数据库当中,除了大家熟知的基于SSMS来管理SQLserver数据库之外,还有一个很强大的命令行工具sqlcmd.该命令行工具基本等同于Oracle SQL*Plus以及 MySQ ...
- GitHub开源新命令行工具:在终端里创建、管理PR成现实
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI GitHub 的官方开源命令行工具来了. 名字很正式,叫做 GitHub CLI,别名 gh. 与此前的 hub 不同,gh 是更高层的封装 ...
- 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能...
虚拟机系列文章 深入理解 Java 虚拟机(第一弹) - Java 内存区域透彻分析 深入理解 Java 虚拟机(第二弹) - 常用 vm 参数分析 深入理解 Java 虚拟机-如何利用 Visual ...
- Windows 软件管理命令行工具scoop介绍
我们知道Mac 上的brew,Ubuntu 上的apt命令行工具可以方便用来管理软件 类似的Windows 实际上也有一个开源命令行软件管理工具 Scoop下载地址(https://github.co ...
- Java虚拟机学习(8):查看JVM参数及值的命令行工具
查看JVM各个参数值方式 1. HotSpot vm中的各个globals.hpp文件 查看jvm初始的默认值及参数 globals.hpp globals_extension.hpp c1_glo ...
- 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:打卡活动第二期来啦,100% 能获得奖品个人原创+1博客:点击前往,查看更多 虚拟机系列文章 深入理解 Java ...
- Jenkins CLI命令行工具,助你轻松管理 Jenkins
Jenkins CLI,简称 jcli,一个使用 Golang 开发的开源的 Jenkins 命令行工具.它可以帮忙你轻松地管理 Jenkins.无论你是 Jenkins 插件开发者,还是 Jenki ...
- 《现代命令行工具指南》10. 管理工具:在隔离环境中安装和运行 Python 命令行工具 - Pipx
好工具就是生产力,这是专栏<现代命令行工具指南>精讲的第 10 个命令行工具,欢迎品鉴. 很多强大的命令行工具都是用 Python 编写的,比如,poetry.trash-cli.bla ...
- 使用命令行工具(hpssacli/storcli)对LSI阵列卡进行高效管理
LSI公司(LSI Corporation)(NASDAQ:LSI)(中文:艾萨华)是一家总部位于加利福尼亚州米尔皮塔斯 (Milpitas) 的半导体和软件领先供应商,其主要产品包括:RAID控制器 ...
最新文章
- pd16.5生成mysql列说明_PowerDesigner16逆向工程生成PDM列注释(My Sql5.0模版)
- ElasticSearch ected map for property [fields] on field [subject_id] but got a class java.lang
- 如何选择漏电保护器规格型号_家用漏电开关型号介绍 如何选用家用漏电开关...
- 刘朋:程序员如何练就领导力
- PHP使用CodeIgniter笔记
- 2016.04.06 UITabBar+badge.h
- 删除专利模板文件的最后一页(WPS亲测可用)
- 算法设计与分析基础 第四章谜题
- 《打开量化交易的黑箱》读书笔记
- android动态壁纸的制作教程,巧用Windows自带工具,简易制作动态壁纸教程
- MYSQL 数据库给表加约束条件 (史上最详细教程!)!!
- matlab处理采集的声音数据
- 【BZOJ1001】狼抓兔子
- 工业大数据应用技术国家工程实验室
- 海康摄像头实时显示与字符叠加详解
- 4.MyBatis源码解析-MyBatis扩展点--阿呆中二
- 联想r720内存频率_联想拯救者r720加内存 联想拯救者R720如何组建双通道内存
- mysql高效率写法_Mysql模糊查询like效率,以及更高效的写法
- V2签名预装失败原因及解决方案
- java 抓取 flash 控件,java-从Flash抓取数据(游戏)