B.2. 수동으로 Ceph Manager 설치


일반적으로 Ansible 자동화 유틸리티는 Red Hat Ceph Storage 클러스터를 배포할 때 Ceph Manager 데몬(ceph-mgr)을 설치합니다. 그러나 Ansible을 사용하여 Red Hat Ceph Storage를 관리하지 않는 경우 Ceph Manager를 수동으로 설치할 수 있습니다. Red Hat은 동일한 노드에서 Ceph Manager 및 Ceph Monitor 데몬을 배치하는 것이 좋습니다.

사전 요구 사항

  • 작동하는 Red Hat Ceph Storage 클러스터
  • root 또는 sudo 액세스
  • rhel-7-server-rhceph-3-mon-els-rpms 리포지토리 활성화
  • 방화벽이 사용되는 경우 공용 네트워크에서 포트 6800-7300

절차

ceph-mgr 가 배포되는 노드에서 및 root 사용자로 또는 sudo 유틸리티를 사용하여 다음 명령을 사용합니다.

  1. ceph-mgr 패키지를 설치합니다.

    [user@node1 ~]$ sudo apt-get install ceph-mgr
  2. /var/lib/ceph/mgr/ceph-호스트 이름/ 디렉터리를 생성합니다.

    mkdir /var/lib/ceph/mgr/ceph-hostname

    hostnameceph-mgr 데몬이 배포될 노드의 호스트 이름으로 교체합니다. 예를 들면 다음과 같습니다.

    [user@node1 ~]$ sudo mkdir /var/lib/ceph/mgr/ceph-node1
  3. 새로 생성된 디렉터리에서 ceph-mgr 데몬에 대한 인증 키를 생성합니다.

    [user@node1 ~]$ sudo ceph auth get-or-create mgr.`hostname -s` mon 'allow profile mgr' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mgr/ceph-node1/keyring
  4. /var/lib/ceph/mgr/ 디렉터리의 소유자 및 그룹을 ceph:ceph 로 변경합니다.

    [user@node1 ~]$ sudo chown -R ceph:ceph /var/lib/ceph/mgr
  5. ceph-mgr 대상을 활성화합니다.

    [user@node1 ~]$ sudo systemctl enable ceph-mgr.target
  6. ceph-mgr 인스턴스를 활성화하고 시작합니다.

    systemctl enable ceph-mgr@hostname
    systemctl start ceph-mgr@hostname

    hostnameceph-mgr 이 배포할 노드의 호스트 이름으로 교체합니다. 예를 들면 다음과 같습니다.

    [user@node1 ~]$ sudo systemctl enable ceph-mgr@node1
    [user@node1 ~]$ sudo systemctl start ceph-mgr@node1
  7. ceph-mgr 데몬이 시작되었는지 확인합니다.

    ceph -s

    출력에는 services: 섹션 아래의 다음 행과 유사한 행이 포함됩니다.

        mgr: node1(active)
  8. 현재 활성 데몬이 실패하는 경우 더 많은 ceph-mgr 데몬을 설치하여 대기 데몬으로 작동합니다.

OSD 부팅

초기 모니터가 실행되면 OSD(오브젝트 스토리지 장치)를 추가할 수 있습니다. 오브젝트 사본 수를 처리하기에 충분한 OSD가 있을 때까지 클러스터는 활성 + 클린 상태에 도달할 수 없습니다.

오브젝트의 기본 사본 수는 3입니다. 최소 3개의 OSD 노드가 필요합니다. 그러나 오브젝트의 두 사본만 원하는 경우 두 개의 OSD 노드만 추가한 다음, Ceph 구성 파일에서 osd 풀 기본 크기osd 풀의 기본 min size 설정을 업데이트합니다.

자세한 내용은 Red Hat Ceph Storage 3 구성 가이드의 OSD 구성 참조 섹션을 참조하십시오.

초기 모니터를 부트 스트랩하면 클러스터에 기본 CRUSH 맵이 있습니다. 그러나 CRUSH 맵에는 Ceph 노드에 매핑된 Ceph OSD 데몬이 없습니다.

클러스터에 OSD를 추가하고 기본 CRUSH 맵을 업데이트하려면 각 OSD 노드에서 다음을 실행합니다.

  1. Red Hat Ceph Storage 3 OSD 리포지토리를 활성화합니다.

    $ sudo bash -c 'umask 0077; echo deb https://customername:customerpasswd@rhcs.download.redhat.com/3-updates/OSD $(lsb_release -sc) main | tee /etc/apt/sources.list.d/OSD.list'
    $ sudo bash -c 'wget -O - https://www.redhat.com/security/fd431d51.txt | apt-key add -'
    $ sudo apt-get update
  2. root 로 Ceph OSD 노드에 ceph-osd 패키지를 설치합니다.

    $ sudo apt-get install ceph-osd
  3. 초기 Monitor 노드에서 OSD 노드로 Ceph 구성 파일 및 관리 인증 키 파일을 복사합니다.

    구문

    # scp <user_name>@<monitor_host_name>:<path_on_remote_system> <path_to_local_file>

    예제

    # scp root@node1:/etc/ceph/ceph.conf /etc/ceph
    # scp root@node1:/etc/ceph/ceph.client.admin.keyring /etc/ceph

  4. OSD에 대한 UUID(Universally Unique Identifier)를 생성합니다.

    $ uuidgen
    b367c360-b364-4b1d-8fc6-09408a9cda7a
  5. root 로서 OSD 인스턴스를 생성합니다.

    구문

    # ceph osd create <uuid> [<osd_id>]

    예제

    # ceph osd create b367c360-b364-4b1d-8fc6-09408a9cda7a
    0

    참고

    이 명령은 후속 단계에 필요한 OSD 번호 식별자를 출력합니다.

  6. 루트 로서 새 OSD에 대한 기본 디렉토리를 만듭니다.

    구문

    # mkdir /var/lib/ceph/osd/<cluster_name>-<osd_id>

    예제

    # mkdir /var/lib/ceph/osd/ceph-0

  7. 루트 로서 OSD로 사용할 드라이브를 준비한 후 방금 생성한 디렉터리에 마운트합니다. Ceph 데이터 및 저널용 파티션을 만듭니다. 저널 및 데이터 파티션은 동일한 디스크에 있을 수 있습니다. 이 예에서는 15GB 디스크를 사용합니다.

    구문

    # parted <path_to_disk> mklabel gpt
    # parted <path_to_disk> mkpart primary 1 10000
    # mkfs -t <fstype> <path_to_partition>
    # mount -o noatime <path_to_partition> /var/lib/ceph/osd/<cluster_name>-<osd_id>
    # echo "<path_to_partition>  /var/lib/ceph/osd/<cluster_name>-<osd_id>   xfs defaults,noatime 1 2" >> /etc/fstab

    예제

    # parted /dev/sdb mklabel gpt
    # parted /dev/sdb mkpart primary 1 10000
    # parted /dev/sdb mkpart primary 10001 15000
    # mkfs -t xfs /dev/sdb1
    # mount -o noatime /dev/sdb1 /var/lib/ceph/osd/ceph-0
    # echo "/dev/sdb1 /var/lib/ceph/osd/ceph-0  xfs defaults,noatime 1 2" >> /etc/fstab

  8. 루트 로서 OSD 데이터 디렉터리를 초기화합니다.

    구문

    # ceph-osd -i <osd_id> --mkfs --mkkey --osd-uuid <uuid>

    예제

    # ceph-osd -i 0 --mkfs --mkkey --osd-uuid b367c360-b364-4b1d-8fc6-09408a9cda7a
    ... auth: error reading file: /var/lib/ceph/osd/ceph-0/keyring: can't open /var/lib/ceph/osd/ceph-0/keyring: (2) No such file or directory
    ... created new key in keyring /var/lib/ceph/osd/ceph-0/keyring

    참고

    --mkkey 옵션을 사용하여 ceph-osd 를 실행하기 전에 디렉터리가 비어 있어야 합니다. 사용자 지정 클러스터 이름이 있는 경우 ceph-osd 유틸리티에 --cluster 옵션이 필요합니다.

  9. root 로 OSD 인증 키를 등록합니다. 클러스터 이름이 ceph 와 다른 경우 클러스터 이름을 대신 삽입합니다.

    구문

    # ceph auth add osd.<osd_id> osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/<cluster_name>-<osd_id>/keyring

    예제

    # ceph auth add osd.0 osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-0/keyring
    added key for osd.0

  10. root 로서 OSD 노드를 CRUSH 맵에 추가합니다.

    구문

    # ceph [--cluster <cluster_name>] osd crush add-bucket <host_name> host

    예제

    # ceph osd crush add-bucket node2 host

  11. root 로 OSD 노드를 기본 CRUSH 트리 아래에 배치합니다.

    구문

    # ceph [--cluster <cluster_name>] osd crush move <host_name> root=default

    예제

    # ceph osd crush move node2 root=default

  12. root 로서 OSD 디스크를 CRUSH 맵에 추가합니다.

    구문

    # ceph [--cluster <cluster_name>] osd crush add osd.<osd_id> <weight> [<bucket_type>=<bucket-name> ...]

    예제

    # ceph osd crush add osd.0 1.0 host=node2
    add item id 0 name 'osd.0' weight 1 at location {host=node2} to crush map

    참고

    CRUSH 맵을 컴파일하고 장치 목록에 OSD를 추가할 수도 있습니다. OSD 노드를 버킷으로 추가한 다음 장치를 OSD 노드의 항목으로 추가하고 OSD에 가중치를 할당하고 CRUSH 맵을 다시 컴파일하고 CRUSH 맵을 설정합니다. 자세한 내용은 Red Hat Ceph Storage 3용 스토리지 전략 가이드CRUSH 맵 편집 섹션을 참조하십시오.

  13. root 로서 새로 생성된 디렉터리 및 파일에 대한 소유자 및 그룹 권한을 업데이트합니다.

    구문

    # chown -R <owner>:<group> <path_to_directory>

    예제

    # chown -R ceph:ceph /var/lib/ceph/osd
    # chown -R ceph:ceph /var/log/ceph
    # chown -R ceph:ceph /var/run/ceph
    # chown -R ceph:ceph /etc/ceph

  14. 사용자 지정 이름이 있는 스토리지 클러스터의 경우 root 로서 /etc/default/ceph 파일에 다음 행을 추가합니다.

    구문

    $ sudo echo "CLUSTER=<custom_cluster_name>" >> /etc/default/ceph

    예제

    $ sudo echo "CLUSTER=test123" >> /etc/default/ceph

  15. OSD 노드는 Ceph 스토리지 클러스터 구성에 있습니다. 그러나 OSD 데몬은 다운 되어 에서 입니다. 새 OSD는 데이터를 받기 전에 실행해야 합니다. root 로 OSD 프로세스를 활성화하고 시작합니다.

    구문

    $ sudo systemctl enable ceph-osd.target
    $ sudo systemctl enable ceph-osd@<osd_id>
    $ sudo systemctl start ceph-osd@<osd_id>

    예제

    $ sudo systemctl enable ceph-osd.target
    $ sudo systemctl enable ceph-osd@0
    $ sudo systemctl start ceph-osd@0

    OSD 데몬을 시작하면 up 및 입니다.

이제 모니터와 일부 OSD가 실행 중입니다. 다음 명령을 실행하여 배치 그룹 피어를 확인할 수 있습니다.

$ ceph -w

OSD 트리를 보려면 다음 명령을 실행합니다.

$ ceph osd tree

예제

ID  WEIGHT    TYPE NAME        UP/DOWN  REWEIGHT  PRIMARY-AFFINITY
-1       2    root default
-2       2        host node2
 0       1            osd.0         up         1                 1
-3       1        host node3
 1       1            osd.1         up         1                 1

스토리지 클러스터에 새 OSD를 추가하여 스토리지 용량을 확장하려면 Red Hat Ceph Storage 3 관리 가이드OSD 추가 섹션을 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.