OpenStack 命令整理
https://docs.openstack.org/zh_CN/user-guide/cli-cheat-sheet.html
KeyStone
列出所有用户
$ openstack user list
列出认证服务目录
$ openstack catalog list
查看openstack token信息
# 需要定时source 用户信息
$ source /etc/kolla/admin-openrc.sh
# 查看信息
$ openstack token issue
Glance
查看:
列出您可以访问的镜像
$ openstack image list
删除:
删除指定的镜像
$ openstack image delete IMAGE
描述一个指定的镜像
$ openstack image show IMAGE
改:
更新镜像
$ openstack image set IMAGE
新增:
上传内核镜像
$ openstack image create "cirros-threepart-kernel" \
--disk-format aki --container-format aki --public \
--file ~/images/cirros-0.3.5-x86_64-kernel
上传RAW镜像
$ 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
Nova
常规操作:
查看主机列表
$ openstack host list
查看某台主机资源情况
$ openstack host show 主机名
查看虚拟机详情
$ openstack server show 虚机名
实例的暂停、挂起、停止、救援、调整规格、重建、重启:
# 暂停
$ openstack server pause NAME
$ openstack server pause volumeTwoImage
# 取消挂起
$ openstack server unpause NAME
# 挂起
$ openstack server suspend NAME
# Unsuspend
$ openstack server resume 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 rebuild newtinny cirros-qcow2
# 重启
$ openstack server reboot NAME
$ openstack server reboot newtinny
其他操作
将用户数据和文件注入到实例
$ openstack server create --user-data FILE INSTANCE
# 使用示例
$ openstack server create --user-data userdata.txt --image cirros-qcow2 \
--flavor m1.tiny MyUserdataInstance2
使用ssh连接到实例
ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f \ssh -i test.pem cirros@10.0.0.4
创建密钥对
$ openstack keypair create test > test.pem
$ chmod 600 test.pem
$ openstack security group rule create default \
--remote-group default --protocol icmp
$ openstack security group rule create default \
--remote-group default --dst-port 22
创建秘钥对
$ 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
管理安全组
$ openstack security group rule create default \
--remote-group default --protocol icmp
$ openstack security group rule create default \
--remote-group default --dst-port 22
Neutron
创建网络
$ openstack network create NETWORK_NAME
创建子网
$ openstack subnet create --subnet-pool SUBNET --network NETWORK SUBNET_NAME
$ openstack subnet create --subnet-pool 10.0.0.0/29 --network net1 subnet1
常用命令
boot: 创建虚拟机。
delete: 删除虚拟机。
force-delete: 无视虚拟机当前状态,强制删除虚拟机。即使开启了软删除功能,该操作也会立即清理虚拟机资源。
list: 显示虚拟机列表。
show: 查看指定虚拟机的详细信息。
stop: 关机虚拟机。
start: 开机虚拟机。
reboot: 重启虚拟机。默认先尝试软重启,当软重启尝试120后失败,将执行强制重启。
migrate: 冷迁移虚拟机,迁移过程中虚拟机将关机。
live-migrate: 在线迁移虚拟机,虚拟机不会关机。
resize: 修改虚拟机配置,即使用新的flavor重建虚拟机。
rebuild: 重建虚拟机,指定新的image,如果指定快照,则相当于虚拟机状态回滚。
evacuate: 疏散迁移,只有当compute服务down时执行,能够迁移虚拟机到其它正常计算节点中。
reset-state: 手动重置虚拟机状态为error或者active。
create-image: 创建虚拟机快照。
backup: 定期创建虚拟机快照。
volume-attach: 挂载volume卷。
volume-detach: 卸载volume卷。
lock/unlock: 锁定虚拟机,锁定后的虚拟机普通用户不能执行删除、关机等操作。
set-password: 修改管理员密码,虚拟机需要运行qemu guest agent服务。
pause/unpause: 暂停运行的虚拟机,如果底层的虚拟化使用的是libvirt,那么libvirt会在将虚拟机的信息保存到内存中,KVM/QEMU进程仍然在运行,只是暂停执行虚拟机的指令。
suspend/resume: 挂起虚拟机,将虚拟机内存中的信息保存到磁盘上,虚拟机对于的KVM/QEMU进程会终止掉,该操作对应于libvirt中的save操作。resume从挂起的虚拟机恢复。
reset-network: 重置虚拟机网络,在使用libvirt时,该操作不执行任何实际的动作,因此功能尚未实现。
shelve/unshelve: 虚拟机关机后仍占用资源,如果虚拟机长期不使用,可以执行shelve操作,该操作先创建虚拟机快照,然后删除虚拟机,恢复时从快照中重建虚拟机。
rename: 重命名虚拟机, 后期版本将被update操作替代。
update: 修改虚拟机名称、description信息等。
rescue/unrescue: 虚拟机进入拯救模式。原理是创建一台新的虚拟机,并把需要rescue的虚拟机的根磁盘作为第二块硬盘挂载到新创建的虚拟机。当原虚拟机根磁盘破坏不能启动时该操作非常有用。
interface-attach/interface-dettach: 绑定/解绑网卡。
trigger-crash-dump: 使虚拟机触发crash dump错误,测试使用。
resize-confirm: 确认resize操作,此时原来的虚拟机将被删除, 可以配置为自动确认。
resize-revert: 撤销resize操作,新创建的虚拟机删除,并使用原来的虚拟机。
console-log: 查看虚拟机日志。
get-vnc-console: 获取虚拟机vnc地址, 通常使用novnc协议。
restore: 恢复虚拟机。如果配置了软删除功能,当虚拟机被删除时,不会立即删除,而仅仅标识下,此时能够使用restore操作恢复删除的虚拟机。
instance-action-list: 查看虚拟机的操作日志。
instance-action:查看某个虚拟机操作的详细信息,如操作用户、操作时间等。