5.4. OSD 드라이브 교체


Ceph는 내결함성을 위해 설계되었습니다. 즉, 데이터가 손실되지 않고 성능이 저하된 상태에서 작동할 수 있습니다. 따라서 데이터 스토리지 드라이브가 실패하더라도 Ceph가 작동할 수 있습니다. 실패한 드라이브의 컨텍스트에서 degraded 상태는 다른 OSD에 저장된 데이터의 추가 복사본이 클러스터의 다른 OSD로 자동 다시 입력됨을 의미합니다. 그러나 이러한 경우 오류가 발생한 OSD 드라이브를 교체하고 OSD를 수동으로 다시 생성합니다.

드라이브가 실패하면 Ceph에서 OSD를 down 으로 보고합니다.

HEALTH_WARN 1/3 in osds are down
osd.0 is down since epoch 23, last address 192.168.106.220:6800/11080
참고

Ceph는 네트워킹 또는 권한 문제로 인해 OSD를 down 으로 표시할 수 있습니다. 자세한 내용은 OSD 다운 을 참조하십시오.

최신 서버는 일반적으로 hot-swappable 드라이브로 배포되므로 실패한 드라이브를 끌어서 노드를 중단하지 않고 새 드라이브로 교체할 수 있습니다. 전체 절차에는 다음 단계가 포함됩니다.

  1. Ceph 클러스터에서 OSD를 제거합니다. 자세한 내용은 Ceph Cluster 프로시저에서 OSD 제거를 참조하십시오.
  2. 드라이브를 교체하십시오. 자세한 내용은 물리적 드라이브 교체 섹션을 참조하십시오.
  3. 클러스터에 OSD를 추가합니다. 자세한 내용은 Ceph 클러스터에 OSD 추가를 참조하십시오.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Monitor 노드에 대한 루트 수준 액세스입니다.
  • OSD가 한 개 이상 다운 되었습니다.

Ceph 클러스터에서 OSD 제거

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

    예제

    [root@host01 ~]# cephadm shell

  2. 다운 된 OSD를 확인합니다.

    예제

    [ceph: root@host01 /]# ceph osd tree | grep -i down
    ID  CLASS  WEIGHT   TYPE NAME           STATUS  REWEIGHT  PRI-AFF
     0   hdd 0.00999        osd.0     down  1.00000          1.00000

  3. 클러스터가 데이터를 재조정하고 다른 OSD에 복사하기 위해 OSD를 밖으로 표시합니다.

    구문

    ceph osd out OSD_ID.

    예제

    [ceph: root@host01 /]# ceph osd out osd.0
    marked out osd.0.

    참고

    OSD가 다운되면 Ceph는 mon_osd_ down _ out _interval 매개변수에 따라 OSD에서 하트비트 패킷을 수신하지 않는 경우 600초 후에 자동으로 표시합니다. 이 경우 필요한 사본 수가 클러스터 내에 존재하는지 확인하기 위해 실패한 OSD에서 실패한 OSD를 백필하기 시작합니다. 클러스터가 다시 입력되는 동안 클러스터가 성능이 저하됩니다.

  4. 실패한 OSD가 다시 입력되었는지 확인합니다.

    예제

    [ceph: root@host01 /]# ceph -w | grep backfill
    2022-05-02 04:48:03.403872 mon.0 [INF] pgmap v10293282: 431 pgs: 1 active+undersized+degraded+remapped+backfilling, 28 active+undersized+degraded, 49 active+undersized+degraded+remapped+wait_backfill, 59 stale+active+clean, 294 active+clean; 72347 MB data, 101302 MB used, 1624 GB / 1722 GB avail; 227 kB/s rd, 1358 B/s wr, 12 op/s; 10626/35917 objects degraded (29.585%); 6757/35917 objects misplaced (18.813%); 63500 kB/s, 15 objects/s recovering
    2022-05-02 04:48:04.414397 mon.0 [INF] pgmap v10293283: 431 pgs: 2 active+undersized+degraded+remapped+backfilling, 75 active+undersized+degraded+remapped+wait_backfill, 59 stale+active+clean, 295 active+clean; 72347 MB data, 101398 MB used, 1623 GB / 1722 GB avail; 969 kB/s rd, 6778 B/s wr, 32 op/s; 10626/35917 objects degraded (29.585%); 10580/35917 objects misplaced (29.457%); 125 MB/s, 31 objects/s recovering
    2022-05-02 04:48:00.380063 osd.1 [INF] 0.6f starting backfill to osd.0 from (0'0,0'0] MAX to 2521'166639
    2022-05-02 04:48:00.380139 osd.1 [INF] 0.48 starting backfill to osd.0 from (0'0,0'0] MAX to 2513'43079
    2022-05-02 04:48:00.380260 osd.1 [INF] 0.d starting backfill to osd.0 from (0'0,0'0] MAX to 2513'136847
    2022-05-02 04:48:00.380849 osd.1 [INF] 0.71 starting backfill to osd.0 from (0'0,0'0] MAX to 2331'28496
    2022-05-02 04:48:00.381027 osd.1 [INF] 0.51 starting backfill to osd.0 from (0'0,0'0] MAX to 2513'87544

    배치 그룹 상태가 active+clean 에서 활성 , 일부 저하된 오브젝트, 마지막으로 마이그레이션이 완료되면 active +clean 으로 변경되는 것을 확인해야 합니다.

  5. OSD를 중지합니다.

    구문

    ceph orch daemon stop OSD_ID

    예제

    [ceph: root@host01 /]# ceph orch daemon stop osd.0

  6. 스토리지 클러스터에서 OSD를 제거합니다.

    구문

    ceph orch osd rm OSD_ID --replace

    예제

    [ceph: root@host01 /]# ceph orch osd rm 0 --replace

    OSD_ID 가 보존됩니다.

물리적 드라이브 교체

물리 드라이브 교체에 대한 자세한 내용은 하드웨어 노드의 설명서를 참조하십시오.

  1. 드라이브가 hot-swappable인 경우 오류가 발생한 드라이브를 새 드라이브로 교체합니다.
  2. 드라이브가 핫 스왑이 아니며 노드에 여러 OSD가 포함된 경우 전체 노드를 종료하고 물리적 드라이브를 교체해야 할 수 있습니다. 클러스터가 다시 입력되지 않도록 합니다. 자세한 내용은 Red Hat Ceph Storage 문제 해결 가이드중지 및 재조정 장을 참조하십시오.
  3. 드라이브가 /dev/ 디렉토리 아래에 표시되면 드라이브 경로를 기록해 둡니다.
  4. OSD를 수동으로 추가하려면 OSD 드라이브를 찾아 디스크를 포맷하십시오.

Ceph 클러스터에 OSD 추가

  1. 새 드라이브가 삽입되면 다음 옵션을 사용하여 OSD를 배포할 수 있습니다.

    • --unmanaged 매개 변수가 설정되지 않은 경우 OSD는 Ceph Orchestrator에서 자동으로 배포합니다.

      예제

      [ceph: root@host01 /]# ceph orch apply osd --all-available-devices

    • unmanaged 매개 변수가 true 로 설정된 사용 가능한 모든 장치에 OSD를 배포합니다.

      예제

      [ceph: root@host01 /]# ceph orch apply osd --all-available-devices --unmanaged=true

    • 특정 장치 및 호스트에서 OSD를 배포합니다.

      예제

      [ceph: root@host01 /]# ceph orch daemon add osd host02:/dev/sdb

  2. CRUSH 계층 구조가 정확한지 확인합니다.

    예제

    [ceph: root@host01 /]# ceph osd tree

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.