OpenStack常用命令 | 您所在的位置:网站首页 › openstack查看网络组件命令 › OpenStack常用命令 |
一、keystone常用命令:
创建项目(租户): openstack project create --description "Test Project" test更改项目名称: openstack project set 93f6b89e92dc4ed3b758f530bc2da84e --name test-new查看项目的详细信息: openstack project show 93f6b89e92dc4ed3b758f530bc2da84e查询所有租户信息: openstack project list删除项目(租户): openstack project delete 93f6b89e92dc4ed3b758f530bc2da84e查询所有用户信息,如下所示。 openstack user list创建用户(手动输入密码): openstack user create --domain default --password-prompt tom创建用户,直接指定密码: openstack user create --domain default --password=tom tom更改用户信息: openstack user set tom --name tom-new删除名为“tom-new”的用户。 openstack user delete tom-new查询所有角色信息: openstack role list创建角色: openstack role create role1将角色赋予用户。 openstack role add --user testuser --project demo role1查看用户的角色分配的结果。 openstack role list --user testuser --project demo删除用户角色分配信息: openstack role remove --user testuser --project demo role1删除角色“role1”。 openstack role delete role1 二、glance常用命令查询所有镜像: openstack image list创建名为test的镜像: openstack image create ‘test’ --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public #--container-format 镜像容器格式,是将镜像文件打包成可供OpenStack使用的格式。 #它定义了如何存储和管理镜像文件。bare:这是最简单的镜像容器格式,它将镜像文件 #直接储存在一个文件中,没有进行任何压缩或加密。更新镜像test为私有属性: openstack image set test --private删除镜像: openstack image delete cirros查看镜像的详细信息: openstack image show cirros将镜像与项目进行关联: openstack image add project cirros projectName移除镜像与项目的关联: openstack image remove project cirros projectName 三、实例规格 flavor 管理创建实例类型: openstack flavor create --id 1234 --vcpus 1 --ram 64 --disk 1 m1.nano # --vcpus 虚拟机的核数 # --disk 默认以GB为单位 # --ram 默认以MB为单位 # 实例类型ID:实例类型ID是全局唯一的,它可以是整数,也可以是自动生成的UUID。 # 实例类型名称:实例类型标识字段。 # 虚拟内核:需要使用的虚拟CPU核数。 # 内存:需要使用的内存大小(MB)。 # 根磁盘:虚拟机实例的根(/)文件系统所需的磁盘空间(GB)。 # 临时磁盘:虚拟机实例使用的临时磁盘空间,默认值为0。临时磁盘来源于本地存储,供虚拟机实例使用。 # 当关闭虚拟机实例时,临时磁盘中的数据会丢失。 # 交换空间:虚拟机实例需要使用的交换空间(MB),默认值为0。 # RX/TX因子:定义输入输出与网络硬件带宽的比例。缺省值是1即和硬件带宽相同。查询所有实例类型: openstack flavor list删除实例类型(可以根据id删除,也可以根据名称删除): openstack flavor delete 1234查询实例类型详细信息: openstack flavor show 1234 四、neutron 常用命令创建vxlan类型的netowrk(交换机): openstack network create --provider-network-type vxlan inside查询所有的network: openstack network list查询network的详细信息: openstack network show inside1删除指定的network: openstack network delete inside1创建名为inside的网段: openstack subnet create --subnet-rang 10.0.0.0/24 --network inside1 net1列出所有网段: openstack subnet list查询网段的详细信息: openstack subnet show net1删除指定的网段: openstack subnet delete net1创建外部网络network: openstack network create --external --provider-physical-network external --provider-network-type flat outside # --external 表示这是一个外部网络 # --provider-physical-network 将物理网络也就是网卡映射到某个虚拟的网络, # 在将虚拟网络赋值给该网络,映射关系在openvswitch.ini文件中给外部网络添加子网: openstack subnet create --subnet-rang 172.16.1.0/24 --network outside outnet创建路由器: openstack router create R1查看路由器详细信息: openstack router show R1列出所有的路由器: openstack router list删除路由器: openstack router delete R1查看安全组列表: openstack security group list给虚拟机设置安全组: openstack server create --flavor small --image cirros --network=652773a0-ff6f-427b-a159-0b42f7f52ffc --security-group default vm1查看节点中的LinuxBridge: brctl show查看节点的网络信息: ip a给路由器添加外部网关: openstack router set R1 --external-gateway outside # 这里设置路由器网关是指向我们刚刚创建的外部网络,因为我们为外部网络创建过一个 # 网段,路由器会直接连到这个网段,获取一个ip地址给路由器添加子网: openstack router add subnet R1 net1给路由器移除子网: openstack router remove subnet R1 net1查看路由器的端口信息: openstack port list --router R1删除网络与路由器的时候需要按照顺序删除(先移除虚拟机上所有子网,再删除路由器): openstack router remove subnet R1 net1 openstack router delete R1查看所有的命名空间: ip netns list # 命名空间起到隔离网络资源的作用,例如一台虚拟机与一台DHCP服务器处于同一个命名空间 # 不同的主机去找自己对应的DHCP服务器查找地址进入路由器所在的命名空间执行命令: ip netns exec qrouter-fjsofdf-asfsd-fsidfhs ip a查看路由器的转发规则: ip netns exec qrouter-003fjjs-jfsiodf-vbs iptables -t nat -S # 我们配置的snat都是在路由器中的iptable进行设置的,他帮我们做的地址转换 五、RabbitMQ的常用命令创建登录rabbitmq的用户: rabbitmqctl add_user openstack admin给用户赋所有权限: rabbitmqctl set_permissions openstack ".*" ".*" ".*"将用户设置为该管理员: rabbitmqctl set_user_tags openstack administrator 六、虚拟机 server 管理查虚拟机列表: openstack server list为虚拟机添加安全组: openstack server add security group vm1 test为虚拟机添加固定IP(fixed IP) openstack server add fixed ip vm1 192.168.1.5为虚拟机添加浮动IP(Float IP) openstack server add floating ip vm1 192.168.1.5为虚拟机移除安全组: openstack server remove security group vm1 test为虚拟机移除固定IP(fixed IP) openstack server remove fixed ip vm1 192.168.1.5为虚拟机移除浮动IP(Float IP) openstack server remove floating ip vm1 192.168.1.5暂停虚拟机: openstack server pause vm1恢复暂停的虚拟机: openstack server unpause vm1挂起虚拟机: openstack server suspend vm1恢复挂起的虚拟机: openstack resume server vm1删除虚拟机: openstack server delete vm1创建虚拟机: openstack server create --flavor small --image cirros --network=652773a0-ff6f-427b-a159-0b42f7f52ffc default vm1查当前节点上创建的虚拟机: virsh list登录虚拟机内部: virsh console instance-42923201 七、主机聚合aggregate创建主机集合: openstack aggregate create --zone xx agg1 # --zone 任意定义一个区域 #主机集合是管理员根据硬件资源的某一属性来对硬件进行划分的功能,只对管理员可见, #主要用来给nova-scheduler组件通过某一属性来进行实例的调度。创建主机集合时, #需要设置可用域,可用域通常是对Computes节点上的资源在小的区域内进行逻辑上的分组和隔离。 #例如在同一个数据中心,可以将可用域规划到不同的机房,或者在同一机房的几个相邻的机架, #从而保障如果某个可用域的节点发生故障(如供电系统或网络),而不影响其他的可用域上节 #点运行的虚机,通过这种划分来提高OpenStack的可用性。主机集合是在可用域的基础上更进一 #步地进行逻辑的分组和隔离。例如可以根据不同的Computes节点的物理硬件配置将具有相同共性 #的物理资源规划在同一主机集合之下,或者根据用户的具体需求将几个Computes节点规划在具有 #相同用途的同一主机集合之下,通过这样的划分有利于提高OpenStack资源的使用效率。创建一个 #主机集合,需要选择放在里面的主机,主机可以存在于多个集合中。删除主机集合: openstack aggregate delete agg1查看主机集合列表: openstack aggregate list查看主机集合详细信息: openstack aggregate show agg1给主机集合增加主机: openstack aggregate add host compute给主机集合移除主机: openstack aggregate remove host compute 八、安全组管理 安全组是一系列IP过滤规则的集合,控制对虚拟机实例的网络访问,实现相互信任的 虚拟机之间的通信。安全组类似防火墙,它是重要的安全隔离手段,通过设定各安全组 之间的安全规则,可搭建复杂的多层访问控制体系,达到系统整体安全。所有的租户都 有一个默认的安全组,这个是不能被删除的。建立虚拟机实例时,默认使用该安全组。 安全组具有如下特性: 1、 可按安全组、源IP、目的端口、内外网访问等条件进行访问控制。 2、 位于同城不同机房中的虚拟机实例,只要内网连通,可以工作在同一个安全组中。 3、 一个安全组可以包含多个虚拟机实例,但一个虚拟机实例也可以属于多个安全组。 4、 同一安全组中的虚拟机实例,默认互通。 5、 不论是否属于同一安全组,虚拟机都不能以任何方式查看其它虚拟机的网络流量。 安全组规则可控制允许到达与安全组相关联的虚拟机实例的入站流量以及允许离开虚拟 机实例的出站流量。没有任何其他规则的情况下,新建的安全组将拒绝所有入口流量, 并允许所有出口流量。安全组规则可以随时修改、修改后会立刻生效并应用于所有关联 的实例。对于安全组的每条规则,必须指定以下几项内容: (1)规则(协议类型):例如TCP、UDP和ICMP等。 (2)端口:可以输入单个端口(如8080)或一定的端口范围(如1-65535)。 (3)远程(访问类型):允许通过该规则的流量来源,可以通过以下两种方式实现: IP地址块:用于指定安全组开放的源或目的IP地址。如填写0.0.0.0/0表示允许所有IP地址访问。 安全组:该安全组中的任何实例都被允许使用该规则访问任一其它实例。 安全组的数量限制和安全组规则的数量限制分别由“/etc/nova/nova.conf”文件中“security_groups”和“security_group_rules”参数控制。创建安全组: openstack security group create hello --description "allow ping and ssh"列出项目组中的安全组: openstack security group list --project admin查看安全组中的详细信息: openstack security group show fhsifhsdfhsdf配置远端访问自己: openstack security group rule create --remote-ip 10.1.1.4 1to3only为虚拟机添加安全组: openstack server add security group vm3 1to3only为虚拟机移除安全组: openstack server remove security group vm3 1to3only查看虚拟机的安全组配置: openstack server show rewww1231查询指定安全组的规则: openstack security group rule list hello添加安全组规则到指定的安全组: openstack security group rule create --protocol tcp --dst-port 22 hello删除安全组规则: openstack security group rule delete 18ab7052-d416-45af-9de3-cea39109e6ec删除安全组: openstack security group delete hello查询安全组相关的参数: openstack security group rule create -h列出所有的安全组规则: openstack security group rule list # ID:每个安全组规则的唯一标识符。 # Security Group:规则所属的安全组。 # IP Protocol:规则所适用的 IP 协议,如 TCP、UDP 或 ICMP。 # Port Range:规则的端口范围,如单个端口或者端口范围。 # Remote Group:允许访问该规则的远程安全组。 # Direction:规则的流量方向,入站或出站。 # 我们在 DatabaseSG 中创建一个规则:方向:入站 协议:TCP # 端口范围:3306 (MySQL数据库的默认口) # Remote Group:WebServerSG # 这条规则的含义是,允许来自 WebServerSG 的成员访问 DatabaseSG # 的 3306 端口(MySQL默认端口)。如果在这两个安全组中都有虚拟机实例, # 那么现在来自 WebServerSG 的任何流量都可以访问属于 DatabaseSG 的任何虚拟机, # 但只限于端口3306。这样,通过设置 Remote Group 字段,我们建立了安全组之间的规则, # 允许特定安全组中的成员访问另一个安全组中定义的特定端口或服务。 九、Swift 容器管理创建容器container1 openstack container create container1下载容器中的文件: openstack object save --file new-object.txt container1 object.txt # --file 指定新文件的名字删除容器1: openstack container delete container1列出所有容器: openstack container list删除容器中的文件: openstack object delete contailer1 aa.txt列出容器中所有的文件 openstack object list container1上传文件到容器: openstack object create container1 object.txt查看文件的详细信息: openstack object show container1 aa.txt文件object.txt上传到容器container1 openstack object create container1 object.txt查看容器container1中的文件 openstack object list container1 |
CopyRight 2018-2019 实验室设备网 版权所有 |