节点伸缩
支持收缩或者扩展的节点类型
节点类型 | 扩展? | 收缩? | 备注 |
---|---|---|---|
Controller | N | N | 一旦部署完成,控制节点不支持收缩或者扩展。 |
Compute | Y | Y | |
Ceph Storage Nodes | Y | Y | 在部署时至少有一个ceph节点时,才支持扩展。 |
Block Storage Nodes | N | N | 一旦部署完成,Cinder节点不支持收缩或者扩展。 |
Object Storage Nodes | Y | Y |
增加计算节点
注意! 本章节不讨论自定义的计算节点的伸缩,仅仅针对默认计算节点的伸缩展开讨论。
如何新增计算节点:
- 收集硬件信息,编写节点配置文件。
- 导入节点配置。
- introspection 新增节点。
- 定义新增节点的根磁盘
- 定义新增节点的capability。
- 修改ComputeCount
- 执行openstack overcloud deploy
收集硬件信息
我们需要收集每一个新增节点的PXE网卡的MAC地址,然后定义新增节点的配置文件。
新增节点的json文件
newnode.json
{
"nodes": [
{
"pm_user": "root",
"arch": "x86_64",
"name": "10.0.10.126_compute",
"pm_addr": "10.0.10.126",
"pm_password": "PQ79ISF7ha7G",
"pm_type": "pxe_ipmitool",
"mac": [
"24:6E:96:06:2E:05"
],
"cpu": "32",
"memory": "8192",
"disk": "599"
}
]
}
导入节点配置
$ openstack baremetal import newnode.json
introspection 新增节点
$ openstack baremetal node manage <NODE UUID>
$ openstack overcloud node introspect <NODE UUID> --provide
定义新增节点的根磁盘
查看新增加点的磁盘信息,找出定义类型的参数,比如name 或者 wwn
openstack baremetal introspection data save <NODE UUID> | jq ".inventory.disks"
[
{
"size": 500107862016,
"rotational": false,
"vendor": "ATA",
"name": "/dev/sda",
"wwn_vendor_extension": null,
"wwn_with_extension": "0x5002538da029699b",
"model": "Samsung SSD 850",
"wwn": "0x5002538da029699b",
"serial": "5002538da029699b"
}
]
比如这里使用wwn定义跟磁盘:
#wwn
ironic node-update $i add properties/root_device=properties/root_device='{"wwn": "xxx"}'
定义新增节点的类型
ironic node-update <NODE-UUID> add properties/capabilities='profile:compute,boot_option:local'
修改部署environment中,计算节点的数量
原始base-environment.yaml
parameter_defaults:
ControllerCount: 3
ComputeCount: 2
OvercloudControlFlavor: control
OvercloudComputeFlavor: compute
NtpServer: 0.pool.ntp.org
NeutronEnableIsolatedMetadata: true
修改后base-environment.yaml
parameter_defaults:
ControllerCount: 3
ComputeCount: 3
OvercloudControlFlavor: control
OvercloudComputeFlavor: compute
NtpServer: 0.pool.ntp.org
NeutronEnableIsolatedMetadata: true
注意!扩展节点的时候需要使用部署时所有的参数,如果缺了哪一个环境参数,在更新stack时可能会失败。所以,在一个stack第一次部署完成之后或者使用tripleO变更之后,就把你的部署脚本录入版本控制库是一个很好的习惯,这样可以对你们的overcloud进行有效的版本控制。
删除计算节点
如何删除计算节点:
- 禁用被删除节点 nova service。
- 迁移被删除计算节点中的instance。
- 删除它的 nova service
- 删除它的 neutron-agent
- 在 undercloud中,查询stack 名称
$ heat stack-list
在undercloud中,查询要删除的nova compute 节点的UUID
openstack overcloud node delete --stack [STACK_UUID] --templates \
-e [ENVIRONMENT_FILE] [NODE1_UUID] [NODE2_UUID] [NODE3_UUID]
在删除节点时需要使用和部署时一样的environment参数(e.g. -e 或者 —environment-file)。不需要其他的参数。
在删除nova-service
$ source ~/stack/overcloudrc
$ nova service-delete [service-id]
$ source ~/stack/stackrc
删除nuetro agent
$ source ~/stack/overcloudrc
$ neutron agent-list
$ neutron agent-delete [openvswitch-service-id]
$ source ~/stack/stackrc
参考
当前内容版权归 UnitedStack 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 UnitedStack .