Openstack知识及常用命令

OpenStack定义:

OpenStack是一个负责启动和管理虚拟机实例的管理软件,它是搭建云平台的解决方案,可以搭建公有云、私有云和企业云。

openstack核心组件及功能:

Compute(代号为"Nova") :管理计算资源
Networking Service(代号为"Neutron"):管理网络资源,为虚拟机、计算和控制节点提供网络功能
Image Service(代号为"Glance"):用于提供镜像服务,属于储存范畴
Identity(代号为"Keystone"):管理用户及其权限维护OpenStack Services的Endpoint认证和鉴权
Dashboard(代号为"Horizon"):用于提供图形用户界面
Block Storage(代号为"Cinder"):用于提供块存储功能
Object Storage(代号为"Swift"):用于提供对象存储功能
Ceilometer:提供监控服务

Openstack知识及常用命令

Openstack常用命令:

 提示:任何命令执行前都需要先执行环境变量脚本,openstack命令不同版本之间命令可能存在差异,或者组件配置问题引起的命令不可用,请根据实际环境执行命令。所有命令根据ID查询的命令基本也可通过NAME查询。

 

 

执行环境变量脚本,获得admin凭证访问

source admin-openrc.sh

列出可用网络 neutron net-list
查看路由列表 neutron router-list
查看路由详情 neutron router-show ROUTER_ID
查找与网络相关并以av开头的文件 neutron -h | grep av(文件名)
列出防火墙 neutron firewall-list
查看防火墙详情 neutron firewall-show FIREWALL_ID
查看防火墙策略详情 neutron firewall-policy-show POLICY_ID
列出安全组 openstack security group list
查看安全组详情 openstack security group show ID
列出安全组规则 openstack security group rule list
查看安全组规则详情 openstack security group rule show ID
获取主机列表 openstack hypervisor list
查看主机详情 openstack hypervisor show NAME
获取flavor列表 nova flavor-list
查看flavor详情 nova flavor-show ID

nova状态升级检查

nova-status upgrade check

列出已加载网络扩展

Openstack extension list --network

列出所有的用户 openstack user list
列出认证服务目录 openstack catalog list
列出镜像 openstack image list 或 cinder list
删除指定的镜像 openstack image delete IMAGE
查看某镜像描述 openstack image show IMAGE
更新镜像 openstack image IMAGE
上传内核镜像

openstack image create cirros-threepart-kernel \

        --disk-format aki --container-format aki –public \

        --file ~/images/cirros-0.3.5-x86_64-kernel

上传RAM镜像

 openstack image create cirros-threepart-ramdisk \

        --disk-format ari --container-format ari –public \

        --file ~/images/cirros-0.3.5-x86_64-initramfs

上传第三方镜像

 openstack image create cirros-threepart --disk-format ami \

        --container-format ami –public \

        --property kernel_id=$KID -property ramdisk_id=$RID \

        --file ~/images/cirros-0.3.5-x86_64-rootfs.img

注册raw镜像

openstack image create cirros-raw --disk-format raw \

        --container-format bare –public \

        --file ~/images/cirros-0.3.5-x86_64-disk.img

列出实例 openstack server list   或  nova list
显示实例详细信息 openstack server show NAME/ID 或 nova show NAME/ID
创建一个为名m1.tiny的 flavor openstack flavor create --ram 512 --disk 1 --vcpus 1 m1.tiny
列出规格类型 openstack flavor list
用类型和镜像名称(如果名称唯一)来启动云主机

openstack server create --image IMAGE --flavor FLAVOR INSTANCE_NAME \

openstack server create --image cirros-0.3.5-x86_64-uec --flavor m1.tiny \

MyFirstInstance

查看云主机的控制台日志 openstack console log show MyFirstInstance
设置云主机的元数据 nova meta volumeTwoImage set newmeta=my meta data
创建一个实例快照

openstack image create volumeTwoImage snapshotOfVolumeImage

openstack image show snapshotOfVolumeImage

实例暂停

openstack server pause NAME

openstack server pause volumeTwoImage

取消实例暂停 openstack server resume NAME
取消实例挂起

openstack server unpause NAME

实例挂起

openstack server suspend NAME

实例停止 openstack server stop NAME
实例开始 openstack server start NAME
实例恢复

openstack server rescue NAME

openstack server rescue NAME --rescue_image_ref RESCUE_IMAGE

调整规格大小

openstack server resize NAME FLAVOR

openstack server resize my-pem-server m1.small

openstack server resize --confirm my-pem-server1

实例重建 openstack server rebuild NAME IMAGE
实例重启 openstack server reboot NAME
将用户数据和文件注入到实例

openstack server create --user-data FILE INSTANCE

openstack server create --user-data userdata.txt --image cirros-qcow2 \

        --flavor m1.tiny MyUserdataInstance2
创建**对

openstack keypair create test > test.pem

chmod 600 test.pem

启动实例

openstack server create --image cirros-0.3.5-x86_64 --flavor m1.small \

        --key-name test MyFirstServer

使用ssh连接到实例

ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f \

        ssh -i test.pem [email protected]

在默认的安全组中,添加ping和SSH规则

openstack security group rule create default \

        --remote-group default --protocol icmp

openstack security group rule create default \

        --remote-group default --dst-port 22

创建网络

openstack network create NETWORK_NAME

创建子网 openstack subnet create --subnet-pool SUBNET --network NETWORK SUBNET_NAME
创建一个新卷 openstack volume create --size SIZE_IN_GB NAME
启动实例并将其链接到卷上 openstack server create --image cirros-qcow2 --flavor m1.tiny MyVolumeInstance
列出所有卷 openstack volume list
当实例状态正常且卷状态可用时,将卷连接到实例 openstack server add volume INSTANCE_ID VOLUME_ID
登陆进实例之后管理卷组

列出存储器:fdisk -l

在卷上建立文件系统:mkfs.ext3 /dev/vdb

创建一个挂载点:mkdir /myspace

在挂载点挂载卷:mount /dev/vdb /myspace

在卷上创建一个文件:touch /myspace/helloworld.txt

                                    ls /myspace

卸载卷:umount /myspace

展示存储账户,容器以及对象的信息

swift stat

swift stat ACCOUNT

swift stat CONTAINER

swift stat OBJECT

列出容器 swift list