10.2. RHEL for Edge イメージの更新
10.2.1. RHEL for Edge イメージの更新のデプロイ方法 リンクのコピーリンクがクリップボードにコピーされました!
RHEL for Edge イメージでは、更新を手動でデプロイするか、デプロイメントプロセスを自動化することができます。更新はアトミックな方法で適用されます。つまり、各更新の状態が周知され、更新は段階的に行われ、再起動時にのみ適用されます。デバイスを再起動するまで変更を確認できないため、可能な限り最大限のアップタイムを確保するために再起動をスケジュールすることができます。
イメージの更新中は、更新されたオペレーティングシステムのコンテンツのみがネットワーク経由で転送されます。これにより、イメージ全体を転送するよりもデプロイメントプロセスが効率的になります。/usr 内のオペレーティングシステムのバイナリーとライブラリーは read-only であり、read and write 状態は /var および /etc ディレクトリーで維持されます。
新しいデプロイメントに移動すると、/etc および /var ディレクトリーが新しいデプロイメントにコピーされ、read and write 権限が付与されます。/usr ディレクトリーは、新しいデプロイメントディレクトリーにソフトリンクとしてコピーされ、read-only パーミッションが設定されます。
以下の図は、RHEL for Edge イメージの更新デプロイメントプロセスを説明しています。
デフォルトでは、新しいシステムは chroot 操作と同様の手順を使用して起動されます。つまり、システムは、基盤となるサーバー環境への公開を制御しながら、ファイルシステムへのアクセス制御を可能にします。新しい /sysroot ディレクトリーには、主に次の部分があります。
-
/sysroot/ostree/repoディレクトリーにあるリポジトリーデータベース。 -
/sysroot/ostree/deploy/rhel/deployディレクトリーのファイルシステムリビジョン。これは、システム更新の各操作によって作成されます。 -
前出のデプロイメントにリンクしている
/sysroot/ostree/bootディレクトリー。/ostreeは/sysroot/ostreeへのソフトリンクであることに注意してください。/sysroot/ostree/bootディレクトリーのファイルは複製されません。デプロイメント中に変更されていない場合は、同じファイルが使用されます。ファイルは、/sysroot/ostree/repo/objectsディレクトリーに格納されている別のファイルへのハードリンクです。
オペレーティングシステムは、次の方法でデプロイメントを選択します。
-
dracutツールは、initramfs rootファイルシステムのostreeカーネル引数を解析し、/usrディレクトリーをread-onlyバインドマウントとして設定します。 -
/sysrootのデプロイメントディレクトリーを/ディレクトリーにバインドします。 -
MS_MOVEマウントフラグを使用して、dirsがすでにマウントされているオペレーティングシステムを再マウントします。
何か問題が発生した場合は、rpm-ostree cleanup コマンドを使用して古いデプロイメントを削除することで、デプロイのロールバックを実行できます。各クライアントマシンには、/ostree/repo に格納されている OSTree リポジトリーと、/ostree/deploy/$STATEROOT/$CHECKSUM に格納されている一連のデプロイメントが含まれています。
RHEL for Edge イメージのデプロイメントの更新により、複数のデバイス間でのシステムの一貫性が向上し、再現性が容易になり、システム状態の変更前と変更後の分離が改善されます。