OpenShift Container Storage の更新
クラスターおよびストレージ管理者の手順
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、弊社の CTO、Chris Wright のメッセージ を参照してください。
Red Hat ドキュメントへのフィードバックの提供
弊社のドキュメントについてのご意見をお聞かせください。ドキュメントの改善点があれば、ぜひお知らせください。フィードバックをお寄せいただくには、以下をご確認ください。
特定の部分についての簡単なコメントをお寄せいただく場合は、以下をご確認ください。
- ドキュメントの表示が Multi-page HTML 形式になっていて、ドキュメントの右上隅に Feedback ボタンがあることを確認してください。
- マウスカーソルで、コメントを追加する部分を強調表示します。
- そのテキストの下に表示される Add Feedback ポップアップをクリックします。
- 表示される手順に従ってください。
より詳細なフィードバックを行う場合は、Bugzilla のチケットを作成します。
- Bugzilla の Web サイトに移動します。
- Component で Documentation を選択します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも記入してください。
- Submit Bug をクリックします。
第1章 OpenShift Container Storage 更新プロセスの概要
Red Hat OpenShift Container Storage およびそのコンポーネントを(4.6 と 4.7 間などのマイナーリリース間、または 4.7.0 と 4.7.1 間などのバッチ更新間でアップグレードできます。
OpenShift Container Storage の異なる部分を特定の順序でアップグレードする必要があります。
- OpenShift Container Platform の『クラスターの更新』ドキュメントに従って OpenShift Container Platform を更新します。
OpenShift Container Storage を更新します。
- 更新に非接続環境を準備する には、Operator Lifecycle Manager を制限されたネットワークで使用するための Operator ガイドを参照し、 Openshift Container Storage およびローカルストレージ Operator を使用している場合はこれらを更新できるようにします。
お使いのセットアップに適したプロセスを使用して、OpenShift Container Storage Operator を更新します。
ローカルストレージを使用する場合:
ローカルストレージ Operator を更新します。
不明な場合は、「Checking for Local Storage Operator deployments」を参照してください。
ローカルストレージがサポートするクラスターの 更新後の設定変更を実行します。
詳細は、ローカルストレージでサポートされるクラスターについての更新後の設定について参照してください。
更新に関する考慮事項
開始する前に、以下の重要な考慮事項を確認してください。
Red Hat では、Red Hat OpenShift Container Storage で同じバージョンの Red Hat OpenShift Container Platform を使用することを推奨しています。
OpenShift Container Platform および OpenShift Container Storage のサポートされる組み合わせについての詳細は、「相互運用性マトリックス」を参照してください。
- ローカルストレージ Operator は、ローカルストレージ Operator のバージョンが Red Hat OpenShift Container Platform のバージョンと一致する場合にのみ完全にサポートされます。
第2章 OpenShift Container Storage アップグレードチャネルおよびリリース
OpenShift Container Platform 4.1 で、Red Hat はクラスターのアップグレードの適切なリリースバージョンを推奨するためにチャネルという概念を導入しました。アップグレードのペースを制御することで、これらのアップグレードチャネルからアップグレードストラテジーを選択することができます。OpenShift Container Storage は、OpenShift Container Platform の Operator としてデプロイされるため、複数のチャネルに修正を提供し、アップグレードのペースを制御するための同じストラテジーに従います。アップグレードチャネルは OpenShift Container Storage のマイナーバージョンに関連付けられます。たとえば、OpenShift Container Storage 4.7 アップグレードチャネルでは 4.6 から 4.7 へのアップグレードおよび 4.7 内のアップグレードが推奨されます。4.8 以降のリリースへのアップグレードは推奨されていません。このストラテジーにより、管理者は OpenShift Container Storage の次のマイナーバージョンへのアップグレードに関して明確な決定を行うことができます。
アップグレードチャネルはリリースの選択のみを制御し、インストールするクラスターのバージョンには影響を与えません。ocs-operator
はインストールされる OpenShift Container Storage のバージョンを決定します。追加設定なしで、OpenShift Container Platform との互換性を維持しながら、最新の OpenShift Container Storage リリースを常にインストールします。そのため、OpenShift Container Platform 4.7 では、OpenShift Container Storage 4.7 はインストールできる最新バージョンになります。
OpenShift Container Storage のアップグレードは、互換性と相互運用性が OpenShift Container Platform で維持されるように OpenShift Container Platform のアップグレードと連動します。OpenShift Container Storage 4.7 では、OpenShift Container Platform 4.7 および 4.8 がサポートされます。OpenShift Container Platform 4.8 は、OpenShift Container Platform との前方互換性を維持するためにサポートされます。OpenShift Container Storage のバージョンを OpenShift Container Platform と同じにしておくと、そのリリースのすべての機能やエンハンスメントを活用できます。
OpenShift Container Platform 4.7 では以下のアップグレードチャネルが提供されます。
stable-4.7
- stable-4.7 チャネル
- 新規バージョンの GA 後、 マイナーバージョンに対応する stable チャネルが、アップグレードに使用できる新しいイメージで更新されます。stable-4.7 チャネルを使用すると、OpenShift Container Storage 4.6 からのアップグレードおよび 4.7 内のアップグレードを行うことができます。
第3章 内部モードでの OpenShift Container Storage の更新
以下の手順に従って、内部モードでデプロイされた OpenShift Container Storage クラスターを更新します。
3.1. 内部モードでの OpenShift Container Storage Operator の自動更新の有効化
以下の手順を使用して、OpenShift Container Platform で OpenShift Container Storage Operator の自動の更新承認を有効にします。
前提条件
- Status カードの Persistent Storage で、OCS Cluster および Data Resiliency に緑色のチェックマークが付いていることを確認します。
-
Status カードの Object Service で、Object Service および Data Resiliency の両方が
Ready
状態 (緑のチェックマーク) にあることを確認します。 - OpenShift Container Platform クラスターをバージョン 4.7.Y の最新の安定したリリースに更新する場合は、『Updating Clusters』を参照してください。
Red Hat OpenShift Container Storage チャネルを
stable-4.6
からstable-4.7
に切り替えます。チャネルの詳細は、OpenShift Container Storage upgrade channels and releases を参照してください。注記マイナーバージョンを更新する場合(例: 4.6 から 4.7 に更新) にのみチャネルを切り換える必要があり、4.7 のバッチの更新間に更新する場合 (例: 4.7.0 から 4.7.1 に更新) はチャネルを切り換える必要はありません。
Operator Pod を含むすべての OpenShift Container Storage Pod が
openshift-storage namespace
でRunning
状態にあることを確認します。Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。
- 更新時間はクラスターで実行される OSD の数によって異なるため、Openshift Container Storage 更新プロセスを完了するのに十分な時間を確保してください。
手順
- OpenShift Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - OpenShift Container Storage Operator 名をクリックします。
- Subscription タブをクリックしてから、Approval の下にあるリンクをクリックします。
- Automatic (default) を選択し、Save をクリックします。
Upgrade Status に応じて以下ののいずれかを実行します。
Upgrade Status には、requires approval と 表示されます。
注記Upgrade status には、新規 OpenShift Container Storage バージョンがチャネルですでに検知され、承認ストラテジーが更新時に Manual から Automatic に変更されている場合に requires approval が表示されます。
- Install Plan リンクをクリックします。
- InstallPlan Details ページで、Preview Install Plan をクリックします。
- インストール計画を確認し、Approve をクリックします。
- Status が Unknown から Created に変更されるまで待機します。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - Status が Up to date に変更するまで待機します。
Upgrade Status には、requires approval は 表示されません。
- 更新が開始するまで待機します。これには、最長 20 分の時間がかかる可能性があります。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - Status が Up to date に変更するまで待機します。
NooBaa DB を MongoDB から PostgreSQL に移行するため、アップグレード中は Multicloud Object Gateway の停止が短期間予想されます。
検証手順
- Status カードで Overview → Persistent Storage タブをクリックし、OCS Cluster および Data Resiliency で正常であることを示す緑色のチェックマークが表示されていることを確認します。
-
Overview → Object Service タブをクリックし、Status カードで、Object Service と Data Resiliency の両方が正常なことを示す
Ready
状態 (Green tick) であることを確認します。 Operators → Installed Operators → OpenShift Container Storage Operator をクリックします。Storage Cluster で、クラスターサービスのステータスが
Ready
であることを確認します。注記OpenShift Container Storage バージョン 4.6 から 4.7 に更新された後も、
Version
フィールドには依然として 4.6 が表示されます。これは、ocs-operator
がこのフィールドで表示される文字列を更新しないためです。Operator Pod を含むすべての OpenShift Container Storage Pod が
openshift-storage namespace
でRunning
状態にあることを確認します。Pod の状態を表示するには、Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。
- 検証手順が失敗した場合は、Red Hat サポートにお問い合わせ ください。
柔軟なスケーリング機能は、Red Hat OpenShift Container Storage 4.7 の新規デプロイメントでのみ利用できます。4.7 バージョンにアップグレードされたストレージクラスターは、柔軟なスケーリングをサポートしていません。
次のステップ
関連情報
OpenShift Container Storage の更新中に問題が発生した場合は、『トラブルシューティングガイド』の トラブルシューティングで一般に必要になるログについてのセクションを参照してください。
3.2. 内部モードでの OpenShift Container Storage Operator の手動による更新
以下の手順を使用して、インストール計画に手動の承認を指定し、OpenShift Container Storage Operator を更新します。
前提条件
- Status カードの Persistent Storage で、OCS Cluster および Data Resiliency に緑色のチェックマークが付いていることを確認します。
-
Status カードの Object Service で、Object Service および Data Resiliency の両方が
Ready
状態 (緑のチェックマーク) にあることを確認します。 - OpenShift Container Platform クラスターをバージョン 4.7.Y の最新の安定したリリースに更新する場合は、『Updating Clusters』を参照してください。
Red Hat OpenShift Container Storage チャネルを
stable-4.6
からstable-4.7
に切り替えます。チャネルの詳細は、OpenShift Container Storage upgrade channels and releases を参照してください。注記マイナーバージョンを更新する場合(例: 4.6 から 4.7 に更新) にのみチャネルを切り換える必要があり、4.7 のバッチの更新間に更新する場合 (例: 4.7.0 から 4.7.1 に更新) はチャネルを切り換える必要はありません。
Operator Pod を含むすべての OpenShift Container Storage Pod が
openshift-storage namespace
でRunning
状態にあることを確認します。Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。
- 更新時間はクラスターで実行される OSD の数によって異なるため、Openshift Container Storage 更新プロセスを完了するのに十分な時間を確保してください。
手順
- OpenShift Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - OpenShift Container Storage Operator 名をクリックします。
- Subscription タブをクリックしてから、Approval の下にあるリンクをクリックします。
- Manual を選択し、Save をクリックします。
- Upgrade Status が Upgrading に変更するまで待機します。
- Upgrade Status に requires approval が表示される場合は、requires approval をクリックします。
- InstallPlan Details ページで、Preview Install Plan をクリックします。
- インストール計画を確認し、Approve をクリックします。
- Status が Unknown から Created に変更されるまで待機します。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - Status が Up to date に変更するまで待機します。
NooBaa DB を MongoDB から PostgreSQL に移行するため、アップグレード中は Multicloud Object Gateway の停止が短期間予想されます。
検証手順
- Status カードで Overview → Persistent Storage タブをクリックし、OCS Cluster および Data Resiliency で正常であることを示す緑色のチェックマークが表示されていることを確認します。
-
Overview → Object Service タブをクリックし、Status カードで、Object Service と Data Resiliency の両方が正常なことを示す
Ready
状態 (Green tick) であることを確認します。 Operators → Installed Operators → OpenShift Container Storage Operator をクリックします。Storage Cluster で、クラスターサービスのステータスが
Ready
であることを確認します。注記OpenShift Container Storage バージョン 4.6 から 4.7 に更新された後も、
Version
フィールドには依然として 4.6 が表示されます。これは、ocs-operator
がこのフィールドで表示される文字列を更新しないためです。Operator Pod を含むすべての OpenShift Container Storage Pod が
openshift-storage namespace
でRunning
状態にあることを確認します。Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。
- 検証手順が失敗した場合は、Red Hat サポートにお問い合わせ ください。
次のステップ
関連情報
OpenShift Container Storage の更新中に問題が発生した場合は、『トラブルシューティングガイド』の トラブルシューティングで一般に必要になるログについてのセクションを参照してください。
第4章 外部モードでの OpenShift Container Storage の更新
以下の手順に従って、外部モードでデプロイされた OpenShift Container Storage クラスターを更新します。
Red Hat OpenShift Container Storage Operator をアップグレードしても、外部の Red Hat Ceph Storage クラスターはアップグレードされません。これは、OpenShift Container Platform で実行されている Red Hat OpenShift Container Storage サービスのみをアップグレードします。
外部の Red Hat Ceph Storage クラスターをアップグレードするには、Red Hat Ceph Storage の管理者にお問い合わせください。
4.1. 外部モードでの OpenShift Container Storage Operator の自動更新の有効化
以下の手順を使用して、OpenShift Container Platform で OpenShift Container Storage Operator の自動の更新承認を有効にします。
OpenShift Container Storage を更新しても、外部の Red Hat Ceph Storage クラスターは更新されません。
前提条件
- 外部クラスターには、Red Hat Ceph Storage バージョン 4.2z1 以降が必要です。詳細は、この Red Hat Ceph Storage リリースおよび対応する Ceph パッケージバージョンについてのナレッジベースのアーティクルを参照してください。
- OpenShift Container Platform クラスターをバージョン 4.7.y の最新の安定したリリースに更新する場合は、『Updating Clusters』を参照してください。
Red Hat OpenShift Container Storage チャネルを
stable-4.6
からstable-4.7
に切り替えます。チャネルの詳細は、OpenShift Container Storage upgrade channels and releases を参照してください。注記マイナーバージョンを更新する場合(例: 4.6 から 4.7 に更新) にのみチャネルを切り換える必要があり、4.7 のバッチの更新間に更新する場合 (例: 4.7.0 から 4.7.1 に更新) はチャネルを切り換える必要はありません。
Operator Pod を含むすべての OpenShift Container Storage Pod が
openshift-storage namespace
でRunning
状態にあることを確認します。Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。
- Status カードの Persistent Storage で、OCS Cluster に緑色のチェックマークが付いていることを確認します。
-
Status カードの Object Service で、Object Service および Data Resiliency の両方が
Ready
状態 (緑のチェックマーク) にあることを確認します。 - Openshift Container Storage の更新プロセスを完了するのに十分時間があることを確認します。
手順
- OpenShift Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - OpenShift Container Storage Operator 名をクリックします。
- Subscription タブをクリックしてから、Approval の下にあるリンクをクリックします。
- Automatic (default) を選択し、Save をクリックします。
Upgrade Status に応じて以下ののいずれかを実行します。
アップグレードのステータスには、requires approval と 表示されます。
注記Upgrade status には、新規 OpenShift Container Storage バージョンがチャネルですでに検知され、承認ストラテジーが更新時に Manual から Automatic に変更されている場合に requires approval が表示されます。
- Install Plan リンクをクリックします。
- InstallPlan Details ページで、Preview Install Plan をクリックします。
- インストール計画を確認し、Approve をクリックします。
- Status が Unknown から Created に変更されるまで待機します。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - Status が Up to date に変更するまで待機します。
アップグレードステータスには 、requires approval は 表示されません。
- 更新が開始するまで待機します。これには、最長 20 分の時間がかかる可能性があります。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - Status が Up to date に変更するまで待機します。
NooBaa DB を MongoDB から PostgreSQL に移行するため、アップグレード中は Multicloud Object Gateway の停止が短期間予想されます。
検証手順
- Status カードで Overview → Persistent Storage タブをクリックし、OCS Cluster に正常であることを示す緑色のチェックマークが表示されていることを確認します。
-
Overview → Object Service タブをクリックし、Status カードで、Object Service と Data Resiliency の両方が正常なことを示す
Ready
状態 (Green tick) であることを確認します。 Operators → Installed Operators → OpenShift Container Storage Operator をクリックします。Storage Cluster で、クラスターサービスのステータスが
Ready
であることを確認します。注記OpenShift Container Storage バージョン 4.6 から 4.7 に更新された後も、
Version
フィールドには依然として 4.6 が表示されます。これは、ocs-operator
がこのフィールドで表示される文字列を更新しないためです。Operator Pod を含むすべての OpenShift Container Storage Pod が
openshift-storage
namespace でRunning
状態にあることを確認します。Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。
- 検証手順が失敗した場合は、Red Hat サポートにお問い合わせ ください。
次のステップ
関連情報
OpenShift Container Storage の更新中に問題が発生した場合は、『トラブルシューティングガイド』の トラブルシューティングで一般に必要になるログについてのセクションを参照してください。
4.2. 外部モードでの OpenShift Container Storage Operator の手動による更新
以下の手順を使用して、インストール計画に手動の承認を指定し、OpenShift Container Storage Operator を更新します。
OpenShift Container Storage を更新しても、外部の Red Hat Ceph Storage クラスターは更新されません。
前提条件
- 外部クラスターには、Red Hat Ceph Storage バージョン 4.2z1 以降が必要です。詳細は、この Red Hat Ceph Storage リリースおよび対応する Ceph パッケージバージョンについてのナレッジベースのアーティクルを参照してください。
- OpenShift Container Platform クラスターをバージョン 4.7.Y の最新の安定したリリースに更新する場合は、『Updating Clusters』を参照してください。
Red Hat OpenShift Container Storage チャネルを
stable-4.6
からstable-4.7
に切り替えます。チャネルの詳細は、OpenShift Container Storage upgrade channels and releases を参照してください。注記マイナーバージョンを更新する場合(例: 4.6 から 4.7 に更新) にのみチャネルを切り換える必要があり、4.7 のバッチの更新間に更新する場合 (例: 4.7.0 から 4.7.1 に更新) はチャネルを切り換える必要はありません。
Operator Pod を含むすべての OpenShift Container Storage Pod が
openshift-storage
namespace でRunning
状態にあることを確認します。Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。
- Status カードの Persistent Storage で、OCS Cluster に緑色のチェックマークが付いていることを確認します。
-
Status カードの Object Service で、Object Service および Data Resiliency の両方が
Ready
状態 (緑のチェックマーク) にあることを確認します。 - Openshift Container Storage の更新プロセスを完了するのに十分時間があることを確認します。
手順
- OpenShift Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - OpenShift Container Storage Operator 名をクリックします。
- Subscription タブをクリックしてから、Approval の下にあるリンクをクリックします。
- Manual を選択し、Save をクリックします。
- Upgrade Status が Upgrading に変更するまで待機します。
- Upgrade Status に requires approval が表示される場合は、requires approval をクリックします。
- InstallPlan Details ページで、Preview Install Plan をクリックします。
- インストール計画を確認し、Approve をクリックします。
- Status が Unknown から Created に変更されるまで待機します。
- Operators → Installed Operators をクリックします。
-
openshift-storage
プロジェクトを選択します。 - Status が Up to date に変更するまで待機します。
NooBaa DB を MongoDB から PostgreSQL に移行するため、アップグレード中は Multicloud Object Gateway の停止が短期間予想されます。
検証手順
- Status カードで Overview → Persistent Storage タブをクリックし、OCS Cluster に正常であることを示す緑色のチェックマークが表示されていることを確認します。
-
Overview → Object Service タブをクリックし、Status カードで、Object Service と Data Resiliency の両方が正常なことを示す
Ready
状態 (Green tick) であることを確認します。 -
Operators → Installed Operators → OpenShift Container Storage Operator をクリックします。Storage Cluster で、クラスターサービスのステータスが
Ready
であることを確認します。 Operator Pod を含むすべての OpenShift Container Storage Pod が
openshift-storage
namespace でRunning
状態にあることを確認します。Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。
注記OpenShift Container Storage バージョン 4.6 から 4.7 に更新された後も、
Version
フィールドには依然として 4.6 が表示されます。これは、ocs-operator
がこのフィールドで表示される文字列を更新しないためです。- 検証手順が失敗した場合は、Red Hat サポートにお問い合わせ ください。
次のステップ
関連情報
OpenShift Container Storage の更新中に問題が発生した場合は、『トラブルシューティングガイド』の トラブルシューティングで一般に必要になるログについてのセクションを参照してください。
第5章 既存のバッキングストアへのアノテーションの追加
正しいアノテーションを既存のバッキングストアに追加すると、オブジェクトゲートウェイ (RGW) がサポートするバッキングストアが、その実際のサイズと空きサイズを報告するようになります。Multicloud Object Gateway (MCG) は、この情報を取得し、使用できます。
手順
- OpenShift Container Platform Web コンソールにログインします。
- Home → Search をクリックします。
- Resources で BackingStore を検索し、クリックします。
-
S3-compatible BackingStore
の横にある Action Menu (⋮) → Edit annotations をクリックします。 -
KEY に
rgw
を追加します。 - 保存 をクリックします。
次のステップ
ローカルストレージでサポートされるクラスターでは、すべての機能が予想通りに機能するように、更新後に追加の設定手順が必要になります。
詳細は、ローカルストレージでサポートされるクラスターの更新後の設定の変更 を参照してください。
第6章 ローカルストレージがサポートするクラスターの更新後の設定の変更
ローカルストレージでサポートされるクラスターでは、すべての機能が予想通りに機能するように、更新後に追加の設定手順が必要になります。Red Hat OpenShift Container Platform 4.6 以降で、ローカルストレージ Operator は、ローカルストレージを管理するための新規のカスタムリソースタイプを提供します。
-
LocalVolumeDiscovery
-
LocalVolumeSet
これらのリソースタイプは、以前のバージョンからの更新の一部として自動的に処理されないため、手動で作成する必要があります。
4.5 から 4.6 にアップグレードした後にこれらのリソースをすでに作成している場合、4.6 から 4.7 にアップグレードした後にそれらを作成する必要はありません。
6.1. コマンドラインを使用した LocalVolumeDiscovery カスタムリソースの作成
LocalVolumeDiscovery
カスタムリソースを作成し、デバイス管理ユーザーインターフェースがローカルデバイスの状態を検知できるようにし、クラスターノードで利用可能なデバイスについての情報を提供します。
前提条件
- OpenShift Container Platform クラスターへの管理者アクセス。
手順
OpenShift ローカルストレージ Operator がインストールされている namespace を特定し、これを
local_storage_project
変数に割り当てます。$ local_storage_project=$(oc get csv --all-namespaces | awk '{print $1}' | grep local)
以下に例を示します。
$ local_storage_project=$(oc get csv --all-namespaces | awk '{print $1}' | grep local) echo $local_storage_project openshift-local-storage
ローカルストレージ Operator がインストールされているプロジェクトに切り替えます。
$ oc project $local_storage_project
LocalVolumeDiscovery
カスタムリソースを定義します。たとえば、
local-volume-discovery.yaml
ファイルで以下を定義します。apiVersion: local.storage.openshift.io/v1alpha1 kind: LocalVolumeDiscovery metadata: name: auto-discover-devices spec: nodeSelector: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - worker1.example.com - worker2.example.com - worker3.example.com
LocalVolumeDiscovery
カスタムリソースを作成します。$ oc create -f local-volume-discovery.yaml
検証手順
- OpenShift Web コンソールにログインします。
- Compute → Node をクリックし、ノードの名前をクリックします。
- Disks タブをクリックして、そのノードで利用可能なデバイスが表示されることを確認します。
6.2. コマンドラインを使用した LocalVolumeSet カスタムリソースの作成
LocalVolumeSet
カスタムリソースを作成し、指定する条件に基づいて特定のストレージデバイスを永続ボリュームとして自動的にプロビジョニングします。永続ボリュームは、deviceInclusionSpec
の条件に一致する任意のノードで nodeSelector
の条件準に一致するデバイスについて作成されます。
前提条件
- OpenShift Container Platform クラスターへの管理者アクセス。
手順
local-volume-set.yaml
ファイルでLocalVolumeSet
カスタムリソースを定義します。apiVersion: local.storage.openshift.io/v1alpha1 kind: LocalVolumeSet metadata: name: localblock spec: nodeSelector: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - worker1.example.com - worker2.example.com - worker3.example.com storageClassName: localblock volumeMode: Block maxDeviceCount: 10 # optional, limit devices provisioned per node deviceInclusionSpec: deviceTypes: # list of types to allow - disk - part # omit this to use only whole devices deviceMechanicalProperty: - NonRotational minSize: 100Gi # optional, minimum size of device to allow maxSize: 100Ti # optional, maximum size of device to allow models: # (optional) list of models to allow - SAMSUNG - Crucial_CT525MX3 vendors: # (optional) list of device vendors to allow - ATA - ST2000LM
上記の定義では、
worker1
、worker2
、worker3
から、ローテーションされないデバイスの特定モデルにあるディスク全体またはパーティションの内、サイズが 100 GB から 100 TB で、指定のベンダーが提供しているものを選択します。localblock
ストレージクラスが作成され、永続ボリュームが検出されたデバイスからプロビジョニングされます。重要minSize
に適切な値を選択し、システムパーティションが選択されないようにします。LocalVolumeSet
を作成します。$ oc create -f local-volume-set.yaml
検証手順
以下のコマンドを使用して、
deviceInclusionSpec
に一致するデバイスの永続ボリュームのプロビジョニングを追跡します。永続ボリュームをプロビジョニングするのに数分かかる場合があります。$ oc describe localvolumeset localblock [...] Status: Conditions: Last Transition Time: 2020-11-17T05:03:32Z Message: DiskMaker: Available, LocalProvisioner: Available Status: True Type: DaemonSetsAvailable Last Transition Time: 2020-11-17T05:03:34Z Message: Operator reconciled successfully. Status: True Type: Available Observed Generation: 1 Total Provisioned Device Count: 4 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Discovered 2m30s (x4 localvolumeset- ip-10-0-147-124.us-east- NewDevice over 2m30s) symlink-controller 2.compute.internal - found possible matching disk, waiting 1m to claim Normal FoundMatch 89s (x4 localvolumeset- ip-10-0-147-124.us-east- ingDisk over 89s) symlink-controller 2.compute.internal - symlinking matching disk
プロビジョニングされた永続ボリュームの状態を確認します。
$ oc get pv ACCESS RECLAIM STORAGE NAME CAPACITY MODES POLICY STATUS CLASS AGE local-pv- 500Gi RWO Delete Available localblock 7m48s 3584969f local-pv- 500Gi RWO Delete Available localblock 7m48s 3aee84fa local-pv- 500Gi RWO Delete Available localblock 7m48s 644d09ac local-pv- 500Gi RWO Delete Available localblock 7m48s c73cee1
6.3. アノテーションの追加
以下の手順を使用して、以前のバージョンから OpenShift Container Storage 4.7 へのアップグレード時に、アノテーションをストレージクラスターに追加し、ユーザーインターフェースを使用して、障害のあるストレージデバイスを交換できるようにします。
手順
- OpenShift Container Platform Web コンソールにログインします。
- Home → Search をクリックします。
- Resources で StorageCluster を検索し、それをクリックします。
-
ocs-storagecluster
の横にあるアクションメニュー (⋮) → Edit annotations をクリックします。 -
KEY と VALUE にそれぞれ
cluster.ocs.openshift.io/local-devices
とtrue
を追加します。 - 保存 をクリックします。