虚拟机扩容/创建虚拟机、添加网卡,安全组
虚拟机扩容需求:
将8c16g 扩容成16c32g,
方法1:
Openstack port list|grep 11.120.74.45 # 查看虚拟机portid
Openstack port show <port_ID> # 将信息复制出,保存这台虚机的port信息避免VIP被释放而不知
Nova list|grep 11.120.74.45 #找出虚机ID
Nova show <vm_id> 查看虚拟机详细信息。# 将信息复制出来为迁移后对比做准备
nova hypervisor-list | grep <node_name> # 查出虚机对应的计算节点的hypervisor-id
nova hypervisor-show <hypervisor-id> # 查看计算节点内存CPU容量是否满足此次扩容规格
nova flavor-list # 查询变更规格列表是否有要求的规格没有则创建
nova flavor-create --is-public true <规格名称> auto <内存(MB)> 0 <cpu个数> # 创建虚机规格
开始扩容:
nova resize <vm_id> <flavor_id> # 确认实例id状态是 VERIFY_RESIZE 在执行下一步
nova resize-confirm <vm_id> # 确认命令,不执行,上一步扩容不生效
注:如果扩容时宿主机(计算节点)发生了自动迁移可能原因为:
1,本机内存或CPU不满足
2,当前扩容规格不符合宿主机的NUMA 配置
出现宿主机自动迁移应立即迁回本原宿主机
nova migrate <server-id> --host <host> # 如果执行报错,可以尝试多执行几次 因为原宿主机NUMA可能会重新分配
迁移回原宿主机后同样要执行
nova resize-confirm <vm_id> # 确认命令
方法二:
1.切换租户创建虚拟机(openstack project list)
2.确认需要创建的虚拟机信息。(openstack server show vmid 查看需要查看相应port信息)
3.nova stop 原虚拟机&&nova delete vmid (需要确认磁盘删除是否随虚拟机一起删除 nova show vm|grep cipanid)
4.确认原虚拟机磁盘状态为avaliable
5.创建虚拟机&&添加数据盘
6.查看数据盘状态in-use && 重启虚拟机为active
用到的命令:
创建系统盘
cinder create --name test --image-id {imageid} --volume-type FT_HX-huawei-u1az4-ssd1 --availability-zone fthxaz004 150
创建虚拟机
nova boot --boot-volume {systemid} --flavor {flavorid} --nic net-id={netid},v4-fixed-ip={ip} --availability-zone fthxaz004:fthxaz004com015 {vmname}
创建数据盘
cinder create --name test --volume-type FT_HX-huawei-u1az4-ssd1 --availability-zone fthxaz004 500
添加数据盘
nova volume-attach <虚拟机id> <数据盘id>
添加第二块网卡
nova interface-attach --net-id <net_id> --fixed-ip <ip> <vmid>
给网卡添加vip
openstack port create --network <networkid> --fixed-ip ip-address=192.168.1.100 vip port
openstack server add port <vmid> <portid>
neutron port-update <port_id> --allowed-address-pairs type=dict list=true ip_address=<vip> ip_address=<vip2>
虚拟机添加多个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放行操作;
安全组
特殊4号协议
neutron security-group-rule-create --tenant-id fb03322235e54ce081df409be2b2b1b7(租户id) --direction ingress --ethertype IPv4 --protocol 4 --port-range-min 1 --port-range-max 65535 --remote-ip-prefix 0.0.0.0/0 58c73d95-7564-4af4-a51f-189ebfdcae9c(安全组id)
neutron security-group-rule-create --tenant-id fb03322235e54ce081df409be2b2b1b7(租户id) --direction egress --ethertype IPv4 --protocol 4 --port-range-min 1 --port-range-max 65535 --remote-ip-prefix 0.0.0.0/0 58c73d95-7564-4af4-a51f-189ebfdcae9c(安全组id)
特殊vrrp协议
neutron security-group-rule-create --tenant-id fb03322235e54ce081df409be2b2b1b7(租户id) --direction ingress --ethertype IPv4 --protocol 112 --port-range-min 1 --port-range-max 65535 --remote-ip-prefix 0.0.0.0/0 58c73d95-7564-4af4-a51f-189ebfdcae9c(安全组id)
neutron security-group-rule-create --tenant-id fb03322235e54ce081df409be2b2b1b7(租户id) --direction egress --ethertype IPv4 --protocol 112 --port-range-min 1 --port-range-max 65535 --remote-ip-prefix 0.0.0.0/0 58c73d95-7564-4af4-a51f-189ebfdcae9c(安全组id)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏