3.11. 新しいストレージクラスターのブートストラップ
cephadm ユーティリティーは、ブートストラッププロセス中に以下のタスクを実行します。
- ローカルノード上に新しい Red Hat Ceph Storage クラスターの Ceph Monitor デーモンと Ceph Manager デーモンをコンテナーとしてインストールし、開始します。
-
/etc/cephディレクトリーを作成します。 -
Red Hat Ceph Storage クラスターの
/etc/ceph/ceph.pubに公開鍵のコピーを書き込み、SSH キーを root ユーザーの/root/.ssh/authorized_keysファイルに追加します。 -
_adminラベルをブートストラップノードに適用します。 -
新しいクラスターと通信するために必要な最小限の設定ファイルを
/etc/ceph/ceph.confに書き込みます。 -
client.admin管理秘密鍵のコピーを/etc/ceph/ceph.client.admin.keyringに書き込みます。 -
prometheus、grafana、および
node-exporterやalert-managerなどの他のツールを使用して、基本的なモニタリングスタックをデプロイします。
非接続インストールを実行している場合は、非接続インストールの実行 を参照してください。
新しいストレージクラスターで実行する既存の prometheus サービスがある場合、または Rook で Ceph を実行している場合は、cephadm bootstrap コマンドで --skip-monitoring-stack オプションを使用します。このオプションは、後で手動で設定できるように、基本的なモニタリングスタックを迂回します。
監視スタックをデプロイする場合は、Red Hat Ceph Storage Operations Guide の Ceph Orchestrator を使用したモニタリングスタックのデプロイ を参照してください。
ブートストラップにより、Dashboard への初期ログインのデフォルトのユーザー名およびパスワードが提供されます。ブートストラップでは、ログイン後にパスワードを変更する必要があります。
ブートストラッププロセスを開始する前に、使用するコンテナーイメージに cephadm と同じバージョンの Red Hat Ceph Storage があることを確認します。2 つのバージョンが一致しないと Creating initial admin user 段階でブートストラップに失敗します。
ブートストラッププロセスを開始する前に、registry.redhat.io コンテナーレジストリーのユーザー名とパスワードを作成する必要があります。Red Hat コンテナーレジストリー認証の詳細は、ナレッジベースの記事 Red Hat Container Registry Authentication を参照してください。
前提条件
- 最初の Ceph Monitor コンテナーの IP アドレス。これはストレージクラスターの最初のノードの IP アドレスでもあります。
-
registry.redhat.ioへのログインアクセス。 -
少なくとも 10 GB の空き容量がある
/var/lib/containers/。 - 全ノードへの root レベルのアクセス。
ストレージクラスターに複数のネットワークおよびインターフェイスが含まれる場合、ストレージクラスターを使用するすべてのノードからアクセス可能なネットワークを選択するようにしてください。
ローカルノードが完全修飾ドメイン名 (FQDN) を使用する場合は、コマンドラインで --allow-fqdn-hostname オプションを cephadm bootstrap に追加します。
クラスターの最初の Monitor ノードにするノードで cephadm bootstrap を実行します。IP_ADDRESS オプションは、cephadm bootstrap の実行に使用するノードの IP アドレスでなければなりません。
IPV6 アドレスを使用してストレージクラスターをデプロイする場合は、--mon-ip IP_ADDRESS オプションで IPV6 アドレス形式を使用します。例: cephadm bootstrap --mon-ip 2620:52:0:880:225:90ff:fefc:2536 --registry-json /etc/mylogin.json
手順
ストレージクラスターをブートストラップします。
構文
cephadm bootstrap --cluster-network NETWORK_CIDR --mon-ip IP_ADDRESS --registry-url registry.redhat.io --registry-username USER_NAME --registry-password PASSWORD --yes-i-know
cephadm bootstrap --cluster-network NETWORK_CIDR --mon-ip IP_ADDRESS --registry-url registry.redhat.io --registry-username USER_NAME --registry-password PASSWORD --yes-i-knowCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cephadm bootstrap --cluster-network 10.10.128.0/24 --mon-ip 10.10.128.68 --registry-url registry.redhat.io --registry-username myuser1 --registry-password mypassword1 --yes-i-know
[root@host01 ~]# cephadm bootstrap --cluster-network 10.10.128.0/24 --mon-ip 10.10.128.68 --registry-url registry.redhat.io --registry-username myuser1 --registry-password mypassword1 --yes-i-knowCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記内部クラスタートラフィックをパブリックネットワークでルーティングする必要がある場合、
--cluster-network NETWORK_CIDRオプションを省略できます。スクリプトが完了するまで数分かかります。スクリプトが完了すると、Red Hat Ceph Storage Dashboard URL へのクレデンシャル、Ceph コマンドラインインターフェイス (CLI) にアクセスするコマンド、およびテレメトリーを有効にする要求が提供されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- 推奨のブートストラップコマンドオプションの詳細は、推奨される cephadm bootstrap コマンドのオプション を参照してください。
- bootstrap コマンドで使用できるオプションの詳細は、ブートストラップコマンドのオプション を参照してください。
- JSON ファイルを使用してブートストラッププロセスのログインクレデンシャルが含まれるようにする方法は、JSON ファイルを使用したログイン情報の保護 を参照してください。
3.11.1. 推奨される cephadm bootstrap コマンドのオプション リンクのコピーリンクがクリップボードにコピーされました!
cephadm bootstrap コマンドには、ファイルの場所の指定、ssh の設定、パスワードの設定、およびその他の初期設定タスクの実行を可能にする複数のオプションがあります。
Red Hat は、cephadm bootstrap にコマンドオプションの基本セットを使用することを推奨します。初期クラスターの稼働後に追加オプションを設定できます。
以下の例は、推奨されるオプションを指定する方法を示しています。
構文
cephadm bootstrap --ssh-user USER_NAME --mon-ip IP_ADDRESS --allow-fqdn-hostname --registry-json REGISTRY_JSON
cephadm bootstrap --ssh-user USER_NAME --mon-ip IP_ADDRESS --allow-fqdn-hostname --registry-json REGISTRY_JSON
例
cephadm bootstrap --ssh-user ceph --mon-ip 10.10.128.68 --allow-fqdn-hostname --registry-json /etc/mylogin.json
[root@host01 ~]# cephadm bootstrap --ssh-user ceph --mon-ip 10.10.128.68 --allow-fqdn-hostname --registry-json /etc/mylogin.json
3.11.2. JSON ファイルを使用したログイン情報の保護 リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、ログインおよびパスワード情報を JSON ファイルに追加し、ブートストラップするために JSON ファイルを参照することがあります。これにより、ログインクレデンシャルが公開されないように保護されます。
cephadm --registry-login コマンドで JSON ファイルを使用することもできます。
前提条件
- 最初の Ceph Monitor コンテナーの IP アドレス。これはストレージクラスターの最初のノードの IP アドレスでもあります。
-
registry.redhat.ioへのログインアクセス。 -
少なくとも 10 GB の空き容量がある
/var/lib/containers/。 - 全ノードへの root レベルのアクセス。
手順
JSON ファイルを作成します。この例では、ファイルの名前は
mylogin.jsonです。構文
{ "url":"REGISTRY_URL", "username":"USER_NAME", "password":"PASSWORD" }{ "url":"REGISTRY_URL", "username":"USER_NAME", "password":"PASSWORD" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
{ "url":"registry.redhat.io", "username":"myuser1", "password":"mypassword1" }{ "url":"registry.redhat.io", "username":"myuser1", "password":"mypassword1" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターをブートストラップします。
構文
cephadm bootstrap --mon-ip IP_ADDRESS --registry-json /etc/mylogin.json
cephadm bootstrap --mon-ip IP_ADDRESS --registry-json /etc/mylogin.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cephadm bootstrap --mon-ip 10.10.128.68 --registry-json /etc/mylogin.json
[root@host01 ~]# cephadm bootstrap --mon-ip 10.10.128.68 --registry-json /etc/mylogin.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.3. サービス設定ファイルを使用したストレージクラスターのブートストラップ リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスターをブートストラップし、サービス設定ファイルを使用して追加のホストとデーモンを設定するには、cephadm bootstrap コマンドで --apply-spec オプションを使用します。設定ファイルは、デプロイするサービスのサービスタイプ、配置、および指定されたノードが含まれる .yaml ファイルです。
マルチサイトなどのアプリケーションにデフォルト以外のレルムまたはゾーンを使用する場合は、それらを設定ファイルに追加して --apply-spec オプションを使用する代わりに、ストレージクラスターをブートストラップした後に Ceph Object Gateway デーモンを設定します。これにより、Ceph Object Gateway デーモンをデプロイする前に必要なレルムまたはゾーンを作成する機会が得られます。詳細については、Red Hat Ceph Storage 操作ガイド を参照してください。
NFS-Ganesha ゲートウェイまたは Metadata Server (MDS) サービスをデプロイする場合は、ストレージクラスターのブートストラップ後にそれらを設定します。
- Ceph NFS-Ganesha ゲートウェイをデプロイするには、最初に RADOS プールを作成する必要があります。
- MDS サービスをデプロイするには、最初に CephFS ボリュームを作成する必要があります。
詳細については、Red Hat Ceph Storage 操作ガイド を参照してください。
Red Hat Ceph Storage 6.0 で --apply-spec オプションを指定して bootstrap コマンドを実行する場合は、仕様ファイルにブートストラップホストの IP アドレスが含まれていることを確認してください。これにより、アクティブな Ceph Manager がすでに実行されているブートストラップホストを再追加する際に、IP アドレスがループバックアドレスに解決されなくなります。
ブートストラップ中に --apply spec オプションを使用せず、代わりに ceph orch apply コマンドを、ホストの再追加を含み、実行中のアクティブな Ceph Manager を含む別の仕様ファイルで使用する場合は、addr フィールドを明示的に指定してください。これは、ブートストラップ後に任意の仕様ファイルを適用する場合に適用されます。
前提条件
- 1 つ以上の稼働中の仮想マシン (VM) またはサーバー。
-
Ansible-coreが AppStream にバンドルされている Red Hat Enterprise Linux 9.0 以降。 - 全ノードへの root レベルのアクセス。
-
registry.redhat.ioへのログインアクセス。 -
パスワードなしの
sshがストレージクラスター内のすべてのホストに設定されます。 -
cephadmは、ストレージクラスターの最初の Monitor ノードにするノードにインストールされます。
ブートストラップノードでサポートされている最新の Red Hat Enterprise Linux バージョンについては、Red Hat Ceph Storage 互換性ガイド を参照してください。
手順
- ブートストラップホストにログインします。
ストレージクラスターのサービス設定の
.yamlファイルを作成します。このサンプルファイルは、cephadm bootstrapに対して、最初のホストおよび 2 つの追加ホストを設定するよう指示し、利用可能なすべてのディスクに OSD を作成するように指定します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --apply-specオプションを使用してストレージクラスターをブートストラップします。構文
cephadm bootstrap --apply-spec CONFIGURATION_FILE_NAME --mon-ip MONITOR_IP_ADDRESS --registry-url registry.redhat.io --registry-username USER_NAME --registry-password PASSWORD
cephadm bootstrap --apply-spec CONFIGURATION_FILE_NAME --mon-ip MONITOR_IP_ADDRESS --registry-url registry.redhat.io --registry-username USER_NAME --registry-password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cephadm bootstrap --apply-spec initial-config.yaml --mon-ip 10.10.128.68 --registry-url registry.redhat.io --registry-username myuser1 --registry-password mypassword1
[root@host01 ~]# cephadm bootstrap --apply-spec initial-config.yaml --mon-ip 10.10.128.68 --registry-url registry.redhat.io --registry-username myuser1 --registry-password mypassword1Copy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトが完了するまで数分かかります。スクリプトが完了すると、Red Hat Ceph Storage Dashboard URL へのクレデンシャル、Ceph コマンドラインインターフェイス (CLI) にアクセスするコマンド、およびテレメトリーを有効にする要求が提供されます。
- ストレージクラスターが稼働状態になったら、追加のデーモンとサービスの設定の詳細について Red Hat Ceph Storage Operations Guide を参照してください。
3.11.4. root 以外のユーザーでのストレージクラスターのブートストラップ リンクのコピーリンクがクリップボードにコピーされました!
ブートストラップノードで root 以外のユーザーとして Red Hat Ceph Storage クラスターをブートストラップするには、cephadm bootstrap コマンドで --ssh-user オプションを使用します。--ssh-user は、クラスターノードへの SSH 接続のユーザーを指定します。
root 以外のユーザーには、パスワードなしの sudo アクセスが必要です。
前提条件
- 最初の Ceph Monitor コンテナーの IP アドレス。これはストレージクラスターの最初の Monitor ノードの IP アドレスでもあります。
-
registry.redhat.ioへのログインアクセス。 -
少なくとも 10 GB の空き容量がある
/var/lib/containers/。 - SSH 公開鍵と秘密鍵
-
ブートストラップノードへのパスワードなしの
sudoアクセス。
手順
ブートストラップノードで
sudoに変更します。構文
su - SSH_USER_NAME
su - SSH_USER_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
su - ceph Last login: Tue Sep 14 12:00:29 EST 2021 on pts/0
[root@host01 ~]# su - ceph Last login: Tue Sep 14 12:00:29 EST 2021 on pts/0Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブートストラップノードに対して SSH 接続を確立します。
例
ssh host01 Last login: Tue Sep 14 12:03:29 EST 2021 on pts/0
[ceph@host01 ~]# ssh host01 Last login: Tue Sep 14 12:03:29 EST 2021 on pts/0Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
cephadm bootstrapコマンドを呼び出します。注記秘密キーと公開キーの使用はオプションです。SSH キーがまだ作成されていない場合は、この手順で作成できます。
--ssh-private-keyオプションおよび--ssh-public-keyオプションを追加します。構文
cephadm bootstrap --ssh-user USER_NAME --mon-ip IP_ADDRESS --ssh-private-key PRIVATE_KEY --ssh-public-key PUBLIC_KEY --registry-url registry.redhat.io --registry-username USER_NAME --registry-password PASSWORD
cephadm bootstrap --ssh-user USER_NAME --mon-ip IP_ADDRESS --ssh-private-key PRIVATE_KEY --ssh-public-key PUBLIC_KEY --registry-url registry.redhat.io --registry-username USER_NAME --registry-password PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cephadm bootstrap --ssh-user ceph --mon-ip 10.10.128.68 --ssh-private-key /home/ceph/.ssh/id_rsa --ssh-public-key /home/ceph/.ssh/id_rsa.pub --registry-url registry.redhat.io --registry-username myuser1 --registry-password mypassword1
cephadm bootstrap --ssh-user ceph --mon-ip 10.10.128.68 --ssh-private-key /home/ceph/.ssh/id_rsa --ssh-public-key /home/ceph/.ssh/id_rsa.pub --registry-url registry.redhat.io --registry-username myuser1 --registry-password mypassword1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.5. ブートストラップコマンドのオプション リンクのコピーリンクがクリップボードにコピーされました!
cephadm bootstrap コマンドは、ローカルホストで Ceph Storage クラスターをブートストラップします。これは、MON デーモンと MGR デーモンをブートストラップノードにデプロイし、モニタリングスタックをローカルホストに自動的にデプロイし、ceph orch host add HOSTNAME を呼び出します。
以下の表は、cephadm bootstrap に利用可能なオプションをまとめています。
cephadm bootstrap オプション | 説明 |
|---|---|
| --config CONFIG_FILE, -c CONFIG_FILE |
CONFIG_FILE は、bootstrap コマンドで使用する |
| --cluster-network NETWORK_CIDR |
内部クラスタートラフィック用に NETWORK_CIDR で定義されるサブネットを使用します。これは CIDR 表記で指定されます。例: |
| --mon-id MON_ID | MON_ID という名前のホストでブートストラップします。デフォルト値はローカルホストです。 |
| --mon-addrv MON_ADDRV | mon IP (例: [v2:localipaddr:3300,v1:localipaddr:6789]) |
| --mon-ip IP_ADDRESS |
|
| --mgr-id MGR_ID | MGR ノードをインストールするホスト ID。デフォルト: 無作為に生成されます。 |
| --fsid FSID | クラスター FSID |
| --output-dir OUTPUT_DIR | このディレクトリーを使用して、設定、キーリング、および公開鍵ファイルを作成します。 |
| --output-keyring OUTPUT_KEYRING | この場所を使用して、新規クラスターの admin キーおよび mon キーでキーリングファイルを作成します。 |
| --output-config OUTPUT_CONFIG | この場所を使用して、新しいクラスターに接続するために設定ファイルを書き込みます。 |
| --output-pub-ssh-key OUTPUT_PUB_SSH_KEY | この場所を使用して、クラスターの公開 SSH 鍵を書き込みます。 |
| --skip-ssh | ローカルホストで ssh キーの設定を省略します。 |
| --initial-dashboard-user INITIAL_DASHBOARD_USER | Dashboard の初期ユーザー。 |
| --initial-dashboard-password INITIAL_DASHBOARD_PASSWORD | 初期ダッシュボードユーザーの初期パスワード。 |
| --ssl-dashboard-port SSL_DASHBOARD_PORT | SSL を使用してダッシュボードとの接続に使用されるポート番号。 |
| --dashboard-key DASHBOARD_KEY | Dashboard キー。 |
| --dashboard-crt DASHBOARD_CRT | Dashboard の証明書。 |
| --ssh-config SSH_CONFIG | SSH 設定。 |
| --ssh-private-key SSH_PRIVATE_KEY | SSH 秘密鍵。 |
| --ssh-public-key SSH_PUBLIC_KEY | SSH 公開鍵。 |
| --ssh-user SSH_USER | クラスターホストへの SSH 接続のユーザーを設定します。root 以外のユーザーには、パスワードを使用しない sudo が必要です。 |
| --skip-mon-network | ブートストラップ mon ip に基づいて mon public_network を設定します。 |
| --skip-dashboard | Ceph Dashboard を有効にしません。 |
| --dashboard-password-noupdate | Dashboard のパスワードの強制変更を無効にします。 |
| --no-minimize-config | 設定ファイルを同化して最小化しません。 |
| --skip-ping-check | mon IP が ping 可能であることは検証しません。 |
| --skip-pull | ブートストラップ前に最新のイメージをプルしません。 |
| --skip-firewalld | firewalld を設定しません。 |
| --allow-overwrite | 既存の –output-* config/keyring/ssh ファイルの上書きを許可します。 |
| --allow-fqdn-hostname | 完全修飾ホスト名を許可します。 |
| --skip-prepare-host | ホストを準備しません。 |
| --orphan-initial-daemons | 最初の mon、mgr、および crash サービス仕様を作成しません。 |
| --skip-monitoring-stack | モニタリングスタック (prometheus、grafana、alertmanager、node-exporter) を自動的にプロビジョニングしません。 |
| --apply-spec APPLY_SPEC | ブートストラップ後にクラスター仕様ファイルを適用します (ssh キーをコピーし、ホストを追加し、サービスを適用します)。 |
| --registry-url REGISTRY_URL |
ログインするカスタムレジストリーの URL を指定します。例: |
| --registry-username REGISTRY_USERNAME | カスタムレジストリーへのログインアカウントのユーザー名。 |
| --registry-password REGISTRY_PASSWORD | カスタムレジストリーへのログインアカウントのパスワード |
| --registry-json REGISTRY_JSON | レジストリーのログイン情報が含まれる JSON ファイル。 |
3.11.6. 非接続インストールのプライベートレジストリーの設定 リンクのコピーリンクがクリップボードにコピーされました!
非接続インストール手順を使用して cephadm をインストールし、ストレージクラスターをプライベートネットワークでブートストラップできます。非接続インストールでは、インストールにプライベートレジストリーが使用されます。デプロイメント時に Red Hat Ceph Storage ノードがインターネットにアクセスできない場合は、この手順を使用します。
認証および自己署名証明書を使用してセキュアなプライベートレジストリーを設定するには、以下の手順に従います。インターネットとローカルクラスターの両方にアクセスできるノードで、以下の手順を実行します。
実稼働環境に非セキュアなレジストリーを使用することは推奨されていません。
前提条件
- アクティブなインターネット接続のある稼働中の仮想マシン (VM) またはサーバー 1 つ以上。
-
Ansible-coreが AppStream にバンドルされている Red Hat Enterprise Linux 9.0 以降。 -
registry.redhat.ioへのログインアクセス。 - 全ノードへの root レベルのアクセス。
ブートストラップノードでサポートされている最新の Red Hat Enterprise Linux バージョンについては、Red Hat Ceph Storage 互換性ガイド を参照してください。
手順
- パブリックネットワークとクラスターノードの両方にアクセスできるノードにログインします。
ノードを登録します。プロンプトが表示されたら、適切な Red Hat カスタマーポータルの認証情報を入力します。
例
subscription-manager register
[root@admin ~]# subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最新のサブスクリプションデータをプルします。
例
subscription-manager refresh
[root@admin ~]# subscription-manager refreshCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage で利用可能なサブスクリプションのリストを表示します。
例
subscription-manager list --available --all --matches="*Ceph*"
[root@admin ~]# subscription-manager list --available --all --matches="*Ceph*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage の利用可能なサブスクリプションのリストから Pool ID をコピーします。
サブスクリプションを割り当て、ソフトウェアエンタイトルメントにアクセスします。
構文
subscription-manager attach --pool=POOL_ID
subscription-manager attach --pool=POOL_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow POOL_ID を前のステップで特定したプール ID に置き換えます。
デフォルトのソフトウェアリポジトリーを無効にし、サーバーおよび追加のリポジトリーを有効にします。
Red Hat Enterprise Linux 9
subscription-manager repos --disable=* subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms
[root@admin ~]# subscription-manager repos --disable=* [root@admin ~]# subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms [root@admin ~]# subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow podmanパッケージおよびhttpd-toolsパッケージをインストールします。例
dnf install -y podman httpd-tools
[root@admin ~]# dnf install -y podman httpd-toolsCopy to Clipboard Copied! Toggle word wrap Toggle overflow プライベートレジストリーのフォルダーを作成します。
例
mkdir -p /opt/registry/{auth,certs,data}[root@admin ~]# mkdir -p /opt/registry/{auth,certs,data}Copy to Clipboard Copied! Toggle word wrap Toggle overflow レジストリーは
/opt/registryに保存され、ディレクトリーはレジストリーを実行しているコンテナーにマウントされます。-
authディレクトリーは、レジストリーが認証に使用するhtpasswdファイルを保存します。 -
certsディレクトリーは、レジストリーが認証に使用する証明書を保存します。 -
dataディレクトリーはレジストリーイメージを保存します。
-
プライベートレジストリーにアクセスするための認証情報を作成します。
構文
htpasswd -bBc /opt/registry/auth/htpasswd PRIVATE_REGISTRY_USERNAME PRIVATE_REGISTRY_PASSWORD
htpasswd -bBc /opt/registry/auth/htpasswd PRIVATE_REGISTRY_USERNAME PRIVATE_REGISTRY_PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
bオプションは、コマンドラインからパスワードを提供します。 -
Bオプションは、Bcrypt暗号化を使用してパスワードを保存します。 -
cオプションはhtpasswdファイルを作成します。 - PRIVATE_REGISTRY_USERNAME を、プライベートレジストリー用に作成するユーザー名に置き換えます。
PRIVATE_REGISTRY_PASSWORD をプライベートレジストリーのユーザー名用に作成するパスワードに置き換えます。
例
htpasswd -bBc /opt/registry/auth/htpasswd myregistryusername myregistrypassword1
[root@admin ~]# htpasswd -bBc /opt/registry/auth/htpasswd myregistryusername myregistrypassword1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
自己署名証明書を作成します。
構文
openssl req -newkey rsa:4096 -nodes -sha256 -keyout /opt/registry/certs/domain.key -x509 -days 365 -out /opt/registry/certs/domain.crt -addext "subjectAltName = DNS:LOCAL_NODE_FQDN"
openssl req -newkey rsa:4096 -nodes -sha256 -keyout /opt/registry/certs/domain.key -x509 -days 365 -out /opt/registry/certs/domain.crt -addext "subjectAltName = DNS:LOCAL_NODE_FQDN"Copy to Clipboard Copied! Toggle word wrap Toggle overflow LOCAL_NODE_FQDN を、プライベートレジストリーノードの完全修飾ホスト名に置き換えます。
注記証明書のそれぞれのオプションを求めるプロンプトが出されます。
CN=値はノードのホスト名であり、DNS または/etc/hostsファイルで解決できる必要があります。例
openssl req -newkey rsa:4096 -nodes -sha256 -keyout /opt/registry/certs/domain.key -x509 -days 365 -out /opt/registry/certs/domain.crt -addext "subjectAltName = DNS:admin.lab.redhat.com"
[root@admin ~]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout /opt/registry/certs/domain.key -x509 -days 365 -out /opt/registry/certs/domain.crt -addext "subjectAltName = DNS:admin.lab.redhat.com"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記自己署名証明書を作成する場合は、適切な Subject Alternative Name (SAN) で証明書を作成してください。適切な SAN を含まない証明書の TLS 検証を必要とする Podman コマンドは、x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0 エラーを返します。
domain.certへのシンボリックリンクを作成し、skopeoがファイル拡張子.certの証明書を特定できるようにします。例
ln -s /opt/registry/certs/domain.crt /opt/registry/certs/domain.cert
[root@admin ~]# ln -s /opt/registry/certs/domain.crt /opt/registry/certs/domain.certCopy to Clipboard Copied! Toggle word wrap Toggle overflow プライベートレジストリーノードの信頼済みリストに証明書を追加します。
構文
cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/ update-ca-trust trust list | grep -i "LOCAL_NODE_FQDN"
cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/ update-ca-trust trust list | grep -i "LOCAL_NODE_FQDN"Copy to Clipboard Copied! Toggle word wrap Toggle overflow LOCAL_NODE_FQDN を、プライベートレジストリーノードの FQDN に置き換えます。
例
cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/ update-ca-trust trust list | grep -i "admin.lab.redhat.com" label: admin.lab.redhat.com[root@admin ~]# cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/ [root@admin ~]# update-ca-trust [root@admin ~]# trust list | grep -i "admin.lab.redhat.com" label: admin.lab.redhat.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow インストールのためにプライベートレジストリーにアクセスする任意のノードに証明書をコピーし、信頼されるリストを更新します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ミラーレジストリーをダウンロードしてインストールします。
- Red Hat Hybrid Cloud Console からミラーレジストリーをダウンロードします。
ミラーレジストリーをインストールします。
構文
./mirror-registry install --sslKey /opt/registry/certs/domain.key --sslCert /opt/registry/certs/domain.crt --initUser myregistryuser --initPassword myregistrypass
./mirror-registry install --sslKey /opt/registry/certs/domain.key --sslCert /opt/registry/certs/domain.crt --initUser myregistryuser --initPassword myregistrypassCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ローカルレジストリーノードで、
registry.redhat.ioがコンテナーレジストリーの検索パスにあることを確認します。/etc/containers/registries.confファイルを編集するために開き、registry.redhat.ioをunqualified-search-registriesリストに追加します (存在しない場合)。例
unqualified-search-registries = ["registry.redhat.io", "registry.access.redhat.com", "registry.fedoraproject.org", "registry.centos.org", "docker.io"]
unqualified-search-registries = ["registry.redhat.io", "registry.access.redhat.com", "registry.fedoraproject.org", "registry.centos.org", "docker.io"]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat カスタマーポータルの認証情報を使用して
registry.redhat.ioにログインします。構文
podman login registry.redhat.io
podman login registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の Red Hat Ceph Storage 6 イメージ、Prometheus イメージ、および Dashboard イメージを Red Hat カスタマーポータルからプライベートレジストリーにコピーします。
Expand 表3.1 スタックを監視するためのカスタムイメージの詳細 モニタリングスタックコンポーネント イメージの詳細 Prometheus
registry.redhat.io/openshift4/ose-prometheus:v4.12
Grafana
registry.redhat.io/rhceph/rhceph-6-dashboard-rhel9:latest
Node-exporter
registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.12
AlertManager
registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.12
HAProxy
registry.redhat.io/rhceph/rhceph-haproxy-rhel9:latest
keepalived
registry.redhat.io/rhceph/keepalived-rhel9:latest
SNMP ゲートウェイ
registry.redhat.io/rhceph/snmp-notifier-rhel9:latest
構文
podman run -v /CERTIFICATE_DIRECTORY_PATH:/certs:Z -v /CERTIFICATE_DIRECTORY_PATH/domain.cert:/certs/domain.cert:Z --rm registry.redhat.io/rhel8/skopeo:8.5-8 skopeo copy --remove-signatures --src-creds RED_HAT_CUSTOMER_PORTAL_LOGIN:RED_HAT_CUSTOMER_PORTAL_PASSWORD --dest-cert-dir=./certs/ --dest-creds PRIVATE_REGISTRY_USERNAME:PRIVATE_REGISTRY_PASSWORD docker://registry.redhat.io/SRC_IMAGE:SRC_TAG docker://LOCAL_NODE_FQDN:8433/DST_IMAGE:DST_TAG
podman run -v /CERTIFICATE_DIRECTORY_PATH:/certs:Z -v /CERTIFICATE_DIRECTORY_PATH/domain.cert:/certs/domain.cert:Z --rm registry.redhat.io/rhel8/skopeo:8.5-8 skopeo copy --remove-signatures --src-creds RED_HAT_CUSTOMER_PORTAL_LOGIN:RED_HAT_CUSTOMER_PORTAL_PASSWORD --dest-cert-dir=./certs/ --dest-creds PRIVATE_REGISTRY_USERNAME:PRIVATE_REGISTRY_PASSWORD docker://registry.redhat.io/SRC_IMAGE:SRC_TAG docker://LOCAL_NODE_FQDN:8433/DST_IMAGE:DST_TAGCopy to Clipboard Copied! Toggle word wrap Toggle overflow - CERTIFICATE_DIRECTORY_PATH は、自己署名証明書へのディレクトリーパスに置き換えます。
- RED_HAT_CUSTOMER_PORTAL_LOGIN および RED_HAT_CUSTOMER_PORTAL_PASSWORD は、ご自分の Red Hat カスタマーポータルの認証情報に置き換えてください。
- PRIVATE_REGISTRY_USERNAME および PRIVATE_REGISTRY_PASSWORD をプライベートレジストリーの認証情報に置き換えます。
- SRC_IMAGE および SRC_TAG を、registry.redhat.io からコピーするイメージの名前およびタグに置き換えます。
- DST_IMAGE および DST_TAG を、プライベートレジストリーにコピーするイメージの名前およびタグに置き換えます。
LOCAL_NODE_FQDN を、プライベートレジストリーの FQDN に置き換えます。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Ceph ダッシュボードを使用して、イメージがローカルレジストリーにあることを確認します。詳細は、Red Hat Ceph Storage ダッシュボードガイド の ダッシュボードでの Ceph クラスターのサービスの監視 を参照してください。
3.11.7. 非接続インストールのためのプリフライト Playbook の実行 リンクのコピーリンクがクリップボードにコピーされました!
cephadm-preflight.yml Ansible Playbook を使用して、Ceph リポジトリーを設定し、ブートストラップ用にストレージクラスターを準備します。また、podman、lvm2、chrony、および cephadm などのいくつかの前提条件もインストールします。
プリフライト Playbook は cephadm-ansible インベントリーの hosts ファイルを使用して、ストレージクラスターのすべてのノードを識別します。cephadm-ansible、cephadm-preflight.yml、およびインベントリー hosts ファイルのデフォルトの場所は /usr/share/cephadm-ansible/ です。
以下の例は、一般的なインベントリーファイルの構造を示しています。
例
インベントリーファイルの [admin] グループには、管理者キーリングが保存されるノードの名前が含まれます。
初期ホストをブートストラップする前に、プリフライト Playbook を実行します。
前提条件
-
cephadm-ansibleパッケージが Ansible 管理ノードにインストールされている。 - ストレージクラスター内のすべてのノードへの root レベルのアクセス。
-
パスワードなしの
sshがストレージクラスター内のすべてのホストに設定されます。 以下のリポジトリーが有効なローカルの YUM リポジトリーサーバーにアクセスするように設定されているノード。
- rhel-9-for-x86_64-baseos-rpms
- rhel-9-for-x86_64-appstream-rpms
- rhceph-6-tools-for-rhel-9-x86_64-rpms
Red Hat Enterprise Linux 8.x を使用する場合、管理ノードは Red Hat Ceph Storage でサポートされている Red Hat Enterprise Linux 9.x バージョンを実行している必要があります。サポートされている最新の Red Hat Enterprise Linux バージョンについては、 Red Hat Ceph Storage 互換性ガイド を参照してください。
ローカル YUM リポジトリーの設定の詳細は、ナレッジベースの記事 Creating a Local Repository and Sharing with Disconnected/Offline/Air-gapped Systems を参照してください。
手順
-
Ansible 管理ノードの
/usr/share/cephadm-ansibleディレクトリーに移動します。 -
hostsファイルを開いて編集し、ノードを追加します。 ローカルの YUM リポジトリーを使用するために
ceph_originパラメーターをcustomに設定してプリフライト Playbook を実行します。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=CUSTOM_REPO_URL"
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=CUSTOM_REPO_URL"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/"
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/"Copy to Clipboard Copied! Toggle word wrap Toggle overflow インストールが完了すると、
cephadmは/usr/sbin/ディレクトリーに配置されます。注記registries.confファイルの内容に Ansible Playbook を取り込みます。構文
ansible-playbook -vvv -i INVENTORY_HOST_FILE_ cephadm-set-container-insecure-registries.yml -e insecure_registry=REGISTRY_URL
ansible-playbook -vvv -i INVENTORY_HOST_FILE_ cephadm-set-container-insecure-registries.yml -e insecure_registry=REGISTRY_URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ansible-playbook -vvv -i hosts cephadm-set-container-insecure-registries.yml -e insecure_registry=host01:5050
[root@admin ~]# ansible-playbook -vvv -i hosts cephadm-set-container-insecure-registries.yml -e insecure_registry=host01:5050Copy to Clipboard Copied! Toggle word wrap Toggle overflow あるいは、
--limitオプションを使用して、ストレージクラスターの選択したホストでプリフライト Playbook を実行することができます。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=CUSTOM_REPO_URL" --limit GROUP_NAME|NODE_NAME
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=CUSTOM_REPO_URL" --limit GROUP_NAME|NODE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow GROUP_NAME は、インベントリーファイルからのグループ名に置き換えます。NODE_NAME は、インベントリーファイルからの特定のノード名に置き換えます。
例
ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/" --limit clients ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/" --limit host02
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/" --limit clients [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom" -e "custom_repo_url=http://mycustomrepo.lab.redhat.com/x86_64/os/" --limit host02Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記プリフライト Playbook を実行すると、
cephadm-ansibleは自動的にクライアントノードにchronyおよびceph-commonをインストールします。
3.11.8. 非接続インストールの実行 リンクのコピーリンクがクリップボードにコピーされました!
インストールを実行する前に、Red Hat レジストリーにアクセスできるプロキシーホストから Red Hat Ceph Storage コンテナーイメージを取得するか、イメージをローカルレジストリーにコピーして Red Hat Ceph Storage コンテナーイメージを取得する必要があります。
ローカルレジストリーがローカルレジストリーと共に自己署名証明書を使用する場合は、信頼されるルート証明書をブートストラップホストに追加してください。詳細は、非接続インストールのプライベートレジストリーの設定 を参照してください。
ブートストラップノードでサポートされている最新の Red Hat Enterprise Linux バージョンについては、Red Hat Ceph Storage 互換性ガイド を参照してください。
ブートストラッププロセスを開始する前に、使用するコンテナーイメージに cephadm と同じバージョンの Red Hat Ceph Storage があることを確認します。2 つのバージョンが一致しないと Creating initial admin user 段階でブートストラップに失敗します。
前提条件
- 1 つ以上の稼働中の仮想マシン (VM) またはサーバー。
- 全ノードへの root レベルのアクセス。
-
パスワードなしの
sshがストレージクラスター内のすべてのホストに設定されます。 - ストレージクラスターのブートストラップホストでプリフライト Playbook が実行されている。詳細は、非接続インストールのためのプリフライト Playbook の実行 を参照してください。
- プライベートレジストリーが設定され、ブートストラップノードがこれにアクセスできる。詳細は、非接続インストールのプライベートレジストリーの設定 を参照してください。
- Red Hat Ceph Storage コンテナーイメージがカスタムレジストリーに存在する。
手順
- ブートストラップホストにログインします。
ストレージクラスターをブートストラップします。
構文
cephadm --image PRIVATE_REGISTRY_NODE_FQDN:5000/CUSTOM_IMAGE_NAME:IMAGE_TAG bootstrap --mon-ip IP_ADDRESS --registry-url PRIVATE_REGISTRY_NODE_FQDN:5000 --registry-username PRIVATE_REGISTRY_USERNAME --registry-password PRIVATE_REGISTRY_PASSWORD
cephadm --image PRIVATE_REGISTRY_NODE_FQDN:5000/CUSTOM_IMAGE_NAME:IMAGE_TAG bootstrap --mon-ip IP_ADDRESS --registry-url PRIVATE_REGISTRY_NODE_FQDN:5000 --registry-username PRIVATE_REGISTRY_USERNAME --registry-password PRIVATE_REGISTRY_PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - PRIVATE_REGISTRY_NODE_FQDN をプライベートレジストリーの完全修飾ドメイン名に置き換えます。
- CUSTOM_IMAGE_NAME および IMAGE_TAG を、プライベートレジストリーにある Red Hat Ceph Storage コンテナーイメージの名前およびタグに置き換えます。
-
IP_ADDRESS は、
cephadm bootstrapの実行に使用するノードの IP アドレスに置き換えます。 - PRIVATE_REGISTRY_USERNAME を、プライベートレジストリー用に作成するユーザー名に置き換えます。
PRIVATE_REGISTRY_PASSWORD をプライベートレジストリーのユーザー名用に作成するパスワードに置き換えます。
例
cephadm --image admin.lab.redhat.com:5000/rhceph-6-rhel9:latest bootstrap --mon-ip 10.10.128.68 --registry-url admin.lab.redhat.com:5000 --registry-username myregistryusername --registry-password myregistrypassword1
[root@host01 ~]# cephadm --image admin.lab.redhat.com:5000/rhceph-6-rhel9:latest bootstrap --mon-ip 10.10.128.68 --registry-url admin.lab.redhat.com:5000 --registry-username myregistryusername --registry-password myregistrypassword1Copy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトが完了するまで数分かかります。スクリプトが完了すると、Red Hat Ceph Storage Dashboard URL へのクレデンシャル、Ceph コマンドラインインターフェイス (CLI) にアクセスするコマンド、およびテレメトリーを有効にする要求が提供されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ブートストラッププロセスが完了したら、非接続インストールのカスタムコンテナーイメージの設定変更 を参照してコンテナーイメージを設定します。
3.11.9. 非接続インストールのカスタムコンテナーイメージの設定変更 リンクのコピーリンクがクリップボードにコピーされました!
非接続ノードの最初のブートストラップを実行した後に、モニタリングスタックデーモンのカスタムコンテナーイメージを指定する必要があります。ノードはデフォルトのコンテナーレジストリーにアクセスできないため、スタックデーモンのモニタリングのためのデフォルトのコンテナーイメージを上書きできます。
設定を変更する前に、初期ホストでのブートストラッププロセスが完了していることを確認してください。
デフォルトでは、モニタリングスタックコンポーネントは、プライマリー Ceph イメージに基づいてデプロイされます。ストレージクラスターの切断された環境では、最新の利用可能な監視スタックコンポーネントイメージを使用できます。
カスタムレジストリーを使用する場合は、Ceph デーモンを追加する前に、新しく追加したノードのカスタムレジストリーにログインしてください。
構文
ceph cephadm registry-login --registry-url CUSTOM_REGISTRY_NAME --registry_username REGISTRY_USERNAME --registry_password REGISTRY_PASSWORD
# ceph cephadm registry-login --registry-url CUSTOM_REGISTRY_NAME --registry_username REGISTRY_USERNAME --registry_password REGISTRY_PASSWORD
例
ceph cephadm registry-login --registry-url myregistry --registry_username myregistryusername --registry_password myregistrypassword1
# ceph cephadm registry-login --registry-url myregistry --registry_username myregistryusername --registry_password myregistrypassword1
前提条件
- 1 つ以上の稼働中の仮想マシン (VM) またはサーバー。
-
Ansible-coreが AppStream にバンドルされている Red Hat Enterprise Linux 9.0 以降。 - 全ノードへの root レベルのアクセス。
-
パスワードなしの
sshがストレージクラスター内のすべてのホストに設定されます。
ブートストラップノードでサポートされている最新の Red Hat Enterprise Linux バージョンについては、Red Hat Ceph Storage 互換性ガイド を参照してください。
手順
ceph configコマンドを使用して、カスタムコンテナーイメージを設定します。構文
ceph config set mgr mgr/cephadm/OPTION_NAME CUSTOM_REGISTRY_NAME/CONTAINER_NAME
ceph config set mgr mgr/cephadm/OPTION_NAME CUSTOM_REGISTRY_NAME/CONTAINER_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow OPTION_NAME には、以下のオプションを使用します。
container_image_prometheus container_image_grafana container_image_alertmanager container_image_node_exporter
container_image_prometheus container_image_grafana container_image_alertmanager container_image_node_exporterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph config set mgr mgr/cephadm/container_image_prometheus myregistry/mycontainer ceph config set mgr mgr/cephadm/container_image_grafana myregistry/mycontainer ceph config set mgr mgr/cephadm/container_image_alertmanager myregistry/mycontainer ceph config set mgr mgr/cephadm/container_image_node_exporter myregistry/mycontainer
[root@host01 ~]# ceph config set mgr mgr/cephadm/container_image_prometheus myregistry/mycontainer [root@host01 ~]# ceph config set mgr mgr/cephadm/container_image_grafana myregistry/mycontainer [root@host01 ~]# ceph config set mgr mgr/cephadm/container_image_alertmanager myregistry/mycontainer [root@host01 ~]# ceph config set mgr mgr/cephadm/container_image_node_exporter myregistry/mycontainerCopy to Clipboard Copied! Toggle word wrap Toggle overflow node_exporterを再デプロイします。構文
ceph orch redeploy node-exporter
ceph orch redeploy node-exporterCopy to Clipboard Copied! Toggle word wrap Toggle overflow
いずれかのサービスがデプロイされない場合は、ceph orch redeploy コマンドを使用してサービスを再デプロイできます。
カスタムイメージを設定することにより、設定イメージ名とタグのデフォルト値がオーバーライドされますが、上書きされません。デフォルトの値は、更新が利用可能になると変更されます。カスタムイメージを設定すると、自動更新のカスタムイメージを設定したコンポーネントを設定できなくなります。更新をインストールするには、設定イメージ名とタグを手動で更新する必要があります。
デフォルト設定の使用に戻す場合は、カスタムコンテナーイメージをリセットできます。
ceph config rmを使用して、設定オプションをリセットします。構文
ceph config rm mgr mgr/cephadm/OPTION_NAME
ceph config rm mgr mgr/cephadm/OPTION_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph config rm mgr mgr/cephadm/container_image_prometheus
ceph config rm mgr mgr/cephadm/container_image_prometheusCopy to Clipboard Copied! Toggle word wrap Toggle overflow