Cluster gặp tình trạng died unexpectedly liên tục tại log cluster.

Trong quá trình sử dụng, việc thay đổi các Chunk và CS liên tục có thể gây ra một số lỗi bất tiện như thông tin log bên dưới.

Pstorage –c <clustername> top

MON ERR MDS# died unexpectedly (122): Can't load MDS id
MON ERR MDS# died unexpectedly (122): Can't load MDS id

Hoặc

MON ERR CS# died unexpectedly (122): csd: could not lock repository
MON ERR CS# died unexpectedly (122): csd: could not lock repository

Hoặc

MON ERR MDS# died unexpectedly (1)
MON ERR MDS# died unexpectedly (1)

Các lỗi bên trên sẽ xuất hiện liên tục mội 30s, tuy nhiên các dịch vụ CS và MDS không bị ảnh hưởng, chúng vẫn hoạt động bình thường.

Nguyên nhân

Nguyên nhân ở đây là service pstorage-monitor đang vẫn còn monitor trên các ID của các MDS hoặc CS đã bị xóa, tuy nhiên các pstorage-monitor này không tự động xác định được điều đó, chúng không thể tự shutdown và rơi vào tình trạng unknown. Trong trường hợp này service pstorage-monitor sẽ cố restart lại service mà monitor xem là bị failed, tuy nhiên do dịch vụ MDS và CS đã bị xóa bên service monitor sẽ trả lại mã như bên trên.

Giải pháp

Giải pháp ở đây là tìm các servie monitor đang monitor trên các  MDS và CS đã bị xóa và kill chúng.

Việc này sẽ thực hiện trên từng Node để tìm ra các service gặp vấn đề.

Dưới đây là tình trạng bình thường của service monitor khi monitor trên 1 CS bình thường.

# ps fax | grep /usr/libexec/pstorage/monitor -A1

...

9625 ?        S      0:00 /bin/sh /usr/libexec/pstorage/monitor

9628 ?        Sl    15:55  \_ /usr/bin/csd -r /pstorage/pcs-bsh-cs/data -l /pstorage/pcs-bsh-cs/data/logs/cs.log.gz -u pstorage

...


Tình trạng bình thường của service monitor khi monitor trên 1 MDS bình thường.
# ps fax | grep /usr/libexec/pstorage/monitor -A1

...

128717 pts/0    S      0:00 /bin/sh /usr/libexec/pstorage/monitor
128720 pts/0    Sl     0:02  \_ /usr/bin/mdsd -r /pstorage/ssd1/mds/data -l /pstorage/ssd1/mds/data/logs/mds.log.gz -u pstorage

...

Dưới đây là tình trạng lỗi của service monitor khi monitor trên 1 CS đã “chết”.

# ps fax | grep /usr/libexec/pstorage/monitor -A1

...

3979 ?        S      1:09 /bin/sh /usr/libexec/pstorage/monitor
132860 ?        S      0:00  \_ sleep 5

...

Tiến hành kill -9 PID của service monitor.

# kill -9 3979

NOTE: Đừng sử dụng PID trong bài viết để thao tác trên hệ thống của bạn.

BÌNH CHỌN:

Hãy bình chọn 5 sao nếu bạn tìm thấy nội dung hữu ích.

Xếp hạng: 0 / 5. Phiếu bầu: 0

Cảm ơn bạn đã bình chọn.

    YÊU CẦU TƯ VẤN DỊCH VỤ