8.2. Ceph Monitor 노드 및 해당 운영 체제 수동 업그레이드

시스템 관리자는 Red Hat Ceph Storage 클러스터 노드와 Red Hat Enterprise Linux 운영 체제를 새로운 주요 릴리스로 수동으로 Ceph Monitor 소프트웨어를 업그레이드할 수 있습니다.

중요

한 번에 하나의 모니터 노드에서만 절차를 수행합니다. 클러스터 액세스 문제를 방지하려면 다음 노드를 진행하기 전에 현재 업그레이드된 모니터 노드가 정상적인 작업으로 반환되었는지 확인합니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 노드는 Red Hat Enterprise Linux 7.9를 실행하고 있습니다.
  • 노드는 Red Hat Ceph Storage 버전 3.3z6 또는 4.1을 사용합니다.
  • Red Hat Enterprise Linux 8.3의 설치 소스에 액세스합니다.

절차

  1. 모니터 서비스를 중지합니다.

    구문

    systemctl stop ceph-mon@MONITOR_ID

    MONITOR_ID 를 모니터의 ID 번호로 바꿉니다.

  2. Red Hat Ceph Storage 3을 사용하는 경우 Red Hat Ceph Storage 3 리포지토리를 비활성화합니다.

    1. tools 리포지토리를 비활성화합니다.

      [root@mon ~]# subscription-manager repos --disable=rhel-7-server-rhceph-3-tools-rpms
    2. mon 저장소를 비활성화합니다.

      [root@mon ~]# subscription-manager repos --disable=rhel-7-server-rhceph-3-mon-rpms
  3. Red Hat Ceph Storage 4를 사용하는 경우 Red Hat Ceph Storage 4 리포지토리를 비활성화합니다.

    1. tools 리포지토리를 비활성화합니다.

      [root@mon ~]# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
    2. mon 저장소를 비활성화합니다.

      [root@mon ~]# subscription-manager repos --disable=rhel-7-server-rhceph-4-mon-rpms
  4. st app 유틸리티를 설치합니다. Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
  5. stapp preupgrade 검사를 통해 실행합니다. 명령줄의 Assessing upgradability를 참조하십시오.
  6. /etc/ssh/sshd_config 에서 PermitRootLogin yes 를 설정합니다.
  7. OpenSSH SSH 데몬을 다시 시작합니다.

    [root@mon ~]# systemctl restart sshd.service
  8. Linux 커널에서 iSCSI 모듈을 제거합니다.

    [root@mon ~]# modprobe -r iscsi
  9. RHEL 7에서 RHEL 8로의 업그레이드 수행에 따라 업그레이드를 수행합니다.
  10. 노드를 재부팅합니다.
  11. Red Hat Enterprise Linux 8용 Red Hat Ceph Storage 4용 리포지토리를 활성화합니다.

    1. 툴 리포지토리를 활성화합니다.

      [root@mon ~]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms
    2. mon 저장소를 활성화합니다.

      [root@mon ~]# subscription-manager repos --enable=rhceph-4-mon-for-rhel-8-x86_64-rpms
  12. ceph-mon 패키지를 설치합니다.

    [root@mon ~]# dnf install ceph-mon
  13. 관리자 서비스가 모니터 서비스와 함께 배치되면 ceph-mgr 패키지를 설치합니다.

    [root@mon ~]# dnf install ceph-mgr
  14. 아직 업그레이드되지 않았거나 이미 이러한 파일이 복원된 노드에서 ceph-client-admin.keyringceph.conf 파일을 복원하십시오.
  15. 기존 NetNamespace 버킷을 최신 버킷 유형 straw2 로 전환합니다.

    # ceph osd getcrushmap -o backup-crushmap
    # ceph osd crush set-all-straw-buckets-to-straw2
  16. Red Hat Ceph Storage 3에서 Red Hat Ceph Storage 4로 업그레이드한 후 모든 데몬이 업데이트되면 다음 단계를 실행하십시오.

    1. messenger v2 프로토콜, msgr2 를 활성화합니다.

      ceph mon enable-msgr2

      그러면 이전 기본 포트 6789에 바인딩하는 모든 Ceph 모니터가 3300의 새 포트에 바인딩됩니다.

      중요

      추가 Ceph Monitor 구성을 수행하기 전에 모든 Ceph 모니터가 Red Hat Ceph Storage 3에서 Red Hat Ceph Storage 4로 업그레이드되었는지 확인합니다.

    2. 모니터 상태를 확인합니다.

      ceph mon dump
      참고

      nautilus OSD를 실행하면 v2 주소에 자동으로 바인딩되지 않습니다. 다시 시작해야 합니다.

  17. Red Hat Ceph Storage 3에서 Red Hat Ceph Storage 4로 업그레이드된 각 호스트에 대해 모니터링 포트를 지정하지 않도록 ceph.conf 파일을 업데이트하거나 v2 및 v1 주소와 포트를 모두 참조합니다. ceph.conf 파일의 구성 옵션을 스토리지 클러스터의 구성 데이터베이스로 가져옵니다.

    예제

    [root@mon ~]# ceph config assimilate-conf -i /etc/ceph/ceph.conf

    1. 스토리지 클러스터의 구성 데이터베이스를 확인합니다.

      예제

      [root@mon ~]# ceph config dump

    2. 선택 사항: Red Hat Ceph Storage 4로 업그레이드한 후 각 호스트에 대해 최소 ceph.conf 파일을 생성합니다.

      예제

      [root@mon ~]# ceph config generate-minimal-conf > /etc/ceph/ceph.conf.new
      [root@mon ~]# mv /etc/ceph/ceph.conf.new /etc/ceph/ceph.conf

  18. leveldb 패키지를 설치합니다.

    [root@mon ~]# dnf install leveldb
  19. 모니터 서비스를 시작합니다.

    [root@mon ~]# systemctl start ceph-mon.target
  20. 관리자 서비스가 모니터 서비스와 함께 배치되면 관리자 서비스도 시작합니다.

    [root@mon ~]# systemctl start ceph-mgr.target
  21. 모니터 서비스가 백업되었으며 쿼럼에 있는지 확인합니다.

    [root@mon ~]# ceph -s

    서비스 아래의 mon: 행에서 node가 쿼럼이 아닌 쿼럼 에 나열되는 확인합니다.

    예제

    mon: 3 daemons, quorum ceph4-mon,ceph4-mon2,ceph4-mon3 (age 2h)

  22. 관리자 서비스가 모니터 서비스와 함께 배치되어 있는 경우 해당 서비스가 실행 중인지 확인합니다.

    [root@mon ~]# ceph -s

    서비스 아래의 mgr: 행에서 관리자의 노드 이름을 찾습니다.

    예제

    mgr: ceph4-mon(active, since 2h), standbys: ceph4-mon3, ceph4-mon2

  23. 모두 업그레이드될 때까지 모든 모니터 노드에서 위의 단계를 반복합니다.