Ceph Luminous 버전 OSD 활성화 문제 해결

1. 문제 상황

Ceph Luminous(ceph-12.2.10) 버전을 사용하여 클러스터 구축 중 특정 노드에서 OSD를 배포할 때遇到了一个问题: 디스크 준비 명령을 실행한 후 클러스터에格式化된 디스크가 OSD로 추가되지 않았으며, 아무런 오류 메시지也表示되지 않았습니다.

명령어 실행 결과:

[root@k8s-node2 ceph]# ceph-disk prepare --bluestore /dev/sdb
Creating new GPT entries.
Setting name!
partNum is 0
REALLY setting name!
The operation has completed successfully.
Setting name!
partNum is 1
REALLY setting name!
The operation has completed successfully.
The operation has completed successfully.
meta-data=/dev/sdb1              isize=2048   agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=864, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.

실행 후 디스크 상태 확인:

[root@k8s-node2 ceph]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part 
  ├─centos-root 253:0    0   37G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0  100M  0 part 
└─sdb2            8:18   0 19.9G  0 part 
sdc               8:32   0   30G  0 disk 
sr0              11:0    1  906M  0 rom  

OSD가 정상적으로 마운트되지 않았음을 확인할 수 있습니다. 파티션은 생성되었으나 실제 OSD로 활성화되지 않았습니다.

2. 해결 방법

먼저 클러스터의 다른 노드들과 설정을 비교하고, bootstrap-osd 디렉토리를 확인해보았습니다.

[root@k8s-node2 ceph]# ll -a /var/lib/ceph/bootstrap-osd/
total 4
drwxr-xr-x  2 root root  26 Dec 10 01:26 .
drwxr-xr-x 12 ceph ceph 166 Dec 10 04:14 ..

문제가 발견되었습니다. /var/lib/ceph/bootstrap-osd/ 디렉토리가 비어있습니다. 이 디렉토리에는 OSD를 클러스터에 등록하기 위한 키링 파일이 필요합니다.

클러스터의 마스터 노드에서 ceph.keyring 파일을 가져와서 해당 디렉토리에 복사한 후, OSD 활성화 명령을 실행합니다:

[root@k8s-node2 ceph]# ceph-disk activate /dev/sdb1
Created symlink from /run/systemd/system/ceph-osd.target.wants/ceph-osd@4.service to /usr/lib/systemd/system/ceph-osd@.service.

OSD 활성화 후 결과:

[root@k8s-node2 ceph]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part 
  ├─centos-root 253:0    0   37G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0  100M  0 part /var/lib/ceph/osd/ceph-4
└─sdb2            8:18   0 19.9G  0 part 
sdc               8:32   0   30G  0 disk 
sr0              11:0    1  906M  0 rom  

OSD가 성공적으로 활성화되어 /var/lib/ceph/osd/ceph-4에 마운트되었습니다.

태그: Ceph luminous osd ceph-disk storage

7월 6일 03:07에 게시됨