5.3.2. ノードホストのバックアップの作成
ノードホストのバックアップの作成は、マスターホストのバックアップとは異なるユースケースになります。マスターホストには数多くの重要なファイルが含まれるため、バックアップの作成は強く推奨されます。しかしノードの場合、その性質として特殊なものはフェイルオーバー時にノード全体で複製され、通常はそれらに環境の実行に必要なデータは含まれません。ノードのバックアップ作成は、環境の実行に必要なものが含まれる場合に実行することが推奨されます。
バックアッププロセスは、システム更新やアップグレードまたはその他の大きな変更を含む変更をインフラストラクチャーに加える前に実行します。バックアップは、障害の発生時に最新データが利用可能になるように定期的に実行する必要があります。
OpenShift Container Platform ファイル
ノードインスタンスはコンテナーをベースとする Pod の形式で実行されます。/etc/origin/
および /etc/origin/node
ディレクトリーは以下のような重要なファイルを格納します。
- ノードサービスの設定
- インストールで生成される証明書
- クラウドプロバイダー関連の設定
-
キーおよびその他の認証ファイル (
dnsmasq
設定など)
OpenShift Container Platform サービスは、ログレベルの引き上げやプロキシーの使用などを実行するためにカスタマイズでき、設定ファイルは /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/atomic-openshift-node ${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/atomic-openshift-node ${MYBACKUPDIR}/etc/sysconfig/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform は、バックアップポリシーの計画時に考慮する必要のある特定のファイルを使用します。 これには以下が含まれます。
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