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命令不同版本之间命令可能存在差异,或者组件配置问题引起的命令不可用,请根据实际环境执行命令。所有命令根据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 |