B.4. 수동으로 Ceph 블록 장치 설치

다음 절차에서는 씬 프로비저닝 및 크기 조정 가능한 Ceph 블록 장치를 설치하고 마운트하는 방법을 보여줍니다.

중요

Ceph 블록 장치는 Ceph Monitor 및 OSD 노드의 개별 노드에 배포해야 합니다. 동일한 노드에서 커널 클라이언트 및 커널 서버 데몬을 실행하면 커널 교착 상태가 발생할 수 있습니다.

사전 요구 사항

절차

  1. OSD 노드파일에 대한 전체 권한이 있는 client.rbd 라는 Ceph 블록 장치 사용자를 생성하고 결과를 인증 키 파일로 출력합니다.

    ceph auth get-or-create client.rbd mon 'profile rbd' osd 'profile rbd pool=<pool_name>' \
    -o /etc/ceph/rbd.keyring

    & lt;pool_name >을 client.rbd 가 액세스할 수 있도록 허용하려는 풀 이름으로 바꿉니다(예: rbd ):

    # ceph auth get-or-create \
    client.rbd mon 'allow r' osd 'allow rwx pool=rbd' \
    -o /etc/ceph/rbd.keyring

    사용자 생성에 대한 자세한 내용은 Red Hat Ceph Storage 4 관리 가이드 의 사용자 관리 섹션을 참조하십시오.

  2. 블록 장치 이미지를 생성합니다.

    rbd create <image_name> --size <image_size> --pool <pool_name> \
    --name client.rbd --keyring /etc/ceph/rbd.keyring

    < image_name > , < image_size >, < pool_name >을 지정합니다. 예를 들면 다음과 같습니다.

    $ rbd create image1 --size 4G --pool rbd \
    --name client.rbd --keyring /etc/ceph/rbd.keyring
    주의

    기본 Ceph 구성에는 다음과 같은 Ceph 블록 장치 기능이 포함됩니다.

    • 계층 지정
    • exclusive-lock
    • object-map
    • deep-flatten
    • fast-diff

    커널 RBD(qcowd)클라이언트를 사용하는 경우 블록 장치 이미지를 매핑하지 못할 수 있습니다.

    이 문제를 해결하려면 지원되지 않는 기능을 비활성화합니다. 이렇게 하려면 다음 옵션 중 하나를 사용합니다.

    • 지원되지 않는 기능을 동적으로 비활성화합니다.

      rbd feature disable <image_name> <feature_name>

      예를 들어 다음과 같습니다.

      # rbd feature disable image1 object-map deep-flatten fast-diff
    • rbd create 명령과 함께 --image-feature 계층 ing 옵션을 사용하여 새로 생성된 블록 장치 이미지에서만 계층화 할 수 있습니다.
    • Ceph 구성 파일에서 기능을 기본값으로 비활성화합니다.

      rbd_default_features = 1

    자세한 내용은 Red Hat Ceph Storage 4 릴리스 노트알려진 문제 장을 참조하십시오.

    이러한 모든 기능은 사용자 공간 RBD 클라이언트를 사용하여 블록 장치 이미지에 액세스하는 사용자에게 작동합니다.

  3. 새로 생성된 이미지를 블록 장치에 매핑합니다.

    rbd map <image_name> --pool <pool_name>\
    --name client.rbd --keyring /etc/ceph/rbd.keyring

    예를 들어 다음과 같습니다.

    # rbd map image1 --pool rbd --name client.rbd \
    --keyring /etc/ceph/rbd.keyring
  4. 파일 시스템을 생성하여 블록 장치를 사용합니다.

    mkfs.ext4 /dev/rbd/<pool_name>/<image_name>

    풀 이름과 이미지 이름을 지정합니다. 예를 들면 다음과 같습니다.

    # mkfs.ext4 /dev/rbd/rbd/image1

    이 작업은 몇 분 정도 걸릴 수 있습니다.

  5. 새로 생성된 파일 시스템을 마운트합니다.

    mkdir <mount_directory>
    mount /dev/rbd/<pool_name>/<image_name> <mount_directory>

    예를 들어 다음과 같습니다.

    # mkdir /mnt/ceph-block-device
    # mount /dev/rbd/rbd/image1 /mnt/ceph-block-device

추가 리소스