5.2.2. 마스터 호스트 백업 생성
시스템 업데이트, 업그레이드 또는 기타 중요한 수정 등 OpenShift Container Platform 인프라를 변경하기 전에 이 백업 프로세스를 수행하십시오. 장애가 발생할 경우 최신 데이터를 사용할 수 있도록 데이터를 정기적으로 백업하십시오.
OpenShift Container Platform 파일
마스터 인스턴스는 API, 컨트롤러와 같은 중요한 서비스를 실행합니다. /etc/origin/master
디렉터리에서는 다음과 같은 여러 중요한 파일을 저장합니다.
- 구성, API, 컨트롤러, 서비스 등
- 설치를 통해 생성된 인증서
- 모든 클라우드 공급자 관련 구성
-
키 및 기타 인증 파일(예: htpasswd를 사용하는 경우
htpasswd
) - 기타 등등
로그 레벨 증가 또는 프록시 사용과 같은 OpenShift Container Platform 서비스를 사용자 정의할 수 있습니다. 구성 파일은 /etc/sysconfig
디렉터리에 저장됩니다.
마스터도 노드이므로 전체 /etc/origin
디렉터리를 백업하십시오.
프로시저
각 마스터 노드에서 다음 단계를 수행해야 합니다.
- 여기에 있는 포드 정의의 백업을 생성하십시오.
마스터 호스트 구성 파일의 백업을 생성하십시오.
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/ ${MYBACKUPDIR}/etc/sysconfig/
$ 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/ ${MYBACKUPDIR}/etc/sysconfig/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고마스터 구성 파일은 /etc/origin/master/master-config.yaml입니다.
주의/etc/origin/master/ca.serial.txt
파일은 Ansible 호스트 인벤토리에 나열된 첫 번째 마스터에서만 생성됩니다. 첫 번째 마스터 호스트를 더 이상 사용하지 않는 경우 프로세스 전에/etc/origin/master/ca.serial.txt
파일을 나머지 마스터 호스트에 복사하십시오.중요여러 마스터를 실행하는 OpenShift Container Platform 3.11 클러스터에서는 마스터 노드 중 하나의
/etc/origin/master
,/etc/etcd/ca
및/etc/etcd/generated_certs
에 추가 CA 인증서가 들어 있습니다. 이러한 인증서는 애플리케이션 노드와 etcd 노드 확장 작업에 필요하며, 원래 마스터를 영구적으로 사용할 수 없게 되는 경우 다른 마스터 노드에 복원해야 합니다. 이러한 디렉터리는 기본적으로 여기에 설명된 백업 프로시저에 포함됩니다.백업을 계획할 때 고려해야 할 다른 중요한 파일은 다음과 같습니다.
Expand 파일
설명
/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/
시스템에 추가된 인증서(예: 외부 레지스트리용)
다음 파일의 백업을 생성하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 패키지가 실수로 제거되었거나
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
$ MYBACKUPDIR=/backup/$(hostname)/$(date +%Y%m%d) $ sudo mkdir -p ${MYBACKUPDIR} $ rpm -qa | sort | sudo tee $MYBACKUPDIR/packages.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 단계를 수행했다면 백업 디렉터리에 다음 파일이 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 경우 파일을 압축하여 공간을 절약할 수 있습니다.
MYBACKUPDIR=/backup/$(hostname)/$(date +%Y%m%d) sudo tar -zcvf /backup/$(hostname)-$(date +%Y%m%d).tar.gz $MYBACKUPDIR sudo rm -Rf ${MYBACKUPDIR}
$ MYBACKUPDIR=/backup/$(hostname)/$(date +%Y%m%d) $ sudo tar -zcvf /backup/$(hostname)-$(date +%Y%m%d).tar.gz $MYBACKUPDIR $ sudo rm -Rf ${MYBACKUPDIR}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이러한 파일을 처음부터 새로 생성할 수 있도록 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
$ 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