Monday, September 16, 2024

Quy trình xóa bỏ Ceph trên 1 Node của Proxmox

-

Giả sử sau khi bạn nâng cấp hệ thống xong, sẽ có vấn đề mà bạn có thể sẽ gặp phải sau khi nâng cấp hệ thống Proxmox từ phiên bản 7.x lên 8.x, cụ thể là với cụm Ceph.

  • Nâng cấp thành công ngoại trừ Ceph:
    • Bạn đã nâng cấp thành công Proxmox từ phiên bản 7.x lên 8.x, nhưng gặp vấn đề với Ceph. Điều này không quá nghiêm trọng vì bạn chỉ sử dụng Ceph để Lab, không phải cho Prod.
  • Mong muốn xóa sạch cụm Ceph và bắt đầu lại từ đầu:
    • Bạn muốn xóa toàn bộ cụm Ceph hiện tại, bao gồm tất cả các cấu hình và dữ liệu liên quan, để có thể thiết lập lại từ đầu một cách sạch sẽ.
  • Vấn đề khi xóa monitor cuối cùng:
    • Bạn đã xóa tất cả các monitors của Ceph ngoại trừ monitor cuối cùng mà bạn không thể xóa được. Bạn cũng đã xóa toàn bộ dữ liệu trên các ổ đĩa Ceph, nhưng hệ thống vẫn chưa hoàn toàn sạch sẽ như mong muốn.
  • Node cũ vẫn xuất hiện khi thiết lập lại qua wizard:
    • Mỗi khi bạn cố gắng thiết lập lại cụm Ceph qua wizard trong Proxmox, node cũ vẫn xuất hiện, cho thấy rằng một số cấu hình cũ của Ceph vẫn còn tồn tại.

Để giúp bạn làm sạch hoàn toàn cụm Ceph hiện tại và khởi động lại từ đầu, bạn có thể thực hiện các bước sau (lưu ý rằng các bước này này không khuyến nghị trong môi trường Prod):

Dừng tất cả các dịch vụ Ceph:

Chạy các lệnh sau để dừng các dịch vụ Ceph:

systemctl stop ceph-mon.target
systemctl stop ceph-mgr.target
systemctl stop ceph-mds.target
systemctl stop ceph-osd.target

Xóa các tệp cấu hình và dữ liệu liên quan đến Ceph:

Xóa các tệp cấu hình systemd:

rm -rf /etc/systemd/system/ceph*

Dừng tất cả các tiến trình Ceph còn lại:

killall -9 ceph-mon ceph-mgr ceph-mds

Xóa dữ liệu của Ceph:

rm -rf /var/lib/ceph/mon/ /var/lib/ceph/mgr/ /var/lib/ceph/mds/

Gỡ cài đặt các gói Ceph:

Chạy lệnh sau để xóa hoàn toàn các gói Ceph khỏi hệ thống:

apt purge ceph-mon ceph-osd ceph-mgr ceph-mds
apt purge ceph-base ceph-mgr-modules-core

Xóa các tệp cấu hình Ceph còn lại:

Xóa các tệp cấu hình Ceph còn lại trong hệ thống:

rm -rf /etc/ceph/*
rm -rf /etc/pve/ceph.conf
rm -rf /etc/pve/priv/ceph.*

Dưới đây là tóm tắt lại các câu lệnh ở trên.

systemctl stop ceph-mon.target
systemctl stop ceph-mgr.target
systemctl stop ceph-mds.target
systemctl stop ceph-osd.target
rm -rf /etc/systemd/system/ceph*
killall -9 ceph-mon ceph-mgr ceph-mds
rm -rf /var/lib/ceph/mon/  /var/lib/ceph/mgr/  /var/lib/ceph/mds/
pveceph purge
apt purge ceph-mon ceph-osd ceph-mgr ceph-mds
apt purge ceph-base ceph-mgr-modules-core
rm -rf /etc/ceph/*
rm -rf /etc/pve/ceph.conf
rm -rf /etc/pve/priv/ceph.*

Xóa cấu hình liên quan đến Ceph trong tệp storage.cfg:

Vấn đề tiếp theo mà bạn gặp phải với hệ thống Proxmox sau khi đã xóa cấu hình Ceph nhưng vẫn gặp lỗi khi hệ thống cố gắng tải cephfs (Ceph File System).

Jan 08 02:51:30 proxmox-node systemd[1]: Failed to mount /mnt/pve/cephfs.
Jan 08 02:51:30 proxmox-node pvestatd[978]: mount error: Job failed. See "journalctl -xe" for details.
Jan 08 02:51:40 proxmox-node pvestatd[978]: Supplied ceph config doesn't exist, /etc/pve/ceph.conf
Jan 08 02:51:40 proxmox-node systemd[1]: Reloading.
Jan 08 02:51:40 proxmox-node systemd[1]: Mounting /mnt/pve/cephfs...
Jan 08 02:51:40 proxmox-node mount[6065]: global_init: unable to open config file from search list /etc/pve/ceph.conf
Jan 08 02:51:40 proxmox-node mount[6068]: global_init: unable to open config file from search list /etc/pve/ceph.conf
Jan 08 02:51:40 proxmox-node mount[6064]: unable to determine mon addresses
Jan 08 02:51:40 proxmox-node systemd[1]: mnt-pve-cephfs.mount: Mount process exited, code=exited, status=234/n/a
Jan 08 02:51:40 proxmox-node systemd[1]: mnt-pve-cephfs.mount: Failed with result 'exit-code'.

Ý nghĩa của đoạn này:

  • Lỗi khi cố gắng gắn kết CephFS:
    • Trong log, hệ thống gặp lỗi khi cố gắng gắn kết CephFS (Ceph File System) vào đường dẫn /mnt/pve/cephfs. Hệ thống không thể tìm thấy tệp cấu hình Ceph (/etc/pve/ceph.conf) và không thể xác định địa chỉ của các monitor Ceph (mon addresses).
  • Hệ thống vẫn cố gắng gắn kết CephFS:
    • Mặc dù bạn đã thực hiện các bước để xóa Ceph khỏi hệ thống, hệ thống vẫn tiếp tục cố gắng gắn kết CephFS, dẫn đến việc ghi nhận lỗi liên tục trong log.
  • Giải pháp:
    • Để khắc phục lỗi này, bạn cần tìm tệp cấu hình /etc/pve/storage.cfg và xóa các mục cấu hình liên quan đến Ceph trong đó.
    • Cụ thể, bạn cần xóa các dòng cấu hình có chứa rbd: (liên quan đến Ceph RBD – RADOS Block Device) và cephfs: (liên quan đến Ceph File System) để hệ thống không còn cố gắng gắn kết các thành phần Ceph nữa.
dir: local
        path /var/lib/vz
        content backup,iso,vztmpl

lvmthin: local-lvm
        thinpool data
        vgname pve
        content images,rootdir

rbd: ceph-pool
        content rootdir,images
        krbd 0
        pool ceph-pool

cephfs: cephfs
        path /mnt/pve/cephfs
        content vztmpl,backup,iso
        fs-name cephfs

Sau khi thực hiện điều này, Proxmox sẽ ngừng cố gắng gắn kết CephFS và lỗi trong log sẽ không còn xuất hiện nữa.

Xóa các cấu hình LVM liên quan đến Ceph:

  • Xóa các logical volumes (LV) liên quan đến Ceph:
lvremove -y /dev/ceph*

Xóa volume group (VG) liên quan đến Ceph:

vgremove -y ceph-<press-tab-for-bash-completion>

Xóa physical volumes (PV) liên quan đến Ceph:

pvremove /dev/nvme1n1

Nếu bạn vẫn gặp lỗi khi khởi động lại, như không thể gắn kết CephFS hoặc thấy thông báo lỗi liên quan đến Ceph, hãy kiểm tra các tệp cấu hình và log như /etc/pve/storage.cfg và xóa các mục liên quan đến Ceph. Sau đó, khởi động lại hệ thống để đảm bảo mọi thứ đã được gỡ bỏ hoàn toàn.

Hy vọng hướng dẫn này giúp bạn xóa sạch cụm Ceph hiện tại và khởi động lại từ đầu một cách suôn sẻ!

Sau khi bạn đã xóa các thành phần trên của Ceph, vẫn có thể còn lại các cấu hình liên quan đến LVM (Logical Volume Manager) trong hệ thống. Cụ thể:

  • lvremove: Lệnh này dùng để xóa các logical volumes (LV) và cho phép sử dụng globbing/wildcards trong bash. Điều này có nghĩa là bạn có thể sử dụng ký tự đại diện như * để xóa nhiều LV cùng lúc. Ví dụ, bạn có thể dùng lvremove -y /dev/ceph* để xóa tất cả các logical volumes bắt đầu bằng “ceph”.
  • vgremove: Lệnh này dùng để xóa volume groups (VG). Nó không hỗ trợ wildcards nhưng bạn có thể sử dụng tính năng bash completion (ấn Tab) để tự động hoàn thành tên của volume group khi bạn gõ lệnh. Ví dụ, bạn bắt đầu gõ vgremove ceph-, sau đó nhấn Tab để tự động hoàn thành tên của volume group.
  • pvremove: Lệnh này dùng để xóa physical volumes (PV). Tuy nhiên, lệnh này không hỗ trợ globbing/wildcards hoặc bash completion, vì vậy bạn phải cẩn thận chọn đúng disk mà bạn muốn xóa. Bạn cần kiểm tra và đảm bảo rằng bạn đang xóa đúng PV để tránh xóa nhầm các dữ liệu quan trọng khác.
lvremove -y /dev/ceph*
vgremove -y ceph-<press-tab-for-bash-completion>
pvremove /dev/nvme1n1

Bạn cần cẩn thận hơn khi sử dụng pvremove vì lệnh này yêu cầu bạn chỉ định chính xác đĩa mà bạn muốn xóa, trong khi các lệnh khác có thể giúp bạn tiết kiệm thời gian với wildcards hoặc bash completion.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories