검색

11장. Ceph 파일 시스템 스냅샷 미러링

download PDF

스토리지 관리자는 Ceph 파일 시스템(CephFS)을 다른 Red Hat Ceph Storage 클러스터의 원격 Ceph 파일 시스템에 복제할 수 있습니다.

사전 요구 사항

  • 소스 및 대상 스토리지 클러스터는 Red Hat Ceph Storage 6.0 이상을 실행 중이어야 합니다.

Ceph 파일 시스템(CephFS)은 다른 Red Hat Ceph Storage 클러스터의 원격 CephFS에 대한 비동기식 스냅샷 복제를 지원합니다. 스냅샷 동기화는 스냅샷 데이터를 원격 Ceph 파일 시스템에 복사하고 동일한 이름으로 원격 대상에 새 스냅샷을 생성합니다. 스냅샷 동기화를 위해 특정 디렉터리를 구성할 수 있습니다.

CephFS 스냅샷 미러링 관리는 CephFS 미러링 데몬(cephfs-mirror)에서 수행합니다. 이 스냅샷 데이터는 원격 CephFS에 대량 복사를 수행하여 동기화됩니다. 스냅샷 쌍 동기화의 선택한 순서는 snap-id 를 사용한 생성을 기반으로 합니다.

중요

하드 링크 동기화는 지원되지 않습니다. 하드 링크된 파일은 일반 파일로 동기화됩니다.

CephFS 스냅샷 미러링에는 스냅샷 포함 또는 고가용성과 같은 기능이 포함됩니다. 권장 제어 인터페이스인 Ceph Manager 미러링 모듈을 통해 관리할 수 있습니다.

Ceph Manager 모듈 및 인터페이스

Ceph Manager 미러링 모듈은 기본적으로 비활성화되어 있습니다. 디렉터리 스냅샷의 미러링을 관리하기 위한 인터페이스를 제공합니다. Ceph Manager 인터페이스는 CephFS 미러링을 관리하기 위한 모니터 명령에 대한 래퍼입니다. 권장되는 제어 인터페이스입니다.

Ceph Manager 미러링 모듈은 Ceph Manager 플러그인으로 구현됩니다. 동기화를 위해 cephfs-mirror 데몬에 디렉터리를 할당해야 합니다.

Ceph Manager 미러링 모듈에서는 디렉터리 스냅샷의 미러링을 제어하는 명령 세트도 제공합니다. 미러링 모듈은 cephfs-mirror 데몬을 관리하지 않습니다. cephfs-mirror 데몬 중지, 시작, 다시 시작 및 활성화는 systemctl 에서 제어하지만 cephadm 에 의해 관리됩니다.

참고

미러링 모듈 명령은 fs 미러 접두사가 있는 모니터 명령과 비교하여 fs 스냅샷 미러 접두사를 사용합니다. 모듈 명령 접두사를 사용하여 디렉터리 스냅샷의 미러링을 제어하도록 합니다.

스냅샷 구현

동일한 이름과 다른 콘텐츠로 스냅샷을 삭제하고 다시 생성할 수 있습니다. 사용자는 이전에 "오래된" 스냅샷을 동기화하고 미러링이 비활성화된 경우 스냅샷을 다시 생성할 수 있습니다. 스냅샷 이름을 사용하여 시점을 유추하면 "새" 스냅샷, 구현되지 않으며 동기화를 위해 선택되지 않습니다.

보조 파일 시스템의 스냅샷은 동기화된 스냅샷의 snap-id 를 저장합니다. 이 메타데이터는 Ceph Metadata Server의 SnapInfo 구조에 저장됩니다.

고가용성

두 개 이상의 노드에 여러 cephfs-mirror 데몬을 배포하여 디렉터리 스냅샷의 동기화에서 동시성을 수행할 수 있습니다. cephfs-mirror 데몬이 배포되거나 종료되면 Ceph Manager 미러링 모듈에서 수정된 cephfs-mirror 데몬 세트를 검색하고 새 세트 간에 디렉터리 할당을 재조정하여 고가용성을 제공합니다.

CephFS-mirror 데몬은 간단한 M/N 정책을 사용하여 동기화 부하를 공유합니다. 여기서 M은 디렉터리 수이고 N은 cephfs-mirror 데몬 수입니다.

Ceph 파일 시스템 미러 피어 추가

다른 클러스터의 CephFS에 피어를 다시 추가하거나 다시 할당하는 경우 모든 미러 데몬이 피어에 대한 동기화를 중지했는지 확인합니다. fs mirror status 명령을 사용하여 이를 확인할 수 있습니다. 명령 출력에 Peer UUID가 표시되지 않아야 합니다.

피어에서 동기화된 디렉터리를 다른 CephFS, 특히 새 기본 파일 시스템에 있을 수 있는 디렉터리에 다시 추가합니다. 이전에 동기화한 것과 동일한 기본 파일 시스템에 피어를 다시 추가하는 경우에는 필요하지 않습니다.

추가 리소스

11.1. Ceph 파일 시스템의 스냅샷 미러 구성

미러링을 위해 Ceph File System(CephFS)을 구성하여 원격 Red Hat Ceph Storage 클러스터의 다른 CephFS에 스냅샷을 복제할 수 있습니다.

참고

원격 스토리지 클러스터에 동기화하는 시간은 파일 크기 및 미러링 경로의 총 파일 수에 따라 달라집니다.

사전 요구 사항

  • 소스 및 대상 스토리지 클러스터는 정상이어야 하며 Red Hat Ceph Storage 7.0 이상을 실행해야 합니다.
  • 소스 및 대상 스토리지 클러스터의 Ceph Monitor 노드에 대한 루트 수준 액세스.
  • 스토리지 클러스터에 하나 이상의 Ceph 파일 시스템이 배포되었습니다.

프로세스

  1. Cephadm 쉘에 로그인합니다.

    예제

    [root@host01 ~]# cephadm shell

  2. 소스 스토리지 클러스터에서 CephFS 미러링 데몬을 배포합니다.

    구문

    ceph orch apply cephfs-mirror ["NODE_NAME"]

    예제

    [ceph: root@host01 /]# ceph orch apply cephfs-mirror "node1.example.com"
    Scheduled cephfs-mirror update...

    이 명령은 cephfs-mirror 라는 Ceph 사용자를 생성하고 지정된 노드에 cephfs-mirror 데몬을 배포합니다.

    1. 선택 사항: 여러 CephFS 미러링 데몬을 배포하고 고가용성을 달성합니다.

      구문

      ceph orch apply cephfs-mirror --placement="PLACEMENT_SPECIFICATION"

      예제

      [ceph: root@host01 /]# ceph orch apply cephfs-mirror --placement="3 host1 host2 host3"
      Scheduled cephfs-mirror update...

      이 예제에서는 다른 호스트에 세 개의 cephfs-mirror 데몬을 배포합니다.

      주의

      다음과 같은 오류가 발생하므로 쉼표로 호스트를 분리하지 마십시오.

      Error EINVAL: name component must include only a-z, 0-9, and -
  3. 대상 스토리지 클러스터에서 각 CephFS 피어에 대한 사용자를 생성합니다.

    구문

    ceph fs authorize FILE_SYSTEM_NAME CLIENT_NAME / rwps

    예제

    [ceph: root@host01 /]# ceph fs authorize cephfs client.mirror_remote / rwps
    [client.mirror_remote]
            key = AQCjZ5Jg739AAxAAxduIKoTZbiFJ0lgose8luQ==

  4. 소스 스토리지 클러스터에서 CephFS 미러링 모듈을 활성화합니다.

    예제

    [ceph: root@host01 /]# ceph mgr module enable mirroring

  5. 소스 스토리지 클러스터에서 Ceph 파일 시스템에서 미러링을 활성화합니다.

    구문

    ceph fs snapshot mirror enable FILE_SYSTEM_NAME

    예제

    [ceph: root@host01 /]# ceph fs snapshot mirror enable cephfs

    1. 선택 사항: 스냅샷 미러링을 비활성화합니다.

      구문

      ceph fs snapshot mirror disable FILE_SYSTEM_NAME

      예제

      [ceph: root@host01 /]# ceph fs snapshot mirror disable cephfs

      주의

      파일 시스템에서 스냅샷 미러링을 비활성화하면 구성된 피어가 제거됩니다. 피어를 부트 스트랩하여 다시 가져와야 합니다.

  6. 대상 피어 스토리지 클러스터를 준비합니다.

    1. 대상 노드에서 Ceph Manager 모듈 미러링 을 활성화합니다.

      예제

      [ceph: root@host01 /]# ceph mgr module enable mirroring

    2. 동일한 대상 노드에서 피어 부트스트랩을 생성합니다.

      구문

      ceph fs snapshot mirror peer_bootstrap create FILE_SYSTEM_NAME CLIENT_NAME SITE_NAME

      SITE_NAME 은 대상 스토리지 클러스터를 식별하는 사용자 정의 문자열입니다.

      예제

      [ceph: root@host01 /]# ceph fs snapshot mirror peer_bootstrap create cephfs client.mirror_remote remote-site
      {"token": "eyJmc2lkIjogIjBkZjE3MjE3LWRmY2QtNDAzMC05MDc5LTM2Nzk4NTVkNDJlZiIsICJmaWxlc3lzdGVtIjogImJhY2t1cF9mcyIsICJ1c2VyIjogImNsaWVudC5taXJyb3JfcGVlcl9ib290c3RyYXAiLCAic2l0ZV9uYW1lIjogInNpdGUtcmVtb3RlIiwgImtleSI6ICJBUUFhcDBCZ0xtRmpOeEFBVnNyZXozai9YYUV0T2UrbUJEZlJDZz09IiwgIm1vbl9ob3N0IjogIlt2MjoxOTIuMTY4LjAuNTo0MDkxOCx2MToxOTIuMTY4LjAuNTo0MDkxOV0ifQ=="}

      다음 단계에서 사용할 큰따옴표 사이에 토큰 문자열을 복사합니다.

  7. 소스 스토리지 클러스터에서 대상 스토리지 클러스터에서 부트스트랩 토큰을 가져옵니다.

    구문

    ceph fs snapshot mirror peer_bootstrap import FILE_SYSTEM_NAME TOKEN

    예제

    [ceph: root@host01 /]# ceph fs snapshot mirror peer_bootstrap import cephfs eyJmc2lkIjogIjBkZjE3MjE3LWRmY2QtNDAzMC05MDc5LTM2Nzk4NTVkNDJlZiIsICJmaWxlc3lzdGVtIjogImJhY2t1cF9mcyIsICJ1c2VyIjogImNsaWVudC5taXJyb3JfcGVlcl9ib290c3RyYXAiLCAic2l0ZV9uYW1lIjogInNpdGUtcmVtb3RlIiwgImtleSI6ICJBUUFhcDBCZ0xtRmpOeEFBVnNyZXozai9YYUV0T2UrbUJEZlJDZz09IiwgIm1vbl9ob3N0IjogIlt2MjoxOTIuMTY4LjAuNTo0MDkxOCx2MToxOTIuMTY4LjAuNTo0MDkxOV0ifQ==

  8. 소스 스토리지 클러스터에서 CephFS 미러 피어를 나열합니다.

    구문

    ceph fs snapshot mirror peer_list FILE_SYSTEM_NAME

    예제

    [ceph: root@host01 /]# ceph fs snapshot mirror peer_list cephfs
    {"e5ecb883-097d-492d-b026-a585d1d7da79": {"client_name": "client.mirror_remote", "site_name": "remote-site", "fs_name": "cephfs", "mon_host": "[v2:10.0.211.54:3300/0,v1:10.0.211.54:6789/0] [v2:10.0.210.56:3300/0,v1:10.0.210.56:6789/0] [v2:10.0.210.65:3300/0,v1:10.0.210.65:6789/0]"}}

    1. 선택 사항: 스냅샷 피어를 제거합니다.

      구문

      ceph fs snapshot mirror peer_remove FILE_SYSTEM_NAME PEER_UUID

      예제

      [ceph: root@host01 /]# ceph fs snapshot mirror peer_remove cephfs e5ecb883-097d-492d-b026-a585d1d7da79

      참고

      피어 UUID 값을 찾는 방법은 Ceph 파일 시스템의 미러 상태 보기를 참조하십시오.

  9. 소스 스토리지 클러스터에서 스냅샷 미러링을 위한 디렉터리를 구성합니다.

    구문

    ceph fs snapshot mirror add FILE_SYSTEM_NAME PATH

    예제

    [ceph: root@host01 /]# ceph fs snapshot mirror add cephfs /volumes/_nogroup/subvol_1

    중요

    Ceph 파일 시스템 내부의 절대 경로만 유효합니다.

    참고

    Ceph Manager 미러링 모듈은 경로를 정규화합니다. 예를 들어 /d1/d2/.../dN 디렉터리는 /d1/d2 와 동일합니다. 미러링을 위해 디렉터리를 추가하면 미러링을 위해 상위 디렉터리 및 하위 디렉터리가 추가되지 않습니다.

    1. 선택 사항: 디렉터리의 스냅샷 미러링을 중지합니다.

      구문

      ceph fs snapshot mirror remove FILE_SYSTEM_NAME PATH

      예제

      [ceph: root@host01 /]# ceph fs snapshot mirror remove cephfs /home/user1

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.