Gỡ bỏ OSD bị hỏng hoàn toàn trong Ceph Cluster

1. Tổng quan

Trong quá trình vận hành Ceph, việc xử lý các OSD (Object Storage Daemon) bị hỏng là tình huống thường xuyên xảy ra. Các OSD hỏng hoàn toàn (mất khả năng truy cập, ổ đĩa cháy, phân vùng mất hoàn toàn…) cần được gỡ khỏi cluster để Ceph tiếp tục hoạt động ổn định, không gây ảnh hưởng đến khả năng truy xuất dữ liệu.

Bài viết này hướng dẫn chi tiết quy trình gỡ bỏ một OSD bị hỏng hoàn toàn trong Ceph sử dụng cephadm, có minh họạ minh hoà, lời khuyên, để bạn có thể áp dụng trong thực tế.

2. Khi nào cần dùng quy trình này?

Chỉ áp dụng khi OSD bị hỏng hoàn toàn

  • OSD không thể start lại.
  • Ceph báo down, lost, incomplete, hoặc không tồn tại vật lý.

KHÔNG áp dụng khi muốn thay ổ mới do hết khấu hao.

Trường hợp này dùng quy trình gỡ theo quy trình an toàn, bỏ qua không sử dụng ceph osd lost.

3. Sơ đồ

Sơ đồ cluster

                +-------------------------------+
                |         Ceph Cluster          |
                +-------------------------------+
                            |
        +-------------------+-------------------+
        |                                       |
 +---------------+                     +----------------+
 |   MON/MGR     |                     |     OSD Nodes   |
 |   Nodes       |                     |   (Lưu trữ dữ liệu)  |
 +---------------+                     +----------------+
        |                                       |
+------------------------+         +---------------------------+
| CEPH-LAB-MON-071       |         | CEPH-LAB-OSD-074 (osd)     |
| IP: 10.237.7.71        |         | IP: 10.237.7.74            |
| Roles: _admin, mon,    |         +---------------------------+
|         mgr, osd       |         
+------------------------+         +---------------------------+
| CEPH-LAB-MON-072       |         | CEPH-LAB-OSD-075 (osd)     |
| IP: 10.237.7.72        |         | IP: 10.237.7.75            |
| Roles: _admin, mon,    |         +---------------------------+
|         mgr, osd       |
+------------------------+         +---------------------------+
| CEPH-LAB-MON-073       |         | CEPH-LAB-OSD-076 (osd)     |
| IP: 10.237.7.73        |         | IP: 10.237.7.76            |
| Roles: _admin, mon,    |         +---------------------------+
|         mgr, osd       |
+------------------------+
  • Các node MON đồng thời là MGR và cũng có cài OSD.
  • Các node CEPH-LAB-OSD-074 → 076 chỉ có vai trò là node lưu trữ (osd-only).
  • _admin label chỉ rõ node đó có thể thực hiện các thao tác quản trị cluster (qua cephadm).

Sơ đồ quy trình.

+------------------+
|  osd.X hỏng hoàn toàn |
+------------------+
         |
         v
[1] ceph osd out X
         |
         v
[2] systemctl stop + podman verify
         |
         v
[3] ceph osd lost X --yes-i-really-mean-it
         |
         v
[4] ceph osd crush remove osd.X
         |
         v
[5] ceph osd rm X
         |
         v
[6] ceph auth del osd.X
         |
         v
[7] ceph orch daemon rm osd.X --force

4. Cùng review cluster trước khi lab.

Check status cluster.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph -s

  cluster:
    id:     75ac298c-0653-11f0-a2e7-2b96c52a296a
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum CEPH-LAB-MON-071,CEPH-LAB-MON-073,CEPH-LAB-MON-072 (age 3w)
    mgr: CEPH-LAB-MON-072.agtskh(active, since 3w), standbys: CEPH-LAB-MON-071.lyxipt, CEPH-LAB-MON-073.holphb
    osd: 55 osds: 55 up (since 5d), 55 in (since 3w)

  data:
    pools:   1 pools, 1 pgs
    objects: 2 objects, 449 KiB
    usage:   35 GiB used, 515 GiB / 550 GiB avail
    pgs:     1 active+clean

Danh sách host

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph orch host ls
HOST              ADDR         LABELS              STATUS
CEPH-LAB-MON-071  10.237.7.71  _admin,mon,mgr,osd
CEPH-LAB-MON-072  10.237.7.72  _admin,mon,mgr,osd
CEPH-LAB-MON-073  10.237.7.73  _admin,mon,mgr,osd
CEPH-LAB-OSD-074  10.237.7.74  osd
CEPH-LAB-OSD-075  10.237.7.75  osd
CEPH-LAB-OSD-076  10.237.7.76  osd
6 hosts in cluster

Danh sách OSD

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph osd tree
ID   CLASS  WEIGHT    TYPE NAME                  STATUS  REWEIGHT  PRI-AFF
 -1         92.54982  root ssd-01
 -9         15.29997      host CEPH-LAB-MON-071
 12    ssd   1.70000          osd.12                 up   1.00000  1.00000
 15    ssd   1.70000          osd.15                 up   1.00000  1.00000
 20    ssd   1.70000          osd.20                 up   1.00000  1.00000
 25    ssd   1.70000          osd.25                 up   1.00000  1.00000
 30    ssd   1.70000          osd.30                 up   1.00000  1.00000
 35    ssd   1.70000          osd.35                 up   1.00000  1.00000
 40    ssd   1.70000          osd.40                 up   1.00000  1.00000
 45    ssd   1.70000          osd.45                 up   1.00000  1.00000
 50    ssd   1.70000          osd.50                 up   1.00000  1.00000
-13         15.29997      host CEPH-LAB-MON-072
 13    ssd   1.70000          osd.13                 up   1.00000  1.00000
 17    ssd   1.70000          osd.17                 up   1.00000  1.00000
 23    ssd   1.70000          osd.23                 up   1.00000  1.00000
 28    ssd   1.70000          osd.28                 up   1.00000  1.00000
 33    ssd   1.70000          osd.33                 up   0.95001  1.00000
 38    ssd   1.70000          osd.38                 up   1.00000  1.00000
 43    ssd   1.70000          osd.43                 up   1.00000  1.00000
 48    ssd   1.70000          osd.48                 up   1.00000  1.00000
 53    ssd   1.70000          osd.53                 up   1.00000  1.00000
 -7         15.29997      host CEPH-LAB-MON-073
  9    ssd   1.70000          osd.9                  up   1.00000  1.00000
 18    ssd   1.70000          osd.18                 up   0.95001  1.00000
 22    ssd   1.70000          osd.22                 up   1.00000  1.00000
 27    ssd   1.70000          osd.27                 up   1.00000  1.00000
 32    ssd   1.70000          osd.32                 up   1.00000  1.00000
 36    ssd   1.70000          osd.36                 up   0.95001  1.00000
 41    ssd   1.70000          osd.41                 up   1.00000  1.00000
 46    ssd   1.70000          osd.46                 up   1.00000  1.00000
 51    ssd   1.70000          osd.51                 up   1.00000  1.00000
 -3         13.59998      host CEPH-LAB-OSD-074
  0    ssd   1.70000          osd.0                  up   1.00000  1.00000
  1    ssd   1.70000          osd.1                  up   0.95001  1.00000
  2    ssd   1.70000          osd.2                  up   1.00000  1.00000
  3    ssd   1.70000          osd.3                  up   1.00000  1.00000
  4    ssd   1.70000          osd.4                  up   1.00000  1.00000
  5    ssd   1.70000          osd.5                  up   1.00000  1.00000
  6    ssd   1.70000          osd.6                  up   1.00000  1.00000
  7    ssd   1.70000          osd.7                  up   1.00000  1.00000
-11         15.29997      host CEPH-LAB-OSD-075
 10    ssd   1.70000          osd.10                 up   1.00000  1.00000
 16    ssd   1.70000          osd.16                 up   1.00000  1.00000
 21    ssd   1.70000          osd.21                 up   1.00000  1.00000
 26    ssd   1.70000          osd.26                 up   1.00000  1.00000
 31    ssd   1.70000          osd.31                 up   1.00000  1.00000
 37    ssd   1.70000          osd.37                 up   1.00000  1.00000
 42    ssd   1.70000          osd.42                 up   1.00000  1.00000
 47    ssd   1.70000          osd.47                 up   1.00000  1.00000
 52    ssd   1.70000          osd.52                 up   1.00000  1.00000
 -5         17.74995      host CEPH-LAB-OSD-076
  8    ssd   1.64999          osd.8                  up   1.00000  1.00000
 11    ssd   1.39999          osd.11                 up   1.00000  1.00000
 14    ssd   1.39999          osd.14                 up   1.00000  1.00000
 19    ssd   1.70000          osd.19                 up   1.00000  1.00000
 24    ssd   1.70000          osd.24                 up   1.00000  1.00000
 29    ssd   1.39999          osd.29                 up   1.00000  1.00000
 34    ssd   1.70000          osd.34                 up   1.00000  1.00000
 39    ssd   1.70000          osd.39                 up   1.00000  1.00000
 44    ssd   1.70000          osd.44                 up   1.00000  1.00000
 49    ssd   1.70000          osd.49                 up   1.00000  1.00000
 54    ssd   1.70000          osd.54                 up   1.00000  1.00000

5. Quy trình gỡ 1 OSD, ví dụ osd.8.

Bước 1: Mark OSD ra khỏi cluster và xác minh kết quả.

ceph osd out <osd_id>

Ví dụ

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph osd out 8
marked out osd.8.

Xác minh lại kết quả.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph osd tree | grep osd.8
  8    ssd         0          osd.8                down         0  1.00000

Bước 2: Stop OSD daemon

systemctl stop ceph-<cluster_id>@osd.<id>.service

Ví dụ ở lab này, bạn cần SSH sang node CEPH-LAB-OSD-076 đang chứa osd.8, check status OSD.

root@CEPH-LAB-OSD-076:~# systemctl status ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service
● ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service - Ceph osd.8 for 75ac298c-0653-11f0-a2e7-2b96c52a296a
     Loaded: loaded (/etc/systemd/system/ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2025-04-24 16:01:51 +07; 2 months 0 days ago
   Main PID: 1697059 (conmon)
      Tasks: 79 (limit: 9392)
     Memory: 648.1M
        CPU: 4h 24min 8.483s
     CGroup: /system.slice/system-ceph\x2d75ac298c\x2d0653\x2d11f0\x2da2e7\x2d2b96c52a296a.slice/ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service
             ├─libpod-payload-cafbb2816c71d4d58bc5f5a87ef6fcc2b2c63028aca8264055a70e6f3923077b
             │ ├─1697063 /dev/init -- /usr/bin/ceph-osd -n osd.8 -f --setuser ceph --setgroup ceph --default-log-to-file=false --default-log-to-journald=true --default-log-to-stderr=false
             │ └─1697066 /usr/bin/ceph-osd -n osd.8 -f --setuser ceph --setgroup ceph --default-log-to-file=false --default-log-to-journald=true --default-log-to-stderr=false
             └─supervisor
               └─1697059 /usr/bin/conmon --api-version 1 -c cafbb2816c71d4d58bc5f5a87ef6fcc2b2c63028aca8264055a70e6f3923077b -u cafbb2816c71d4d58bc5f5a87ef6fcc2b2c63028aca8264055a70e6f3923077b -r /usr/bin/crun -b /var/lib/containers/storage/overlay-containers/cafbb2816c7>

Bạn cũng có thể check qua podman

root@CEPH-LAB-OSD-076:~# podman ps -a
CONTAINER ID  IMAGE                                                                                               COMMAND               CREATED        STATUS            PORTS       NAMES
c8d05f66ac9e  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.14 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-14
bdd2e8f078a8  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.54 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-54
baa838967755  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.24 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-24
a1123e7933ea  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.19 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-19
dbf5ac1766ac  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.49 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-49
511cd981a587  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.29 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-29
aa6ff5cb8d81  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.44 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-44
2d37cc03119a  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.11 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-11
8cebc31d2b90  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.34 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-34
e544461880c9  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.39 -f --se...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-39
5190770a7e90  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.8 -f --set...  2 months ago   Up 2 months ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-8
6e4895fed3a1  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n client.crash.C...  11 days ago    Up 11 days ago                ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-crash-CEPH-LAB-OSD-076
d0f34489f70b  10.237.7.74:5000/prometheus/node-exporter:v1.5.0  

Sử dụng systemctl để stop osd.8

systemctl stop ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service

Xác minh osd.8 đã stop

root@CEPH-LAB-OSD-076:~# systemctl status ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service
× ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service - Ceph osd.8 for 75ac298c-0653-11f0-a2e7-2b96c52a296a
     Loaded: loaded (/etc/systemd/system/ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Tue 2025-06-24 14:16:13 +07; 6s ago
    Process: 903391 ExecStartPre=/bin/rm -f /run/ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service-pid /run/ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service-cid (code=exited, status=0/SUCCESS)
    Process: 903392 ExecStart=/bin/bash /var/lib/ceph/75ac298c-0653-11f0-a2e7-2b96c52a296a/osd.8/unit.run (code=exited, status=0/SUCCESS)
    Process: 905941 ExecStop=/bin/bash -c bash /var/lib/ceph/75ac298c-0653-11f0-a2e7-2b96c52a296a/osd.8/unit.stop (code=exited, status=0/SUCCESS)
    Process: 906104 ExecStopPost=/bin/bash /var/lib/ceph/75ac298c-0653-11f0-a2e7-2b96c52a296a/osd.8/unit.poststop (code=exited, status=0/SUCCESS)
    Process: 906996 ExecStopPost=/bin/rm -f /run/ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service-pid /run/ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a@osd.8.service-cid (code=exited, status=0/SUCCESS)
   Main PID: 903953 (code=exited, status=143)
        CPU: 3.472s

Lúc này check podman thì container chạy osd.8 cũng sẽ bị xóa

root@CEPH-LAB-OSD-076:~# podman ps -a
CONTAINER ID  IMAGE                                                                                               COMMAND               CREATED       STATUS           PORTS       NAMES
c8d05f66ac9e  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.14 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-14
bdd2e8f078a8  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.54 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-54
baa838967755  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.24 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-24
a1123e7933ea  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.19 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-19
dbf5ac1766ac  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.49 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-49
511cd981a587  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.29 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-29
aa6ff5cb8d81  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.44 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-44
2d37cc03119a  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.11 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-11
8cebc31d2b90  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.34 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-34
e544461880c9  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n osd.39 -f --se...  2 months ago  Up 2 months ago              ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-osd-39
6e4895fed3a1  10.237.7.74:5000/ceph/ceph@sha256:479f0db9298e37defcdedb1edb8b8db25dd0b934afd6b409d610a7ed81648dbc  -n client.crash.C...  11 days ago   Up 11 days ago               ceph-75ac298c-0653-11f0-a2e7-2b96c52a296a-crash-CEPH-LAB-OSD-076
d0f34489f70b  10.237.7.74:5000/prometheus/node-exporter:v1.5.0  

Bước 3: Đánh dấu OSD bị mất

Gỡ OSD ra khỏi bản đồ crush map, cập nhật trạng thái OSD là lost. Sau lệnh này cluster sẽ bắt đầu quá trình khôi phục dữ liệu (recovery/rebalance) từ các bản sao còn lại (nếu đủ replica).

Đây là một action nguy hiểm và không thể đảo ngược, nên cần được dùng cực kỳ thận trọng.

ceph osd lost <id> --yes-i-really-mean-it

Ví dụ.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph osd lost 8 --yes-i-really-mean-it
marked osd lost in epoch 11519

Lưu ý: Cẩn rất chắc chắn OSD đã hỏng hoàn toàn vì dữ liệu trên đó sẽ không được truy hồi lại.

Xác minh đã gỡ OSD ra khỏi bản đồ crush map.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph osd dump | grep "^osd.8"
osd.8 down out weight 0 up_from 10230 up_thru 11495 down_at 11519 last_clean_interval [7889,10229) lost_at 11519 [v2:10.237.7.76:6864/2224030417,v1:10.237.7.76:6865/2224030417] [v2:10.237.7.76:6882/2241030417,v1:10.237.7.76:6883/2241030417] exists 3e0faa8e-1651-4250-a892-2edc5c96b172

Lúc này check cluster status bạn cũng đã thấy có cảnh báo warning 1 daemon.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph -s
  cluster:
    id:     75ac298c-0653-11f0-a2e7-2b96c52a296a
    health: HEALTH_WARN
            1 failed cephadm daemon(s)

  services:
    mon: 3 daemons, quorum CEPH-LAB-MON-071,CEPH-LAB-MON-073,CEPH-LAB-MON-072 (age 3w)
    mgr: CEPH-LAB-MON-072.agtskh(active, since 3w), standbys: CEPH-LAB-MON-071.lyxipt, CEPH-LAB-MON-073.holphb
    osd: 55 osds: 54 up (since 7m), 54 in (since 3m)

  data:
    pools:   1 pools, 1 pgs
    objects: 2 objects, 449 KiB
    usage:   35 GiB used, 505 GiB / 540 GiB avail
    pgs:     1 active+clean

Ceph health detail bạn sẽ thấy chi tiết hơn.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph health detail
HEALTH_WARN 1 failed cephadm daemon(s)
[WRN] CEPHADM_FAILED_DAEMON: 1 failed cephadm daemon(s)
    daemon osd.8 on CEPH-LAB-OSD-076 is in error state

Bước 4: Xóa khỏi crush map

  • Xóa OSD.8 khỏi CRUSH map (bản đồ phân phối dữ liệu).
  • Ngăn Ceph phân phối dữ liệu mới đến OSD.8.
  • Bước này thường làm sau khi đánh dấu OSD là lost.
ceph osd crush remove osd.<id>

Ví dụ.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph osd crush remove osd.8
removed item id 8 name 'osd.8' from crush map

Verify bằng lệnh dưới, nếu không có dòng nào, nghĩa là osd.8 đã bị xóa khỏi CRUSH map thành công.

ceph osd crush tree | grep osd.8

Bước 5: Xóa khỏi OSD map

  • Xóa OSD.8 khỏi danh sách OSD của cluster (khỏi OSD map).
  • Tránh Ceph tiếp tục theo dõi hay log cảnh báo về OSD.8.
  • Hoàn tất việc loại bỏ vĩnh viễn OSD.8 khỏi Ceph sau khi:
    • Đã đánh dấu lost
      • Đã xóa khỏi CRUSH map
ceph osd rm <id>

Ví dụ.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph osd rm 8
removed osd.8

Chạy lệnh dưới nếu không có kết quả, tức là OSD.8 đã bị xóa hoàn toàn khỏi cluster.

ceph osd dump | grep osd.8

Qua bước này osd.8 đã không còn trong danh sách OSDs đang hoạt động

 -5         16.09996      host CEPH-LAB-OSD-076
 11    ssd   1.39999          osd.11                 up   1.00000  1.00000
 14    ssd   1.39999          osd.14                 up   1.00000  1.00000
 19    ssd   1.70000          osd.19                 up   1.00000  1.00000
 24    ssd   1.70000          osd.24                 up   1.00000  1.00000
 29    ssd   1.39999          osd.29                 up   1.00000  1.00000
 34    ssd   1.70000          osd.34                 up   1.00000  1.00000
 39    ssd   1.70000          osd.39                 up   1.00000  1.00000
 44    ssd   1.70000          osd.44                 up   1.00000  1.00000
 49    ssd   1.70000          osd.49                 up   1.00000  1.00000
 54    ssd   1.70000          osd.54                 up   1.00000  1.00000

Bước 6: Xóa keyring auth

  • Xóa keyring (thông tin xác thực) của osd.8 khỏi hệ thống Ceph.
  • Là bước cuối cùng khi gỡ bỏ OSD.
  • Xóa quyền truy cập và thông tin auth liên quan đến OSD.8 (trong ceph auth list).
  • Giúp hệ thống gọn gàng, tránh dư thừa auth không dùng nữa.
ceph auth del osd.<id>

Ví dụ.

ceph auth del osd.8

Chạy lệnh dưới, nếu trả về lỗi kiểu couldn't find key for osd.8 là đã xóa thành công.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph auth get osd.8
Error ENOENT: failed to find osd.8 in keyring

Bước 7: Xóa daemon (Cephadm)

  • Gỡ bỏ OSD.8 khỏi host và xóa daemon OSD.8 do Ceph Orchestrator (cephadm) quản lý.
  • Gỡ hoàn toàn daemon OSD.8 ra khỏi node (dù nó đang down hoặc lỗi).
  • Thường là bước cuối cùng trong quy trình xóa OSD, sau khi:
    • Đánh dấu lost
    • Gỡ khỏi CRUSH map
    • Gỡ khỏi OSD map (osd rm)
    • Gỡ auth
ceph orch daemon rm osd.<id> --force

Ví dụ.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph orch daemon rm osd.8 --force
Removed osd.8 from host 'CEPH-LAB-OSD-076'

Lệnh này là bước dọn dẹp vật lý/cuối cùng giúp cluster không còn chạy/thấy OSD.8 nữa cả về logic lẫn triển khai. Nếu không có dòng nào → daemon OSD.8 đã bị xóa thành công.

ceph orch ps | grep osd.8

Cùng verify lại cluster nhé.

root@CEPH-LAB-MON-071:/home/hoanghd3# ceph -s
  cluster:
    id:     75ac298c-0653-11f0-a2e7-2b96c52a296a
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum CEPH-LAB-MON-071,CEPH-LAB-MON-073,CEPH-LAB-MON-072 (age 3w)
    mgr: CEPH-LAB-MON-072.agtskh(active, since 3w), standbys: CEPH-LAB-MON-071.lyxipt, CEPH-LAB-MON-073.holphb
    osd: 54 osds: 54 up (since 29m), 54 in (since 25m)

  data:
    pools:   1 pools, 1 pgs
    objects: 2 objects, 449 KiB
    usage:   35 GiB used, 505 GiB / 540 GiB avail
    pgs:     1 active+clean

6. Kết luận

Quy trình gỡ OSD bị hỏng hoàn toàn trong Ceph yêu cầu người vận hành phải đánh giá kỹ trước khi thao tác, vì nó đồng nghĩa với việc xóa vĩnh viễn 1 node dữ liệu.

Hãy luôn chắc chắn:

  • Đã không thể truy cập được OSD.
  • Ceph vẫn đảm bảo tối thiểu 2 replica còn lại.

Việc xử lý bài bản như trên sẽ giúp hệ thống hoạt động ổn định, dễ bảo trì và đạt chuẩn production-ready.

Bài viết gần đây

spot_img

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

Đăng ký nhận thông tin bài viết qua email