4.2. 노드 호스트 백업 생성


노드 호스트의 백업 생성은 마스터 호스트 백업과 다른 사용 사례입니다. 마스터 호스트에는 중요한 파일이 많이 들어 있으므로 백업을 만드는 것이 좋습니다. 그러나 노드의 특성상 장애 조치(failover)를 할 때 모든 특별한 항목이 노드에 복제되며, 대개 환경 실행에 필요한 데이터는 포함되어 있지 않습니다. 환경을 실행하는 데 필요한 항목이 노드 백업에 포함되어 있으면 백업을 생성하는 것이 좋습니다.

백업 프로세스는 시스템 업데이트, 업그레이드 또는 기타 중요한 수정 등 인프라를 변경하기 전에 수행해야 합니다. 장애가 발생할 경우 최신 데이터를 사용할 수 있도록 정기적으로 백업을 수행해야 합니다.

OpenShift Container Platform 파일

노드 인스턴스는 컨테이너를 기반으로 하는 포드 형태로 애플리케이션을 실행합니다. /etc/origin//etc/origin/node 디렉터리에 다음과 같은 중요한 파일이 있습니다.

  • 노드 서비스의 구성
  • 설치를 통해 생성된 인증서
  • 클라우드 공급자 관련 구성
  • dnsmasq 구성과 같은 키 및 기타 인증 파일

OpenShift Container Platform 서비스를 사용자 정의하여 로그 레벨을 높이거나 프록시를 사용하도록 할 수 있으며, 구성 파일은 /etc/sysconfig 디렉터리에 저장됩니다.

프로시저

  1. 노드 구성 파일의 백업을 생성하십시오.

    $ MYBACKUPDIR=/backup/$(hostname)/$(date +%Y%m%d)
    $ sudo mkdir -p ${MYBACKUPDIR}/etc/sysconfig
    $ sudo cp -aR /etc/origin ${MYBACKUPDIR}/etc
    $ sudo cp -aR /etc/sysconfig/atomic-openshift-node ${MYBACKUPDIR}/etc/sysconfig/
  2. OpenShift Container Platform에서는 다음을 포함하여 백업 정책을 계획할 때 고려해야 하는 특정 파일을 사용합니다.

    파일

    설명

    /etc/cni/*

    컨테이너 네트워크 인터페이스 구성(사용된 경우)

    /etc/sysconfig/iptables

    iptables 규칙의 저장 위치

    /etc/sysconfig/docker-storage-setup

    container-storage-setup 명령의 입력 파일

    /etc/sysconfig/docker

    docker 구성 파일

    /etc/sysconfig/docker-network

    docker 네트워킹 구성(예: MTU)

    /etc/sysconfig/docker-storage

    docker 스토리지 구성(container-storage-setup으로 생성)

    /etc/dnsmasq.conf

    dnsmasq의 기본 구성 파일

    /etc/dnsmasq.d/*

    다른 dnsmasq 구성 파일

    /etc/sysconfig/flanneld

    flannel 구성 파일(사용된 경우)

    /etc/pki/ca-trust/source/anchors/

    시스템에 추가된 인증서(예: 외부 레지스트리용)

    이러한 파일을 생성하려면 다음을 수행하십시오.

    $ MYBACKUPDIR=/backup/$(hostname)/$(date +%Y%m%d)
    $ sudo mkdir -p ${MYBACKUPDIR}/etc/sysconfig
    $ sudo mkdir -p ${MYBACKUPDIR}/etc/pki/ca-trust/source/anchors
    $ sudo cp -aR /etc/sysconfig/{iptables,docker-*,flanneld} \
        ${MYBACKUPDIR}/etc/sysconfig/
    $ sudo cp -aR /etc/dnsmasq* /etc/cni ${MYBACKUPDIR}/etc/
    $ sudo cp -aR /etc/pki/ca-trust/source/anchors/* \
        ${MYBACKUPDIR}/etc/pki/ca-trust/source/anchors/
  3. 패키지를 실수로 제거했거나 rpm 패키지에 포함된 파일을 복원해야 하는 경우 시스템에 rhel 패키지 목록이 설치되어 있으면 유용할 수 있습니다.

    참고

    콘텐츠 뷰 또는 사실 저장소와 같은 Red Hat Satellite 기능을 사용하는 경우 누락된 패키지 및 시스템에 설치된 패키지의 히스토리 데이터를 다시 설치하는 적절한 메커니즘을 제공하십시오.

    시스템에 설치된 현재 rhel 패키지 목록을 작성하려면 다음을 수행하십시오.

    $ MYBACKUPDIR=/backup/$(hostname)/$(date +%Y%m%d)
    $ sudo mkdir -p ${MYBACKUPDIR}
    $ rpm -qa | sort | sudo tee $MYBACKUPDIR/packages.txt
  4. 이제 백업 디렉터리에 다음 파일이 있을 것입니다.

    $ MYBACKUPDIR=/backup/$(hostname)/$(date +%Y%m%d)
    $ sudo find ${MYBACKUPDIR} -mindepth 1 -type f -printf '%P\n'
    etc/sysconfig/atomic-openshift-node
    etc/sysconfig/flanneld
    etc/sysconfig/iptables
    etc/sysconfig/docker-network
    etc/sysconfig/docker-storage
    etc/sysconfig/docker-storage-setup
    etc/sysconfig/docker-storage-setup.rpmnew
    etc/origin/node/system:node:app-node-0.example.com.crt
    etc/origin/node/system:node:app-node-0.example.com.key
    etc/origin/node/ca.crt
    etc/origin/node/system:node:app-node-0.example.com.kubeconfig
    etc/origin/node/server.crt
    etc/origin/node/server.key
    etc/origin/node/node-dnsmasq.conf
    etc/origin/node/resolv.conf
    etc/origin/node/node-config.yaml
    etc/origin/node/flannel.etcd-client.key
    etc/origin/node/flannel.etcd-client.csr
    etc/origin/node/flannel.etcd-client.crt
    etc/origin/node/flannel.etcd-ca.crt
    etc/origin/cloudprovider/openstack.conf
    etc/pki/ca-trust/source/anchors/openshift-ca.crt
    etc/pki/ca-trust/source/anchors/registry-ca.crt
    etc/dnsmasq.conf
    etc/dnsmasq.d/origin-dns.conf
    etc/dnsmasq.d/origin-upstream-dns.conf
    etc/dnsmasq.d/node-dnsmasq.conf
    packages.txt

    필요한 경우 파일을 압축하여 공간을 절약할 수 있습니다.

    $ MYBACKUPDIR=/backup/$(hostname)/$(date +%Y%m%d)
    $ sudo tar -zcvf /backup/$(hostname)-$(date +%Y%m%d).tar.gz $MYBACKUPDIR
    $ sudo rm -Rf ${MYBACKUPDIR}

이러한 파일을 처음부터 새로 생성할 수 있도록 openshift-ansible-contrib 리포지토리에는 이전 단계를 수행하는 backup_master_node.sh 스크립트가 포함되어 있습니다. 이 스크립트는 스크립트를 실행하는 호스트에 디렉터리를 생성하고 앞서 언급된 모든 파일을 복사합니다.

참고

Openshift-ansible-contrib 스크립트는 Red Hat에서 지원되지 않지만, 코드가 정의된 대로 작동하고 안전한지 참조 아키텍처 팀에서 테스트합니다.

다음을 사용하여 모든 마스터 호스트에서 이 스크립트를 실행할 수 있습니다.

$ mkdir ~/git
$ cd ~/git
$ git clone https://github.com/openshift/openshift-ansible-contrib.git
$ cd openshift-ansible-contrib/reference-architecture/day2ops/scripts
$ ./backup_master_node.sh -h
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.