要想使下面的服务就需要重启这个服务
[root@controller ~]# source /etc/keystone/admin-openrc.sh
每一条命令输出的结果基本上都是MySQL创建表的那种情况,如果不是那就有问题。
Keystone服务运维
1.keystibe运维命令
(1)创建用户
创建一个名称为“alice”账户,密码为“mypassword123”,邮箱为“alice@example.com”。
[root@controller ~]# openstack user create --password mypassword123 --email alice@example.com --domain demo alice
(2)创建项目
一个Project就是一个项目、团队或组织,当请求OpenStack服务时,必须定义一个项目。
[root@controller ~]# openstack project create --domain demo acme
(3)创建角色
角色限定了用户的操作权限。例如,创建一个角色“compute-user”。
[root@controller ~]# openstack role create compute-user
2.Keystone基础查询命令
(1)用户列表查询
OpenStack平台所使用的用户可以通过Keystone组件进行查询。查询当前所有用户列表信息。
[root@controller ~]# openstack user list
可以通过命令查询到具体用户的详细信息,可以查看到用户当前的状态。
[root@controller ~]# openstack user show alice
(2)项目列表查询
通过命令,可以查询所创建的项目“acme”,也可以查询当前OpenStack平台中所有存在项目列表,
[root@controller ~]# openstack project list
通过命令可以查询“acme”项目的详细信息内容。
[root@controller ~]# openstack project show acme
(3)角色列表查询
通过命令查询创建的角色“compute-user”,通过Keystone组件查询角色列表信息。
[root@controller ~]# openstack role list
通过命令查询“compute-user”角色的详细信息。
[root@controller ~]# openstack role show compute-user
(4)端点地址查询
Keystone组件管理OpenStack平台中所有服务端点信息,通过命令可以查询平台中所有服务所使用的端点地址信息。
[root@controller ~]# openstack endpoint list
Glance服务运维
1. Glance管理镜像
(1)创建镜像
创建一个名称为“cirros”镜像,镜像文件使用提供的“cirros-0.3.4-x86_64-disk.img”。(首先要有这个镜像)
[root@controller ~]# glance image-create --name "cirros" --disk-format qcow2 --container-format bare --progress < cirros-0.3.4-x86_64-disk.img
(2)查看镜像列表
[root@controller ~]# glance image-list
2. Glance镜像运维
(1)查看镜像详情
通过glance image-show命令查看镜像的详细信息(id参数可以是对应镜像id或者镜像名称)。
[root@controller ~]# glance image-show bdd8d652-7d10-4a77-8a9b-b8563df42d5a
(2)更改镜像
可以使用glance image-update更新镜像信息,使用glance image-delete删除镜像信息。如果需要改变镜像启动硬盘最低要求值(min-disk)时,min-disk默认单位为G。使用glance image-update命令更新镜像信息操作如下。
[root@controller ~]# glance image-update --min-disk=1 bdd8d652-7d10-4a77-8a9b-b8563df42d5a
(3)删除镜像
[root@controller ~]# glance image-delete bdd8d652-7d10-4a77-8a9b-b8563df42d5a
(4)查看所以镜像
[root@controller ~]# glance image-list
Nova服务运维
1. Nova运维命令
(1)Nova管理安全组规则
安全组(security group)是一些规则的集合,用来对虚拟机的访问流量加以限制,这反映到底层,就是使用iptables,给虚拟机所在的宿主机添加iptables规则。可以定义n个安全组,每个安全组可以有n个规则,可以给每个实例绑定n个安全组。Nova中总是有一个default安全组,这个是不能被删除的。创建实例的时候,如果不指定安全组,会默认使用这个default安全组。现在Nova中安全组应该会移到Neutron中,并且会增加对虚拟机外出流量的控制。
注意:Nova中的安全组只是对进入虚拟机的流量加以控制,对虚拟机外出流量没有加以限制。
常用的安全组命令。
[root@controller ~]# nova secgroup-create
功能:创建安全组。
创建一个名为test的安全组,描述为'test the nova command about the rules',命令及执行结果如下所示:
[root@controller ~]# nova secgroup-create test 'test the nova command about the rules'
(2)Nova管理虚拟机类型
虚拟机类型是在创建实例的时候,分配给实例的资源情况,接下来介绍Nova对虚拟机类型的管理。
[root@controller ~]# nova flavor-create
功能:创建一个虚拟机类型。
使用命令创建一个名为test,ID为6,内存为2048 MB,磁盘为20 GB,vCPU数量为2的云主机类型。具体命令及执行结果如下所示。
[root@controller ~]# nova flavor-create test 6 2048 20 2
查看test云主机类型的详细信息如下所示:
[root@controller ~]# nova flavor-show test
2. Nova实例管理
(1)启动实例
Nova可对云平台中的实例进行管理,包括创建实例、启动实例、删除实例和实例迁移等操作。
[root@controller ~]# nova boot
(2)删除实例
[root@controller ~]# nova delete
Neutron服务运维
1. Neutron查询
使用Neutron相关命令查询网络服务的列表信息中的“binary”一列,代码如下所示。
[root@xiandian ~]# neutron agent-list -c binary
2. 查询网络详情
查询网络详细信息的命令和执行结果如下。
[root@xiandian ~]# neutron net-list
3. 查询Neutron相关组件服务
使用Neutron相关命令查询网络服务DHCP agent的详细信息(id为查询到DHCP agent服务对应id)。
[root@xiandian ~]# neutron agent-list
Cinder服务运维
1. 创建云硬盘
创建一个2 GB的云硬盘extend-demo。
[root@controller ~]# cinder create --name cinder-volume-demo 2
通过cinder-list命令查看云硬盘信息。
[root@controller ~]# cinder list
2. 创建云硬盘卷类型
创建type标识的卷类型。
可以通过cinder type-create命令来创建卷类型,创建了一个名为“lvm”的卷类型。
[root@controller ~]# cinder type-create lvm
可以通过cinder type-list命令来查看现有的卷类型。
[root@controller ~]# cinder type-list
3. 创建带标识云硬盘
下面以type标识为例,创建一块带“lvm”标识的云硬盘。
[root@controller ~]# cinder create --name type_test_demo --volume-type lvm 1
创建成功后可以通过命令查看结果,可以看到该卷的volume_type字段已修改为“lvm”,查询命令如下。
[root@controller ~]# cinder show type_test_demo
删除指定的Cinder卷,删除Cinder卷的方法比较简单,用户可以通过命令“cinder delete <volume> [<volume> ...]”来删除一个或多个Cinder卷,删除命令如下所示。
[root@controller ~]# cinder delete cinder-volume-demo
Swift服务运维
1. Swift查询命令
(1)创建容器
通过命令行实现对Swift上数据的操作,首先需要创建一个名称为“test”的容器,命令如下。
[root@controller ~]# swift post test
(2)查询容器
查看“test”容器里面的内容。
[root@controller ~]# swift list test
通过显示结果可以看出目前“test”容器里面的内容是空的,这时用户希望将本地的file目录内容递归上传到“test”容器内。首先创建file目录,并同时新建3个文件one.txt、two.doc和three.png。具体命令如下:
[root@controller ~]# mkdir file [root@controller ~]# touch one.txt [root@controller ~]# touch two.doc [root@controller ~]# touch three.png
2.Swift上传和下载
(1)上传文件至容器
上传时首先需要上传一个空白的“file”目录。
[root@controller ~]# swift upload test file/
将one.txt文件上传到“test”容器内file目录内。
[root@controller ~]# swift upload test/file one.txt
换一种方式将剩下的two.doc和three.png递归上传到“test”容器下的file目录内。
[root@controller ~]# mv two.doc three.png file/ [root@controller ~]# swift upload test file/ file/three.png file/two.doc
(2)从容器中下载文件
数据在Swift集群内保存,随时供用户下载使用,现在下载three.png文件,命令和执行结果如下:
[root@controller ~]# swift download test file/three.png
file/three.png [auth 0.445s, headers 0.870s, total 0.871s, 0.000 MB/s]
(3)从容器中删除文件
目前磁盘容量有限,需要删除一些相对价值低的数据,空出更多的空间。这时已经将three.png下载到本地,所以暂时将three.png从对象存储服务器中删除,命令和执行结果如下:
[root@controller ~]# swift delete test file/three.png
file/three.png
(4)查看容器服务状态
用户还可以通过swift stat命令来查看整个Account账户下Swift状态,命令和执行结果如下:
[root@controller ~]# swift stat