1.4. Ceph MDSs


Ceph Metadata Server(MDS) 노드는 Ceph File System(CephFS)에 저장된 파일과 관련된 메타데이터를 관리하는 MDS 데몬(ceph-mds)을 실행합니다. MDS는 소유권, 타임스탬프, 모드를 포함하여 POSIX 호환 공유 파일 시스템 메타데이터 관리를 제공합니다. MDS는 RADOS(Reliable Autonomic Distributed Object Storage)를 사용하여 메타데이터를 저장합니다.

MDS를 사용하면 CephFS가 Ceph Object Store와 상호 작용하고 inode를 오브젝트에 매핑하고 Ceph가 트리 내에서 데이터를 저장하는 위치를 매핑할 수 있습니다. CephFS 파일 시스템에 액세스하는 클라이언트는 먼저 올바른 OSD에서 파일 내용을 가져오는 데 필요한 정보를 제공하는 MDS에 요청합니다.

1.4.1. Ansible을 사용하여 Ceph MDS 추가

Ansible 플레이북을 사용하여 Ceph MDS(메타데이터 서버)를 추가합니다.

사전 요구 사항

  • Ansible에서 배포한 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ansible 관리 노드에 대한 root 또는 sudo 액세스.
  • MDS 노드로 프로비저닝할 수 있는 신규 또는 기존 서버.

절차

  1. Ansible 관리 노드에 로그인합니다.
  2. /usr/share/ceph-ansible 디렉터리로 변경합니다.

    예제

    [ansible@admin ~]$ cd /usr/share/ceph-ansible

  3. root 또는 sudo 액세스로 /usr/share/ceph-ansible/hosts 인벤토리 파일을 열고 편집하고 [mds] 섹션에 MDS 노드를 추가합니다.

    구문

    [mdss]
    MDS_NODE_NAME
    NEW_MDS_NODE_NAME

    NEW_MDS_NODE_NAME 을 MDS 서버를 설치할 노드의 호스트 이름으로 교체합니다.

    또는 [osds][mds] 섹션에 동일한 노드를 추가하여 한 노드에서 OSD 데몬을 사용하여 MDS 데몬을 배치할 수 있습니다.

    예제

    [mdss]
    node01
    node03

  4. ansible 사용자로 Ansible 플레이북을 실행하여 MDS 노드를 프로비저닝합니다.

    • 베어 메탈 배포:

      [ansible@admin ceph-ansible]$ ansible-playbook site.yml --limit mdss -i hosts
    • 컨테이너 배포:

      [ansible@admin ceph-ansible]$ ansible-playbook site-container.yml --limit mdss -i hosts

      Ansible 플레이북 실행을 완료하면 새로운 Ceph MDS 노드가 스토리지 클러스터에 나타납니다.

검증

  • MDS 데몬 상태를 확인합니다.

    구문

    ceph fs dump

    예제

    [ansible@admin ceph-ansible]$ ceph fs dump
    
    [mds.node01 {0:115304} state up:active seq 5 addr [v2:172.25.250.10:6800/695510951,v1:172.25.250.10:6801/695510951]]
    
    Standby daemons:
    [mds.node03 {-1:144437} state up:standby seq 2 addr [v2:172.25.250.11:6800/172950087,v1:172.25.250.11:6801/172950087]]

  • 또는 ceph mds stat 명령을 사용하여 MDS가 활성 상태인지 확인할 수 있습니다.

    구문

    ceph mds stat

    예제

    [ansible@admin ceph-ansible]$ ceph mds stat
    cephfs:1 {0=node01=up:active} 1 up:standby

추가 리소스

1.4.2. 명령줄 인터페이스를 사용하여 Ceph MDS 추가

명령줄 인터페이스를 사용하여 수동으로 Ceph 메타데이터 서버(MDS)를 추가할 수 있습니다.

사전 요구 사항

  • ceph-common 패키지가 설치되어 있습니다.
  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • MDS 노드에 대한 root 또는 sudo 액세스
  • MDS 노드로 프로비저닝할 수 있는 신규 또는 기존 서버.

절차

  1. 노드에 로그인하고 MDS 마운트 지점을 생성하여 새 MDS 노드를 추가합니다.

    구문

    sudo mkdir /var/lib/ceph/mds/ceph-MDS_ID

    MDS_ID 를 MDS 데몬을 추가할 MDS 노드의 ID로 바꿉니다.

    예제

    [admin@node03 ~]$ sudo mkdir /var/lib/ceph/mds/ceph-node03

  2. Cephx 인증을 사용하는 경우 새 MDS 노드인 경우 인증 키를 생성합니다.

    구문

    sudo ceph auth get-or-create mds.MDS_ID mon 'profile mds' mgr 'profile mds' mds 'allow *' osd 'allow *' > /var/lib/ceph/mds/ceph-MDS_ID/keyring

    MDS 데몬을 배포할 MDS 노드의 ID로 MDS_ID 를 교체합니다.

    예제

    [admin@node03 ~]$ sudo ceph auth get-or-create mds.node03 mon 'profile mds' mgr 'profile mds' mds 'allow *' osd 'allow *' > /var/lib/ceph/mds/ceph-node03/keyring

    참고

    cephx 인증은 기본적으로 활성화되어 있습니다. Cephx 인증에 대한 자세한 내용은 추가 리소스 섹션의 Cephx 인증 링크를 참조하십시오.

  3. MDS 데몬을 시작합니다.

    구문

    sudo systemctl start ceph-mds@HOST_NAME

    HOST_NAME 을 데몬을 시작할 호스트의 짧은 이름으로 교체합니다.

    예제

    [admin@node03 ~]$ sudo systemctl start ceph-mds@node03

  4. MDS 서비스를 활성화합니다.

    구문

    systemctl enable ceph-mds@HOST_NAME

    서비스를 활성화하려면 HOST_NAME 을 호스트의 짧은 이름으로 교체합니다.

    예제

    [admin@node03 ~]$ sudo systemctl enable ceph-mds@node03

검증

  • MDS 데몬 상태를 확인합니다.

    구문

    ceph fs dump

    예제

    [admin@mon]$ ceph fs dump
    
    [mds.node01 {0:115304} state up:active seq 5 addr [v2:172.25.250.10:6800/695510951,v1:172.25.250.10:6801/695510951]]
    
    Standby daemons:
    [mds.node03 {-1:144437} state up:standby seq 2 addr [v2:172.25.250.11:6800/172950087,v1:172.25.250.11:6801/172950087]]

  • 또는 ceph mds stat 명령을 사용하여 MDS가 활성 상태인지 확인할 수 있습니다.

    구문

    ceph mds stat

    예제

    [ansible@admin ceph-ansible]$ ceph mds stat
    cephfs:1 {0=node01=up:active} 1 up:standby

추가 리소스

1.4.3. Ansible을 사용하여 Ceph MDS 제거

Ansible을 사용하여 Ceph 메타데이터 서버(MDS)를 제거하려면 shrink-mds 플레이북을 사용합니다.

참고

MDS가 제거되면 사용할 대체 MDS가 없는 경우 클라이언트에서 파일 시스템을 사용할 수 없게 됩니다. 이것이 바람직하지 않은 경우 오프라인으로 전환하려는 MDS를 제거하기 전에 추가 MDS를 추가하는 것이 좋습니다.

사전 요구 사항

  • 하나 이상의 MDS 노드
  • Ansible에서 배포한 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ansible 관리 노드에 대한 root 또는 sudo 액세스.

절차

  1. Ansible 관리 노드에 로그인합니다.
  2. /usr/share/ceph-ansible 디렉터리로 변경합니다.

    예제

    [ansible@admin ~]$ cd /usr/share/ceph-ansible

  3. Ansible shrink-mds.yml 플레이북을 실행하고 메시지가 표시되면 yes 를 입력하여 클러스터 축소를 확인합니다.

    구문

    ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=ID -i hosts

    ID 를 삭제하려는 MDS 노드의 ID로 바꿉니다. 플레이북이 실행될 때마다 Ceph MDS가 하나만 제거할 수 있습니다.

    예제

    [ansible @admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=node02 -i hosts

  4. root 또는 sudo 액세스로 /usr/share/ceph-ansible/hosts 인벤토리 파일을 열고 편집한 후 [mds] 섹션의 MDS 노드를 삭제합니다.

    구문

    [mdss]
    MDS_NODE_NAME
    MDS_NODE_NAME

    예제

    [mdss]
    node01
    node03

    이 예에서는 node02[mdss] 목록에서 제거되었습니다.

검증

  • MDS 데몬 상태를 확인합니다.

    구문

    ceph fs dump

    예제

    [ansible@admin ceph-ansible]$ ceph fs dump
    
    [mds.node01 {0:115304} state up:active seq 5 addr [v2:172.25.250.10:6800/695510951,v1:172.25.250.10:6801/695510951]]
    
    Standby daemons:
    [mds.node03 {-1:144437} state up:standby seq 2 addr [v2:172.25.250.11:6800/172950087,v1:172.25.250.11:6801/172950087]]

추가 리소스

1.4.4. 명령줄 인터페이스를 사용하여 Ceph MDS 제거

명령줄 인터페이스를 사용하여 Ceph 메타데이터 서버(MDS)를 수동으로 제거할 수 있습니다.

참고

현재 MDS가 제거되면 사용할 대체 MDS가 없는 경우 클라이언트에서 파일 시스템을 사용할 수 없게 됩니다. 이것이 바람직하지 않은 경우 기존 MDS를 제거하기 전에 MDS를 추가하는 것이 좋습니다.

사전 요구 사항

  • ceph-common 패키지가 설치되어 있습니다.
  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • MDS 노드에 대한 root 또는 sudo 액세스

절차

  1. MDS 데몬을 삭제할 Ceph MDS 노드에 로그인합니다.
  2. Ceph MDS 서비스를 중지합니다.

    구문

    sudo systemctl stop ceph-mds@HOST_NAME

    HOST_NAME 을 데몬이 실행 중인 호스트의 짧은 이름으로 교체합니다.

    예제

    [admin@node02 ~]$ sudo systemctl stop ceph-mds@node02

  3. MDS 서비스를 이 노드에 재배포하지 않는 경우 다음을 비활성화합니다.

    구문

    sudo systemctl disable ceph-mds@HOST_NAME

    데몬을 비활성화하려면 HOST_NAME 을 호스트의 짧은 이름으로 교체합니다.

    예제

    [admin@node02 ~]$ sudo systemctl disable ceph-mds@node02

  4. MDS 노드의 /var/lib/ceph/mds/ceph-MDS_ID 디렉터리를 삭제합니다.

    구문

    sudo rm -fr /var/lib/ceph/mds/ceph-MDS_ID

    MDS_ID 를 MDS 데몬을 삭제하려는 MDS 노드의 ID로 바꿉니다.

    예제

    [admin@node02 ~]$ sudo rm -fr /var/lib/ceph/mds/ceph-node02

검증

  • MDS 데몬 상태를 확인합니다.

    구문

    ceph fs dump

    예제

    [ansible@admin ceph-ansible]$ ceph fs dump
    
    [mds.node01 {0:115304} state up:active seq 5 addr [v2:172.25.250.10:6800/695510951,v1:172.25.250.10:6801/695510951]]
    
    Standby daemons:
    [mds.node03 {-1:144437} state up:standby seq 2 addr [v2:172.25.250.11:6800/172950087,v1:172.25.250.11:6801/172950087]]

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.