openstack 常用命令
1.创建一个磁盘
cinder list &&cinder type-list&&glance image-list
cinder create --volume-type ISCSI --image-id 5c86aff6-2ed6-4b56-a5f2-48ae68b891fc --name test 10
2.创建一个虚拟机
方法1:
openstack network list && openstack security group list && openstack keypair list
openstack server create --flavor m2.nano --image cirros0.3.4 --nic net-id=d661256f-b072-422d-905c-6b0926ac7cbf --security-group d45b9b3e-5566-4767-bafc-2d2e890b2655 --key-name mykey test
方法2:
添加子网到路由
openstack router add subnet subnetid routerid
openstack flavor create --name test --ram 16386 --vcpus 8
创建系统盘
cinder create --name test_cinder --image-id imageid --volume-type --availability-zone az01 150
nova boot --boot-volume --flavor --nic net-id= ,v4-fixed-ip=192.178.25.6 --availability-zone az01
3.创建network subnet flavor keypair
openstack network create --share --external --provider-physical-network provider --provider-network-type flat provider
openstack subnet create --network provider --allocation-pool start=172.16.14.230,end=172.16.14.240 --dns-nameserver 114.114.114.114 --gateway 172.16.14.1 --subnet-range 172.16.14.0/24 provider
openstack flavor create --id 1 --vcpus 4 --ram 512 --disk 1 m2.nano
openstack flavor create --id 10000001 --vcpus 2 --ram 1024 --disk 5 wyh01
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
一、删除镜像
1.glance image-show <image-id>
看locations 和stores信息的后端名称(对应glance的/etc/glance/glance-api.conf里配置的后端名)
2.选择要删除的后端名A:
glance location-delete --url <URL_A> <IMAGE_ID>
3.删除后查看cinder卷信息
cinder list --all-t |grep <image-id>
可以看到存储后端对应的已经删除了
4.如果3没有删除,cinder delete <image-volume-id>
二、以系统盘启动虚拟机
openstack server set --name <VM-new-name> <VM-id>
nova boot --boot-volume <系统盘id> --flavor <规格id> --nic net-id=<net_id>,v4-fixed-ip=<虚机IP> --availability-zone az3:yzcom3-1 <虚机名字>
nova volume-attach <虚机id> <数据盘id>
三、网卡迁移
虚机网卡添加多个ip
以20.198.100.220虚机的网卡上添加20.198.100.221为例
1.neutron port-update --fixed-ip subnet_id=665328d3-06f4-4e2e-aab4-48f4cbfaf56f,ip_address=20.198.100.220 --fixed-ip subnet_id=665328d3-06f4-4e2e-aab4-48f4cbfaf56f,ip_address=20.198.100.221 eab34399-ae33-4fe5-a38a-ffee76b7d9f6
#665328d3-06f4-4e2e-aab4-48f4cbfaf56f为20.198.100.220所属的subnet id;
#665328d3-06f4-4e2e-aab4-48f4cbfaf56f为新增的20.198.100.221所属的subnet id;
#eab34399-ae33-4fe5-a38a-ffee76b7d9f6为20.198.100.220虚机所对应的port;
2.neutron port-update eab34399-ae33-4fe5-a38a-ffee76b7d9f6 --allowed-address-pairs type=dict list=true ip_address=20.198.100.221
#eab34399-ae33-4fe5-a38a-ffee76b7d9f6为20.198.100.220虚机所对应的port;类似于vip放行操作;
3.在对应的20.198.100.220虚机上的网卡上20.198.100.221,原20.198.100.220为IPADDR0,新增的20.198.100.221为IPADDR1,对应的网段也需要添加,同网关的话只需要添加一个;
IPADDR0=20.198.100.220
IPADDR1=20.198.100.221
NETMASK0=255.255.255.0
NETMASK1=255.255.255.0
GATEWAY=20.198.100.254
四、创建云主机
#使用open stack命令上传cirros镜像,命名为cirros
[root@controller ~]# openstack image create --disk-format qcow2 --file /root/cirros-0.3.1-x86_64-disk.img cirros
#使用open stack命令创建磁盘大小为20G,内存为1G,cpu为1核的small云主机类型
[root@controller ~]# openstack flavor create --disk 20 --ram 1024 --vcpus 1 small
#如果想指定swap 分区大小为1G,可在后面加--swap 1024
1.创建外部网络
#1)使用open stack命令创建外部网络extnet
[root@controller ~]# openstack network create --project admin --external --provider-network-type flat --provider-physical-network provider "extnet"
#2)使用open stack命令创建外部网络的子网extsubnet,浮动IP网段为192.168.3.0/24(这是我虚拟的给的外部网络),网关是192.168.3.2,启动dhcp,dhcp地址池范围为192.168.3.200~192.168.3.249,dns服务器为114.114.114.114
[root@controller ~]# openstack subnet create --project admin --dhcp --gateway 192.168.3.2 --ip-version 4 --network extnet --allocation-pool start=192.168.3.200,end=192.168.3.249 --dns-nameserver 114.114.114.114 --subnet-range 192.168.3.0/24 "extsubnet"
2.创建内部网络
#1)使用open stack命令创建内网intent
[root@controller ~]# openstack network create --internal --project admin "intnet"
#2)使用open stack命令创建内网的子网intsubnet,子网ip段为10.0.0.0/24,网关为10.0.0.1,启动dhcp,dhcp地址池范围为10.0.0.100~10.0.0.200,dns服务器地址为223.5.5.5
[root@controller ~]# openstack subnet create --dhcp --dns-nameserver 223.5.5.5 --gateway 10.0.0.1 --ip-version 4 --network intnet --project admin --allocation-pool start=10.0.0.100,end=10.0.0.200 --subnet-range 10.0.0.0/24 intsubnet
3.创建路由
#1)使用open stack命令创建名为ext-route的路由
[root@controller ~]# openstack router create --project admin "ext-route"
#2)使用open stack命令绑定ext-route和外网extnet,并启动snat
[root@controller ~]# openstack router set --external-gateway extnet --enable-snat "ext-route"
#3)使用open stack命令为ext-route添加子网intsubnet
[root@controller ~]# openstack router add subnet ext-route intsubnet
4.创建云主机#使用open stack命令创建类型为small,镜像为cirros,网络为intnet,安全组为admin项目有默认的default,名称为test的云主机
[root@controller ~]# openstack server create --flavor small --image cirros --network intnet --security-group 02afe1eb-d659-456a-b569-ef0c8b637e49
"test"
5.绑定浮点ip
#使用open stack命令从外部子网extsubnet中生成一个浮动ip
[root@controller ~]# openstack floating ip create --subnet extsubnet --project admin "extnet"
#使用open stack命令绑定刚刚生成的浮动ip到云主机上
[root@controller ~]# openstack server add floating ip test 192.168.35.203
超分:
查看计算节点超分:
nova hypervisor-get-ratio <hypervisor-id> # nova hypervisor list|grep 计算节点名称。
nova hypervisor-set-ratio --cpu 2.0 <hypervisor-id> #--cpu 设置cpu 可超分至多少倍。
查看用户,租户,角色的对应关系
1.openstack user list --project=admin 查看租户下的用户
2.openstack role assignment list 查看role 用户 租户 的对应关系 只显示id
3.openstack role assignment list --name 名字的对应关系
上传镜像
保证镜像格式为raw:
qemu-img info psbc-centos7.5
查看是否是raw格式;
如果是qcow2格式,执行:
qemu-img convert -f qcow2 -O raw psbc-centos7.5 psbc-centos7.5.raw
上传glance命令
cd到镜像所在目录执行下面命令:
glance image-create --name "psbc-centos7.5 " --disk-format raw \--container-format bare --visibility public --protected True \--property hw_qemu_guest_agent=yes --property os_type="linux" \--property os_distro="centos" --property os_version="7.5" \--property hw_vif_multiqueue_enabled=true \--property ctcm_enabled=true --progress
拿到镜像ID后将镜像上传至其他后端:
glance image-upload --file ./psbc-centos7.5.raw --backend netapp_A300_FC_az1_001 $image_id
巡检命令:
1. 路由相关
openstack router list 查看云平台的路由信息
openstack port list --long --router routerid 查看虚拟路由下port的端口信息。
neutron l3-agent-list-hosting-router routerid 检查l3 agent 状态
openstack network list 查看vpc
neutron dhcp-agent-list-hosting-net networkid 检查dhcp agent 状态
neutron net-list-on-dhcp-agent dhcpagentid 列出dhcpagent 上的网络。
openstack network agent list 检查network agent
2.云平台相关
nova list --al |grep -v ACTIVE 检查虚拟机状态
cinder service-list cinder 检查
nova service-list nova 检查
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
2019-12-06 kubernetes快速入门之services, pod 的部署
2019-12-06 kubenetes 二进制部署