이 콘텐츠는 선택한 언어로 제공되지 않습니다.
Chapter 4. Removing a Node From the Overcloud
The Red Hat OpenStack Platform director (RHOSP-d) does not support the removal of a Red Hat Ceph Storage (RHCS) node automatically.
4.1. Prerequisites 링크 복사링크가 클립보드에 복사되었습니다!
- Verify there will be enough CPU and RAM to service the workloads.
- Migrate the compute workloads off of the node being removed.
-
Verify that the storage cluster has enough reserve storage capacity to maintain a status of
HEALTH_OK
.
4.2. Removing the Ceph OSD services from the storage cluster 링크 복사링크가 클립보드에 복사되었습니다!
This procedure removes the Ceph OSD services from being a member of the storage cluster.
Prerequisite
- A healthy Ceph storage cluster.
Procedure
Do the following steps on one of the Controller/Monitor nodes, and as the root
user, unless otherwise stated.
Verify the health status of the Ceph storage cluster:
ceph health
[root@controller ~]# ceph health
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The health status must be
HEALTH_OK
before continuing on with this procedure.WarningIf the
ceph health
command reports that the storage cluster isnear full
, then removing a Ceph OSD could result in exceeding or reaching the full ratio limit. This could cause data loss. If the storage cluster isnear full
, then contact Red Hat Support before proceeding.Determine the number of Ceph OSDs for removal:
ceph osd tree
[root@controller ~]# ceph osd tree
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example Output
Copy to Clipboard Copied! Toggle word wrap Toggle overflow To view the total number of OSDs up and in:
ceph osd stat
[root@controller ~]# ceph osd stat
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example Output
osdmap e173: 48 osds: 48 up, 48 in flags sortbitwise
osdmap e173: 48 osds: 48 up, 48 in flags sortbitwise
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Monitor the Ceph storage cluster from a new terminal session:
ceph -w
[root@controller ~]# ceph -w
Copy to Clipboard Copied! Toggle word wrap Toggle overflow In this terminal session, you can watch as the OSD is removed from the storage cluster. Go back to the original terminal session for the next step.
Mark the OSD out:
ceph osd out $OSD_NUM
ceph osd out $OSD_NUM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Replace…
$OSD_NUM
with the number portion of the OSD name.Example
ceph osd out 0
[root@controller ~]# ceph osd out 0 marked out osd.0.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Set all OSDs on the node to out.
NoteIf scripting this step to handle multiple OSDs sequentially, then set a
sleep
command of at least 10 seconds in between the running of eachceph osd out
command.
-
Wait for all the placement groups to become
active+clean
and the storage cluster is in aHEALTH_OK
state. You can watch the placement group migration from the new terminal session from step 3. This rebalancing of data can take some time to complete. Verify the health status of the Ceph storage cluster:
ceph health
[root@controller ~]# ceph health
Copy to Clipboard Copied! Toggle word wrap Toggle overflow From the Compute/OSD node, and as the
root
user, disable and stop all OSD daemons:systemctl disable ceph-osd.target systemctl stop ceph-osd.target
[root@osdcompute ~]# systemctl disable ceph-osd.target [root@osdcompute ~]# systemctl stop ceph-osd.target
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Remove the OSD from the CRUSH map:
ceph osd crush remove osd.$OSD_NUM
ceph osd crush remove osd.$OSD_NUM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Replace…
$OSD_NUM
with the number portion of the OSD name.Example
ceph osd crush remove osd.0
[root@controller ~]# ceph osd crush remove osd.0 removed item id 0 name 'osd.0' from crush map
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteRemoving an OSD from the CRUSH map, causes CRUSH to recompute which OSDs get the placement groups, and rebalances the data accordingly.
Remove the OSD authentication key:
ceph auth del osd.$OSD_NUM
ceph auth del osd.$OSD_NUM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Replace…
$OSD_NUM
with the number portion of the OSD name.Example
ceph osd auth del osd.0
[root@controller ~]# ceph osd auth del osd.0 updated
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Remove the OSD:
ceph osd rm $OSD_NUM
ceph osd rm $OSD_NUM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Replace…
$OSD_NUM
with the number portion of the OSD name.Example
ceph osd rm 0
[root@controller ~]# ceph osd rm 0 removed osd.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. Removing the nova compute services from the overcloud 링크 복사링크가 클립보드에 복사되었습니다!
This procedure removes the Nova compute services from being a member of the overcloud, and powers off the hardware.
Prerequisite
- Migrate any running instances to another compute node in the overcloud.
Procedure
Do the following steps on the Red Hat OpenStack Platform director (RHOSP-d) node, as the stack
user.
Verify the status of the compute node:
nova service-list
[stack@director ~]$ nova service-list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Disable the compute service:
nova service-disable $HOST_NAME nova-compute
nova service-disable $HOST_NAME nova-compute
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Replace…
$HOST_NAME
with the compute’s host name.Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Collect the Nova ID of the compute node:
openstack server list
[stack@director ~]$ openstack server list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Write down the Nova UUID, which is in the first column of the command output.
Collect the OpenStack Platform name:
heat stack-list
[stack@director ~]$ heat stack-list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Write down the
stack_name
, which is the second column of the command output.Delete the compute node by UUID from the overcloud:
openstack overcloud node delete --stack OSP_NAME NOVA_UUID
openstack overcloud node delete --stack OSP_NAME NOVA_UUID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Replace…
- OSP_NAME with the `stack_name`from the previous step.
NOVA_UUID with the Nova UUID from the previous step.
Example
openstack overcloud node delete --stack overcloud 6b2a2e71-f9c8-4d5b-aaf8-dada97c90821
[stack@director ~]$ openstack overcloud node delete --stack overcloud 6b2a2e71-f9c8-4d5b-aaf8-dada97c90821 deleting nodes [u'6b2a2e71-f9c8-4d5b-aaf8-dada97c90821'] from stack overcloud Started Mistral Workflow. Execution ID: 396f123d-df5b-4f37-b137-83d33969b52b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Verify that the compute node was removed from the overcloud:
openstack server list
[stack@director ~]$ openstack server list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If the compute node was successfully removed, then it will not be listed in the above command output.
nova service-list
[stack@director ~]$ nova service-list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The removed Nova compute node’s status will be
disabled
anddown
.Verify that Ironic has powered off the node:
openstack baremetal node list
[stack@director ~]$ openstack baremetal node list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The compute node’s power state and availability will be
power off
andavailable
respectively. Write down the Nova compute service ID, which is the value in the first column of the above command output.Remove the compute node from the
nova-compute
service from the Nova scheduler:nova service-delete COMPUTE_SERVICE_ID
nova service-delete COMPUTE_SERVICE_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Replace…
COMPUTE_SERVICE_ID with the Nova compute service ID from the previous step.
Example
nova service-delete 145
[stack@director ~]$ nova service-delete 145
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4. Addtional Resources 링크 복사링크가 클립보드에 복사되었습니다!
- The Red Hat Ceph Storage Administration Guide.