Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

부록 D. 수동으로 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

    <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 3 관리 가이드 의 사용자 관리 섹션을 참조하십시오.

  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 4096 --pool rbd \
    --name client.rbd --keyring /etc/ceph/rbd.keyring
    주의

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

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

    커널 RBD(octetsd) 클라이언트를 사용하는 경우 Red Hat Enterprise Linux 7.3에 포함된 현재 커널 버전이 객체 맵, -플릿 및 fast- diff 를 지원하지 않기 때문에 블록 장치 이미지를 매핑할 수 없습니다.

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

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

      rbd feature disable <image_name> <feature_name>

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

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

      rbd_default_features = 1

    이는 Red Hat Ceph Storage 3 릴리스 노트 에서 알려진 문제 장을 참조하십시오.

    이러한 모든 기능은 사용자 공간 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
    중요

    커널 블록 장치는 현재 CRUSH 맵에서 기존 straw 버킷 알고리즘만 지원합니다. CRUSH 튜닝 가능 항목을 최적으로 설정한 경우 기존 또는 이전 주요 릴리스로 설정해야 합니다. 그렇지 않으면 이미지를 매핑할 수 없습니다.

    또는 straw2 를 CRUSH 맵의 straw 로 바꿉니다. 자세한 내용은 Red Hat Ceph Storage 3용 스토리지 전략 가이드의 CRUSH 맵 편집 장을 참조하십시오.

  4. 파일 시스템을 생성하여 블록 장치를 사용합니다.

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

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

    # mkfs.ext4 -m5 /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

자세한 내용은 Red Hat Ceph Storage 3의 블록 장치 가이드 를 참조하십시오.