8.7. Ceph File System 메타데이터 서버 노드 및 운영 체제를 수동으로 업그레이드

Red Hat Ceph Storage 클러스터와 Red Hat Enterprise Linux 운영 체제를 새로운 메이저 릴리스로 수동으로 Ceph File System (CephFS) 메타데이터 서버(MDS) 소프트웨어를 업그레이드할 수 있습니다.

중요

스토리지 클러스터를 업그레이드하기 전에 활성 MDS 순위 수를 파일 시스템별로 하나씩 줄입니다. 이렇게 하면 여러 MDS 간에 가능한 모든 버전 충돌이 발생하지 않습니다. 또한 업그레이드하기 전에 모든 edge 노드가 오프라인 상태로 전환하십시오.

MDS 클러스터에는 버전 관리 또는 파일 시스템 플래그가 내장되어 있지 않기 때문입니다. 이러한 기능을 사용하지 않으면 여러 MDS가 다른 버전의 MDS 소프트웨어를 사용하여 통신할 수 있으며 어설션 또는 기타 오류가 발생할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 노드는 Red Hat Enterprise Linux 7.9를 실행하고 있습니다.
  • 노드는 Red Hat Ceph Storage 버전 3.3z6 또는 4.1을 사용합니다.
  • Red Hat Enterprise Linux 8.3의 설치 소스에 액세스합니다.
  • 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
중요

기본 XFS 파일 시스템은 ftype=1 또는 d_type 지원을 사용하여 포맷해야 합니다. xfs_info /var 명령을 실행하여 ftype1 로 설정되어 있는지 확인합니다. ftype 값이 1 이 아닌 경우 새 디스크를 연결하거나 볼륨을 만듭니다. 이 새 장치 상단에서 새 XFS 파일 시스템을 생성하여 /var/lib/containers 에 마운트합니다.

Red Hat Enterprise Linux 8부터 mkfs.xfs 는 기본적으로 ftype=1 을 활성화합니다.

절차

  1. 활성 MDS 순위 수를 1로 줄입니다.

    구문

    ceph fs set FILE_SYSTEM_NAME max_mds 1

    예제

    [root@mds ~]# ceph fs set fs1 max_mds 1

  2. 클러스터가 모든 MDS 순위를 중지할 때까지 기다립니다. 모든 MDS가 중지되면 순위 0만 활성화되어야 합니다. 나머지는 Wait 모드여야 합니다. 파일 시스템의 상태를 확인합니다.

    [root@mds ~]# ceph status
  3. systemctl 을 사용하여 모든 MDS를 오프라인으로 전환합니다.

    [root@mds ~]# systemctl stop ceph-mds.target
  4. 하나의 MDS만 온라인 상태인지 확인하고 파일 시스템의 순위 0이 있는지 확인합니다.

    [root@mds ~]# ceph status
  5. 운영 체제 버전의 툴 리포지토리를 비활성화합니다.

    1. RHEL 7의 Red Hat Ceph Storage 3에서 업그레이드하는 경우 Red Hat Ceph Storage 3 툴 리포지토리를 비활성화합니다.

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

      [root@mds ~]# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
  6. st app 유틸리티를 설치합니다. become p에 대한 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
  7. stapp preupgrade 검사를 통해 실행합니다. 자세한 내용은 명령줄에서 Upgradability를 참조하십시오.
  8. /etc/ssh/sshd_config 를 편집하고 PermitRootLoginyes 로 설정합니다.
  9. OpenSSH SSH 데몬을 다시 시작합니다.

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

    [root@mds ~]# modprobe -r iscsi
  11. 업그레이드를 수행합니다. RHEL 7에서 RHEL 8로의 업그레이드 수행을 참조하십시오.
  12. MDS 노드를 재부팅합니다.
  13. Red Hat Enterprise Linux 8용 Red Hat Ceph Storage 4용 툴 리포지토리를 활성화합니다.

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

    [root@mds ~]# dnf install ceph-mds -y
  15. 선택 사항: 이 노드에 공동 배치된 모든 Ceph 서비스에 대한 패키지를 설치합니다. 필요한 경우 추가 Ceph 리포지토리를 활성화합니다.
  16. 선택 사항: 다른 Ceph 서비스에 필요한 leveldb 패키지를 설치합니다.

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

    # ceph osd getcrushmap -o backup-crushmap
    # ceph osd crush set-all-straw-buckets-to-straw2
  19. MDS 서비스를 시작합니다.

    [root@mds ~]# systemctl restart ceph-mds.target
  20. 데몬이 활성 상태인지 확인합니다.

    [root@mds ~]# ceph -s
  21. 대기 데몬에 대해 동일한 프로세스를 따릅니다.
  22. Wait에서 모든 MDS를 다시 시작한 후 클러스터의 max_mds 값을 복원하십시오.

    구문

    ceph fs set FILE_SYSTEM_NAME max_mds ORIGINAL_VALUE

    예제

    [root@mds ~]# ceph fs set fs1 max_mds 5