RBD 이미지 만들고 Linux에 마운트

Ceph는 RADOS Block Device(RDB)라고 하는 블럭 디바이스 형식도 지원합니다.

작업을 시작하기 전에, ceph health 명령으로 Ceph 클러스터의 상태를 확인합니다.

Shell

RBD를 만들기 위해서는 우선 디바이스 풀을 먼저 만들어 주어야 합니다. 그리고 디바이스 풀을 만들려면, 먼저 디바이스 풀에서 사용할 풀을 결정(보통은 새로 만듬)해야 합니다.

RBD용 풀 만들기

풀 이름은 중복되면 안됩니다. ceph osd pool ls 명령을 이용해서 현재 정의되어 있는 풀 목록을 확인합니다.

Shell

ceph osd pool create 명령을 이용해서 rbd이란 이름의 풀을 만듭니다.

Shell

참고 : pool은 Ceph 클러스터의 스토리지 효율/성능을 위해 다양한 옵션을 조합해서 설정합니다. 여기서는 연습이라 특별히 지정하지 않고, 기본값으로 만든 것입니다.

rbd pool init 명령을 이용해서 rbd용으로 사용할 rbd 풀을 초기화 합니다.

Shell

ceph df 명령으로 스토리지와 풀 용량 및 사용량 정보를 확인합니다.

Shell

RBD 클라이언트 사용자 만들기

rbd 클라이언트의 접속용으로 client.user-rbd 사용자를 추가합니다. monosdrbd 프로파일(profile)을 적용하고, 인증용 키링은 ceph.client.user-rbd.keyring 파일로 저장(-o)하겠습니다.

Shell

ceph auth get 명령을 이용해서 사용자가 잘 만들어졌는지 확인합니다.

Shell

ceph auth get 명령을 이용해서 client.user-rbd 사용자의 인증 정보를 지정한 파일(-o ceph.client.user1.keyring)로 내보냅니다.
cat 명령으로 ceph.client.user1.keyring 파일을 확인합니다.

Shell

ceph auth get 명령으로 client.user-rbd 사용자가 잘 만들어졌는지 확인합니다.

참고 : 프로파일과 사용자 관리와 관련해서는 따로 자세히 다루겠습니다.

scp 명령으로 저장된 키링 파일을 rbd를 사용할 클라이언트(172.16.1.2)에 복사합니다.

Shell

RBD 이미지 만들기

rbd create 명령을 이용해서, 크기가 1GiB(--size 1024, 메가바이트 단위)인 이미지를 rbd 풀에 example-1GiB라는 이름으로 만듭니다.

Shell

잘 만들어졌는지 rbd ls 명령으로 확인합니다.

Shell

rbd info 명령을 이용하면 example-1GiB 이미지의 구체적인 정보를 볼 수 있습니다.

Shell

Linux에서 마운트

앞서 CephFS 과정에서 cephadm install 명령으로 ceph-common 패키지를 설치했습니다. 그리고 위에서 사용자 키링을 복사해온 상태입니다.
rbd --version으로 설치된 rbd를 확인하고, ls 명령으로 /etc/ceph 디렉토리에 키링 파일이 잘 있는지 확인합니다.

Shell

rbd map 명령으로 rbd 풀에 있는(--pool rbd), example-1GiB 이미지를, user-rbd 사용자로 매핑(연결)합니다. 실행 결과 /dev/rbd0 디바이스로 매핑됐습니다.

Shell

rbd device list 명령으로 연결된 rbd 디바이스 목록을 확인할 수 있습니다.

Shell

parted 명령을 이용해서 /dev/rdb0 디바이스에 파티션 테이블을 만듭(mktable gpt)니다.

Shell

parted 명령을 이용해서 /dev/rbd0 디바이스에 디스크 0%(처음)부터, 디스크 100%(끝)까지 영역을 xfs 유형의 primary 파티션으로 만듭(mkpart)니다.

Shell

/dev/rbd0p1 디바이스를 xfs 형식으로 포맷(mkfs)합니다.

Shell

마운트 포인트로 이용할 /mnt/rbd 디렉토리를 만듭(mkdir -p)니다.

Shell

mount 명령으로 /dev/rbd0p1 디바이스를 /mnt/rbd 디렉토리에 마운트합니다. 그리고 잘 마운트 됐는지 df 명령으로 확인해봅니다.

Shell

정말 잘 동작하는지 파일을 만들어고, 읽어 보겠습니다.

Shell

fstab 수정

실습을 위해 앞서 마운트한 /mnt/rbdumount /mnt/rbd 명령으로 언마운트하고, rbd device unmap /dev/rbd0 명령으로 디바이스 언매핑하고, rbd device list 명령으로 디바이스 목록을 확인합니다.

Shell

/etc/fstab 를 통해서 부팅시에 자동으로 마운트되게 하려면, 다음 작업을 먼저 해주어야 합니다.

rbdmap 서비스가 시스템 시작시 활성화(enable)되도록 설정합니다.

Shell

/etc/ceph/rdbmap 파일을 수정해서 아래와 같이 매핑 정보(rbd/example-1GiB id=user-rbd )를 추가해줍니다.

Shell

rbdmap 구성 정보를 다시 로드(reload)합니다.

Shell

/etc/fstab에 다음과 같이 추가해줍니다.

Shell

fstab 예

Shell

/etc/fstab의 변경 내용을 적용하기 위해서 시스템 데몬들을 다시 로드(systemctl daemon-reload)합니다.

Shell

mount 명령으로 /mnt/rdb 디렉토리를 마운트해 봅니다.

Shell

df /mnt/rbd 명령으로 잘 마운트됐는지 확인합니다.

Shell

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like