1.5. Ceph OSD
Red Hat Ceph Storage クラスターが稼働している場合は、ランタイム時に OSD をストレージクラスターに追加できます。
Ceph OSD は、通常 1 つのストレージドライブおよびノード内の関連付けられたジャーナル用に 1 つの ceph-osd
デーモンで設定されます。ノードに複数のストレージドライブがある場合は、ドライブごとに 1 つの ceph-osd
デーモンをマッピングします。
Red Hat は、クラスターの容量を定期的に確認して、ストレージ容量の最後に到達するかどうかを確認することを推奨します。ストレージクラスターが ほぼ完全
の比率に達すると、1 つ以上の OSD を追加してストレージクラスターの容量を拡張します。
Red Hat Ceph Storage クラスターのサイズを縮小したり、ハードウェアを置き換える場合は、ランタイム時に OSD を削除することも可能です。ノードに複数のストレージドライブがある場合には、そのドライブ用に ceph-osd
デーモンのいずれかを削除する必要もあります。通常、ストレージクラスターの容量を確認して、容量の上限に達したかどうかを確認することが推奨されます。ストレージクラスターが ほぼ完全
の比率ではないことを OSD を削除する場合。
OSD を追加する前に、ストレージクラスターが 完全な
比率を超えないようにします。ストレージクラスターが ほぼ完全な
比率に達した後に OSD の障害が発生すると、ストレージクラスターが 完全な
比率を超過する可能性があります。Ceph は、ストレージ容量の問題を解決するまでデータを保護するための書き込みアクセスをブロックします。完全な
比率の影響を考慮せずに OSD を削除しないでください。
1.5.1. Ceph OSD ノードの設定 リンクのコピーリンクがクリップボードにコピーされました!
OSD を使用するプールのストレージストラテジーとして同様に Ceph OSD とサポートするハードウェアを設定します。Ceph は、一貫性のあるパフォーマンスプロファイルを確保するために、プール全体でハードウェアを統一します。最適なパフォーマンスを得るには、同じタイプまたはサイズのドライブのある CRUSH 階層を検討してください。
異なるサイズのドライブを追加する場合は、それに応じて重量を調整してください。OSD を CRUSH マップに追加する場合は、新規 OSD の重みを考慮してください。ハードドライブの容量は、1 年あたり約 40% 増加するため、新しい OSD ノードはストレージクラスターの古いノードよりも大きなハードドライブを持つ可能性があります。つまり、重みが大きくなる可能性があります。
新たにインストールを行う前に、インストールガイド のRed Hat Ceph Storage のインストール要件の章を確認してください。
関連情報
- 詳しい情報は、Red Hat Ceph Storage 戦略ガイド を参照してください。*
1.5.2. コンテナーの OSD ID のドライブへのマッピング リンクのコピーリンクがクリップボードにコピーされました!
場合によっては、コンテナー化された OSD が使用しているドライブを特定する必要がある場合があります。たとえば、OSD に問題がある場合には、ドライブのステータスを検証するために使用するドライブを把握しなければならない場合があります。また、コンテナー化されていない OSD の場合は、OSD ID を参照して開始および停止しますが、コンテナー化された OSD を開始および停止するには、使用するドライブを参照します。
以下の例は、Red Hat Enterprise Linux 8 で実行しています。Red Hat Enterprise Linux 8 では、podman
がデフォルトのサービスとなり、古い docker
サービスに置き換えられています。Red Hat Enterprise Linux 7 で実行している場合は、podman
を docker
に置き換え、指定したコマンドを実行します。
前提条件
- コンテナー化環境で実行中の Red Hat Ceph Storage クラスター
-
コンテナーノードへの
root
アクセスがあること。
手順
コンテナー名を見つけます。たとえば、
osd.5
に関連付けられたドライブを特定するには、osd.5
が実行中のコンテナーノードでターミナルを開き、podman ps
を実行してすべてのコンテナーをリスト表示します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec
を使用して、直前の出力から OSD コンテナー名上でceph-volume lvm list
を実行します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この出力から、
osd.5
が/dev/sdb
に関連付けられていることがわかります。
関連情報
- 詳細は、失敗した OSD ディスクの置き換え を参照してください。
1.5.3. 同じディスクトポロジーを持つ Ansible を使用した Ceph OSD の追加 リンクのコピーリンクがクリップボードにコピーされました!
同じディスクトポロジーを持つ Ceph OSD の場合、Ansible は /usr/share/ceph-ansible/group_vars/osds.yml
ファイルの devices:
セクションで指定されている同じデバイスパスを使用して、他の OSD ノードと同じ OSD 数を追加します。
新しい Ceph OSD ノードは、残りの OSD と同じ設定になります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Red Hat Ceph Storage インストールガイド のRed Hat Ceph Storage のインストール要件の章を参照してください。
-
新規ノードへの
root
アクセスがあること。 - ストレージクラスター内の他の OSD ノードと同じ数の OSD データドライブ。
手順
[osds]
セクションの下に Ceph OSD ノードを/etc/ansible/hosts
ファイルに追加します。構文
[osds] ... osd06 NEW_OSD_NODE_NAME
[osds] ... osd06 NEW_OSD_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible が Ceph ノードに到達できることを確認します。
ansible all -m ping
[user@admin ~]$ ansible all -m ping
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 設定ディレクトリーに移動します。
cd /usr/share/ceph-ansible
[user@admin ~]$ cd /usr/share/ceph-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ベアメタル および コンテナー のデプロイメントには、Ansible Playbook の
add-osd.yml
を実行します。注記新しい OSD ホストの場合、
osds.yml
Playbook ではノードにnode-exporter
とceph-crash
サービスがデプロイされないため、--limit
オプションを使用してsite.yml
またはsite-container.yml
Playbook を実行する必要があります。例
ansible-playbook infrastructure-playbooks/add-osd.yml -i hosts
[user@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/add-osd.yml -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい OSD ホストの場合、
site.yml
またはsite-container.yml
Ansible Playbook を実行します。ベアメタル デプロイメント:
構文
ansible-playbook site.yml -i hosts --limit NEW_OSD_NODE_NAME
ansible-playbook site.yml -i hosts --limit NEW_OSD_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ansible-playbook site.yml -i hosts --limit node03
[user@admin ceph-ansible]$ ansible-playbook site.yml -i hosts --limit node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナー デプロイメント:
構文
ansible-playbook site-container.yml -i hosts --limit NEW_OSD_NODE_NAME
ansible-playbook site-container.yml -i hosts --limit NEW_OSD_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ansible-playbook site-container.yml -i hosts --limit node03
[user@admin ceph-ansible]$ ansible-playbook site-container.yml -i hosts --limit node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OSD を追加する際に、PGs were not reported as active+clean
で Playbook が失敗する場合は、all.yml
ファイルに以下の変数を設定し、再試行と遅延を調整します。
OSD handler checks
# OSD handler checks
handler_health_osd_check_retries: 50
handler_health_osd_check_delay: 30
関連情報
- Ansible インベントリー設定の詳細は、{storage_product} インストールガイド の Ansible のインベントリーの場所の設定 セクションを参照してください。
1.5.4. 異なるディスクトポロジーが設定された Ansible を使用した Ceph OSD の追加 リンクのコピーリンクがクリップボードにコピーされました!
異なるディスクトポロジーを持つ Ceph OSD については、新しい OSD ノードを既存のストレージクラスターに追加する 2 つの方法があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Red Hat Ceph Storage インストールガイド のRed Hat Ceph Storage のインストール要件の章を参照してください。
-
新規ノードへの
root
アクセスがあること。
手順
最初の操作
[osds]
セクションの下に、新しい Ceph OSD ノードを/etc/ansible/hosts
ファイルに追加します。例
[osds] ... osd06 NEW_OSD_NODE_NAME
[osds] ... osd06 NEW_OSD_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターに追加される新しい Ceph OSD ノードを
/etc/ansible/host_vars/
ディレクトリーに作成します。構文
touch /etc/ansible/host_vars/NEW_OSD_NODE_NAME
touch /etc/ansible/host_vars/NEW_OSD_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
touch /etc/ansible/host_vars/osd07
[root@admin ~]# touch /etc/ansible/host_vars/osd07
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいファイルを編集し、
devices:
およびdedicated_devices:
セクションをファイルに追加します。以下の各セクションに、-
およびスペースを追加してから、この OSD ノードのブロックデバイス名への完全パスを追加します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible がすべての Ceph ノードに到達できることを確認します。
ansible all -m ping
[user@admin ~]$ ansible all -m ping
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ディレクトリーを Ansible 設定ディレクトリーに移動します。
cd /usr/share/ceph-ansible
[user@admin ~]$ cd /usr/share/ceph-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ベアメタル および コンテナー のデプロイメントには、Ansible Playbook の
add-osd.yml
を実行します。注記新しい OSD ホストの場合、
osds.yml
Playbook ではノードにnode-exporter
とceph-crash
サービスがデプロイされないため、--limit
オプションを使用してsite.yml
またはsite-container.yml
Playbook を実行する必要があります。例
ansible-playbook infrastructure-playbooks/add-osd.yml -i hosts
[user@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/add-osd.yml -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい OSD ホストの場合、
site.yml
またはsite-container.yml
Ansible Playbook を実行します。ベアメタル デプロイメント:
構文
ansible-playbook site.yml -i hosts --limit NEW_OSD_NODE_NAME
ansible-playbook site.yml -i hosts --limit NEW_OSD_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ansible-playbook site.yml -i hosts --limit node03
[user@admin ceph-ansible]$ ansible-playbook site.yml -i hosts --limit node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナー デプロイメント:
構文
ansible-playbook site-container.yml -i hosts --limit NEW_OSD_NODE_NAME
ansible-playbook site-container.yml -i hosts --limit NEW_OSD_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ansible-playbook site-container.yml -i hosts --limit node03
[user@admin ceph-ansible]$ ansible-playbook site-container.yml -i hosts --limit node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2 つ目の方法
新しい OSD ノード名を
/etc/ansible/hosts
ファイルに追加し、devices
オプションおよびdedicated_devices
オプションを使用して、異なるディスクトポロジーを指定します。例
[osds] ... osd07 devices="['/dev/sdc', '/dev/sdd', '/dev/sde', '/dev/sdf']" dedicated_devices="['/dev/sda', '/dev/sda', '/dev/sdb', '/dev/sdb']"
[osds] ... osd07 devices="['/dev/sdc', '/dev/sdd', '/dev/sde', '/dev/sdf']" dedicated_devices="['/dev/sda', '/dev/sda', '/dev/sdb', '/dev/sdb']"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible がすべての Ceph ノードに到達できることを確認します。
ansible all -m ping
[user@admin ~]$ ansible all -m ping
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ディレクトリーを Ansible 設定ディレクトリーに移動します。
cd /usr/share/ceph-ansible
[user@admin ~]$ cd /usr/share/ceph-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ベアメタル および コンテナー のデプロイメントには、Ansible Playbook の
add-osd.yml
を実行します。注記新しい OSD ホストの場合、
osds.yml
Playbook ではノードにnode-exporter
とceph-crash
サービスがデプロイされないため、--limit
オプションを使用してsite.yml
またはsite-container.yml
Playbook を実行する必要があります。例
ansible-playbook infrastructure-playbooks/add-osd.yml -i hosts
[user@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/add-osd.yml -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい OSD ホストの場合、
site.yml
またはsite-container.yml
Ansible Playbook を実行します。ベアメタル デプロイメント:
構文
ansible-playbook site.yml -i hosts --limit NEW_OSD_NODE_NAME
ansible-playbook site.yml -i hosts --limit NEW_OSD_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ansible-playbook site.yml -i hosts --limit node03
[user@admin ceph-ansible]$ ansible-playbook site.yml -i hosts --limit node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナー デプロイメント:
構文
ansible-playbook site-container.yml -i hosts --limit NEW_OSD_NODE_NAME
ansible-playbook site-container.yml -i hosts --limit NEW_OSD_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ansible-playbook site-container.yml -i hosts --limit node03
[user@admin ceph-ansible]$ ansible-playbook site-container.yml -i hosts --limit node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- Ansible インベントリー設定の詳細は、{storage_product} インストールガイド の Ansible のインベントリーの場所の設定 セクションを参照してください。
1.5.5. ceph-volume を使用した Ceph OSD の作成 リンクのコピーリンクがクリップボードにコピーされました!
create
サブコマンドは prepare
サブコマンドを呼び出し、activate
サブコマンドを呼び出します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph OSD ノードへのルートレベルのアクセス。
作成プロセスに対する制御を強化する場合は、サブコマンドの prepare
および activate
を個別に使用して、create
を使用する代わりに OSD を作成できます。この 2 つのサブコマンドを使用すると、大量のデータをリバランスせずに、新規 OSD をストレージクラスターに段階的に導入することができます。create
サブコマンドを使用すると、完了直後に OSD が up および in になりますが、どちらのアプローチも同じように機能します。
手順
新規 OSD を作成するには、以下を実行します。
構文
ceph-volume lvm create --bluestore --data VOLUME_GROUP/LOGICAL_VOLUME
ceph-volume lvm create --bluestore --data VOLUME_GROUP/LOGICAL_VOLUME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph-volume lvm create --bluestore --data example_vg/data_lv
[root@osd ~]# ceph-volume lvm create --bluestore --data example_vg/data_lv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- 詳細はRed Hat Ceph Storage 管理ガイドの `ceph-volume` を使用した Ceph OSD の準備 セクションを参照してください。
- 詳細は、Red Hat Ceph Storage 管理ガイドの `ceph-volume` を使用した Ceph OSD の有効化 セクションを参照してください。
1.5.6. ceph-volume でのバッチモードの使用 リンクのコピーリンクがクリップボードにコピーされました!
batch
サブコマンドは、単一デバイスが提供されると複数の OSD の作成を自動化します。
ceph-volume
コマンドは、ドライブタイプに基づいて OSD の作成に使用する最適な方法を決定します。Ceph OSD の最適化は、利用可能なデバイスによって異なります。
-
すべてのデバイスが従来のハードドライブの場合、
batch
はデバイスごとに OSD を 1 つ作成します。 -
すべてのデバイスがソリッドステートドライブの場合は、
バッチ
によりデバイスごとに OSD が 2 つ作成されます。 -
従来のハードドライブとソリッドステートドライブが混在している場合、
バッチ
はデータに従来のハードドライブを使用し、ソリッドステートドライブに可能な限り大きいジャーナル (block.db
) を作成します。
batch
サブコマンドは、write-ahead-log (block.wal
) デバイスに別の論理ボリュームを作成することに対応していません。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph OSD ノードへのルートレベルのアクセス。
手順
複数のドライブに OSD を作成するには、以下の手順を実行します。
構文
ceph-volume lvm batch --bluestore PATH_TO_DEVICE [PATH_TO_DEVICE]
ceph-volume lvm batch --bluestore PATH_TO_DEVICE [PATH_TO_DEVICE]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph-volume lvm batch --bluestore /dev/sda /dev/sdb /dev/nvme0n1
[root@osd ~]# ceph-volume lvm batch --bluestore /dev/sda /dev/sdb /dev/nvme0n1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- 詳細は、Red Hat Ceph Storage 管理ガイドの `ceph-volume` を使用した Ceph OSD の作成 セクションを参照してください。
1.5.7. コマンドラインインターフェイスを使用した Ceph OSD の追加 リンクのコピーリンクがクリップボードにコピーされました!
OSD を Red Hat Ceph Storage に手動で追加するハイレベルのワークフローを以下に示します。
-
ceph-osd
パッケージをインストールして、新規 OSD インスタンスを作成します。 - OSD データおよびジャーナルドライブを準備してマウントします。
- ボリュームグループおよび論理ボリュームを作成します。
- 新規 OSD ノードを CRUSH マップに追加します。
- 所有者およびグループパーミッションを更新します。
-
ceph-osd
デーモンを有効にして起動します。
ceph-disk
コマンドは非推奨となりました。ceph-volume
コマンドは、コマンドラインインターフェイスから OSD をデプロイするのに推奨される方法です。現在、ceph-volume
コマンドは lvm
プラグインのみをサポートしています。Red Hat は、本ガイドで両方のコマンドを参照として使用している例を提供します。これにより、ストレージ管理者は ceph-disk
に依存するカスタムスクリプトを ceph-volume
に変換できます。
カスタムストレージクラスター名の場合は、ceph
コマンドおよび ceph-osd
コマンドで --cluster CLUSTER_NAME
オプションを使用します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Red Hat Ceph Storage インストールガイド のRed Hat Ceph Storage のインストール要件の章を参照してください。
-
新規ノードへの
root
アクセス。 -
任意です。
ceph-volume
ユーティリティーでボリュームグループと論理ボリュームを自動的に作成しない場合は、手動で作成します。Red Hat Enterprise Linux 8 の 論理ボリュームの設定および管理 を参照してください。
手順
Red Hat Ceph Storage 4 OSD ソフトウェアリポジトリーを有効にします。
Red Hat Enterprise Linux 7
subscription-manager repos --enable=rhel-7-server-rhceph-4-osd-rpms
[root@osd ~]# subscription-manager repos --enable=rhel-7-server-rhceph-4-osd-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-4-osd-for-rhel-8-x86_64-rpms
[root@osd ~]# subscription-manager repos --enable=rhceph-4-osd-for-rhel-8-x86_64-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/ceph/
ディレクトリーを作成します。mkdir /etc/ceph
[root@osd ~]# mkdir /etc/ceph
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい OSD ノードで、Ceph 管理キーリングと設定ファイルを Ceph Monitor ノードの 1 つからコピーします。
構文
scp USER_NAME @ MONITOR_HOST_NAME :/etc/ceph/CLUSTER_NAME.client.admin.keyring /etc/ceph scp USER_NAME @ MONITOR_HOST_NAME :/etc/ceph/CLUSTER_NAME.conf /etc/ceph
scp USER_NAME @ MONITOR_HOST_NAME :/etc/ceph/CLUSTER_NAME.client.admin.keyring /etc/ceph scp USER_NAME @ MONITOR_HOST_NAME :/etc/ceph/CLUSTER_NAME.conf /etc/ceph
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
scp root@node1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ scp root@node1:/etc/ceph/ceph.conf /etc/ceph/
[root@osd ~]# scp root@node1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ [root@osd ~]# scp root@node1:/etc/ceph/ceph.conf /etc/ceph/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-osd
パッケージを新しい Ceph OSD ノードにインストールします。Red Hat Enterprise Linux 7
yum install ceph-osd
[root@osd ~]# yum install ceph-osd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8
dnf install ceph-osd
[root@osd ~]# dnf install ceph-osd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD を準備します。
作成した論理ボリュームを使用するには、以下を実行します。
構文
ceph-volume lvm prepare --bluestore --data VOLUME_GROUP/LOGICAL_VOLUME
ceph-volume lvm prepare --bluestore --data VOLUME_GROUP/LOGICAL_VOLUME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-volume
が論理ボリュームを自動的に作成する RAW デバイスを指定するには、以下のコマンドを実行します。構文
ceph-volume lvm prepare --bluestore --data /PATH_TO_DEVICE
ceph-volume lvm prepare --bluestore --data /PATH_TO_DEVICE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、OSD の準備 セクションを参照してください。
noup
オプションを設定します。ceph osd set noup
[root@osd ~]# ceph osd set noup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい OSD をアクティベートします。
構文
ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph-volume lvm activate --bluestore 4 6cc43680-4f6e-4feb-92ff-9c7ba204120e
[root@osd ~]# ceph-volume lvm activate --bluestore 4 6cc43680-4f6e-4feb-92ff-9c7ba204120e
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、OSD のアクティベート セクションを参照してください。
注記1 つのコマンドで OSD を準備してアクティベートできます。詳細は、OSD の作成 セクションを参照してください。または、1 つのコマンドで、複数のドライブを指定し、OSD を作成することもできます。
batch
モードの使用 を参照してください。OSD を CRUSH マップに追加します。複数のバケットを指定する場合、コマンドは OSD を指定したバケットから最も具体的なバケットに配置、および 指定した他のバケットに従ってバケットを移動します。
構文
ceph osd crush add OSD_ID WEIGHT [ BUCKET_TYPE = BUCKET_NAME ...]
ceph osd crush add OSD_ID WEIGHT [ BUCKET_TYPE = BUCKET_NAME ...]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph osd crush add 4 1 host=node4
[root@osd ~]# ceph osd crush add 4 1 host=node4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記複数のバケットを指定する場合、コマンドは OSD を指定したバケットから最も具体的なバケットに配置、および 指定した他のバケットに従ってバケットを移動します。
注記CRUSH マップを手動で編集することもできます。Red Hat Ceph Storage 戦略ガイドの CRUSH マップの編集 セクションを参照してください。
重要ルートバケットのみを指定する場合、OSD はルートに直接アタッチしますが、CRUSH ルールは OSD がホストバケット内に置かれることを想定します。
noup
オプションの設定を解除します。ceph osd unset noup
[root@osd ~]# ceph osd unset noup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新規作成されたディレクトリーの所有者とグループのパーミッションを更新します。
構文
chown -R OWNER : GROUP PATH_TO_DIRECTORY
chown -R OWNER : GROUP PATH_TO_DIRECTORY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
chown -R ceph:ceph /var/lib/ceph/osd chown -R ceph:ceph /var/log/ceph chown -R ceph:ceph /var/run/ceph chown -R ceph:ceph /etc/ceph
[root@osd ~]# chown -R ceph:ceph /var/lib/ceph/osd [root@osd ~]# chown -R ceph:ceph /var/log/ceph [root@osd ~]# chown -R ceph:ceph /var/run/ceph [root@osd ~]# chown -R ceph:ceph /etc/ceph
Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムでストレージクラスターを使用する場合は、以下の行を適切なファイルに追加します。
echo "CLUSTER=CLUSTER_NAME" >> /etc/sysconfig/ceph
[root@osd ~]# echo "CLUSTER=CLUSTER_NAME" >> /etc/sysconfig/ceph
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLUSTER_NAME
は、カスタムストレージクラスター名に置き換えます。新規 OSD が
起動
し、データを受信する準備ができていることを確認するには、OSD サービスを有効にして起動します。構文
systemctl enable ceph-osd@OSD_ID systemctl start ceph-osd@OSD_ID
systemctl enable ceph-osd@OSD_ID systemctl start ceph-osd@OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
systemctl enable ceph-osd@4 systemctl start ceph-osd@4
[root@osd ~]# systemctl enable ceph-osd@4 [root@osd ~]# systemctl start ceph-osd@4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- 詳細は、Red Hat Ceph Storage 戦略ガイドの CRUSH マップの編集 セクションを参照してください。
-
ceph-volume
コマンドの使用に関する詳細は、Red Hat Ceph Storage 管理ガイド を参照してください。
1.5.8. コンテナー化された環境でのコマンドラインインターフェイスを使用した Ceph OSD の追加 リンクのコピーリンクがクリップボードにコピーされました!
コンテナー化された Red Hat Ceph Storage クラスターのコマンドラインインターフェイスを使用して、1 つまたは複数の Ceph OSD を手動で追加できます。
Red Hat は、Ceph OSD を手動で追加する必要がある例外や特定のユースケースがない場合は、ceph-ansible
を使用して Ceph OSD を追加することを推奨します。不明な場合は、Red Hat サポート にお問い合わせください。
前提条件
- コンテナー化環境で実行中の Red Hat Ceph Storage クラスター
- コンテナーノードへの root アクセスがある。
- 既存の OSD ノード。
以下の例は、Red Hat Enterprise Linux 8 で実行しています。Red Hat Enterprise Linux 8 では、podman がデフォルトのサービスとなり、古い docker サービスに置き換えられています。Red Hat Enterprise Linux 7 で実行している場合は、podman を docker に置き換え、指定したコマンドを実行します。
手順
1 つの OSD を作成するには、
lvm prepare
コマンドを実行します。構文
podman run --rm --net=host --privileged=true --pid=host --ipc=host -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -v /var/lib/ceph:/var/lib/ceph:z -v /etc/ceph:/etc/ceph:z -v /var/run/ceph:/var/run/ceph:z -v /var/run/udev/:/var/run/udev/ -v /var/log/ceph:/var/log/ceph:z -v /run/lvm/:/run/lvm/ --entrypoint=ceph-volume PATH_TO_IMAGE --cluster CLUSTER_NAME lvm prepare --bluestore --data PATH_TO_DEVICE --no-systemd
podman run --rm --net=host --privileged=true --pid=host --ipc=host -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -v /var/lib/ceph:/var/lib/ceph:z -v /etc/ceph:/etc/ceph:z -v /var/run/ceph:/var/run/ceph:z -v /var/run/udev/:/var/run/udev/ -v /var/log/ceph:/var/log/ceph:z -v /run/lvm/:/run/lvm/ --entrypoint=ceph-volume PATH_TO_IMAGE --cluster CLUSTER_NAME lvm prepare --bluestore --data PATH_TO_DEVICE --no-systemd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
podman run --rm --net=host --privileged=true --pid=host --ipc=host -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -v /var/lib/ceph:/var/lib/ceph:z -v /etc/ceph:/etc/ceph:z -v /var/run/ceph:/var/run/ceph:z -v /var/run/udev/:/var/run/udev/ -v /var/log/ceph:/var/log/ceph:z -v /run/lvm/:/run/lvm/ --entrypoint=ceph-volume registry.redhat.io/rhceph/rhceph-4-rhel8:latest --cluster ceph lvm prepare --bluestore --data /dev/sdh --no-systemd
[root@osd ~]# podman run --rm --net=host --privileged=true --pid=host --ipc=host -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -v /var/lib/ceph:/var/lib/ceph:z -v /etc/ceph:/etc/ceph:z -v /var/run/ceph:/var/run/ceph:z -v /var/run/udev/:/var/run/udev/ -v /var/log/ceph:/var/log/ceph:z -v /run/lvm/:/run/lvm/ --entrypoint=ceph-volume registry.redhat.io/rhceph/rhceph-4-rhel8:latest --cluster ceph lvm prepare --bluestore --data /dev/sdh --no-systemd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
/dev/sdh
のデータを使用して、単一の Bluestore Ceph OSD を準備します。注記OSD を有効にして起動するには、以下のコマンドを実行します。
例
systemctl enable ceph-osd@4 systemctl start ceph-osd@4
[root@osd ~]# systemctl enable ceph-osd@4 [root@osd ~]# systemctl start ceph-osd@4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の任意の引数を使用することもできます。
- dmcrypt
- 説明
- 基盤となる OSD デバイスの暗号化を有効にします。
- block.db
- 説明
- bluestore block.db 論理ボリュームまたはパーティションへのパス。
- block.wal
- 説明
- bluestore block.wal 論理ボリュームまたはパーティションへのパス。
複数の Ceph OSD を作成するには、
lvm batch
コマンドを実行します。構文
podman run --rm --net=host --privileged=true --pid=host --ipc=host -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -v /var/lib/ceph:/var/lib/ceph:z -v /etc/ceph:/etc/ceph:z -v /var/run/ceph:/var/run/ceph:z -v /var/run/udev/:/var/run/udev/ -v /var/log/ceph:/var/log/ceph:z -v /run/lvm/:/run/lvm/ --entrypoint=ceph-volume PATH_TO_IMAGE --cluster CLUSTER_NAME lvm batch --bluestore --yes --prepare _PATH_TO_DEVICE PATH_TO_DEVICE --no-systemd
podman run --rm --net=host --privileged=true --pid=host --ipc=host -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -v /var/lib/ceph:/var/lib/ceph:z -v /etc/ceph:/etc/ceph:z -v /var/run/ceph:/var/run/ceph:z -v /var/run/udev/:/var/run/udev/ -v /var/log/ceph:/var/log/ceph:z -v /run/lvm/:/run/lvm/ --entrypoint=ceph-volume PATH_TO_IMAGE --cluster CLUSTER_NAME lvm batch --bluestore --yes --prepare _PATH_TO_DEVICE PATH_TO_DEVICE --no-systemd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
podman run --rm --net=host --privileged=true --pid=host --ipc=host -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -v /var/lib/ceph:/var/lib/ceph:z -v /etc/ceph:/etc/ceph:z -v /var/run/ceph:/var/run/ceph:z -v /var/run/udev/:/var/run/udev/ -v /var/log/ceph:/var/log/ceph:z -v /run/lvm/:/run/lvm/ --entrypoint=ceph-volume registry.redhat.io/rhceph/rhceph-4-rhel8:latest --cluster ceph lvm batch --bluestore --yes --prepare /dev/sde /dev/sdf --no-systemd
[root@osd ~]# podman run --rm --net=host --privileged=true --pid=host --ipc=host -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -v /var/lib/ceph:/var/lib/ceph:z -v /etc/ceph:/etc/ceph:z -v /var/run/ceph:/var/run/ceph:z -v /var/run/udev/:/var/run/udev/ -v /var/log/ceph:/var/log/ceph:z -v /run/lvm/:/run/lvm/ --entrypoint=ceph-volume registry.redhat.io/rhceph/rhceph-4-rhel8:latest --cluster ceph lvm batch --bluestore --yes --prepare /dev/sde /dev/sdf --no-systemd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
/dev/sde
および/dev/sdf
のデータを使用して、複数の Bluestore Ceph OSD を準備します。以下の任意の引数を使用することもできます。
- dmcrypt
- 説明
- 基盤となる OSD デバイスの暗号化を有効にします。
- db-devices
- 説明
- bluestore block.db 論理ボリュームまたはパーティションへのパス。
- wal-devices
- 説明
- bluestore block.wal 論理ボリュームまたはパーティションへのパス。
1.5.9. Ansible を使用した Ceph OSD の削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage クラスターの容量をスケールダウンしないといけない場合があります。Ansible を使用して Red Hat Ceph Storage クラスターから OSD を削除するには、Playbook の shrink-osd.yml
を実行します。
ストレージクラスターから OSD を削除すると、その OSD に含まれるすべてのデータが破棄されます。
OSD を削除する前に、クラスターにリバランスするのに十分な容量があることを確認します。
配置グループが active+clean
状態にあり、OSD に同じオブジェクトのレプリカやイレイジャーコーディングシャードが含まれない限り、OSD を同時に削除しないでください。不明な場合は、Red Hat サポート にお問い合わせください。
前提条件
- Ansible によりデプロイされた実行中の Red Hat Ceph Storage
- 実行中の Ansible 管理ノード
手順
/usr/share/ceph-ansible/
ディレクトリーに移動します。構文
cd /usr/share/ceph-ansible
[user@admin ~]$ cd /usr/share/ceph-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ceph Monitor ノードの
/etc/ceph/
から、削除する OSD が含まれるノードに管理キーリングをコピーします。 Ceph の通常のデプロイメントまたはコンテナー化されたデプロイメント向けに Ansible Playbook を実行します。
構文
ansible-playbook infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=ID -u ANSIBLE_USER_NAME -i hosts
ansible-playbook infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=ID -u ANSIBLE_USER_NAME -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下を置き換えます。
-
ID
は、OSD ノードの ID に置き換えます。複数の OSD を削除するには、OSD ID をコンマで区切ります。 -
ANSIBLE_USER_NAME
は、Ansible ユーザーの名前に置き換えてください。
例
ansible-playbook infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=1 -u user -i hosts
[user@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/shrink-osd.yml -e osd_to_kill=1 -u user -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
OSD が正常に削除されていることを確認します。
構文
ceph osd tree
[root@mon ~]# ceph osd tree
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- Red Hat Ceph Storage インストールガイド
- Ansible インベントリー設定の詳細は、{storage_product} インストールガイド の Ansible のインベントリーの場所の設定 セクションを参照してください。
1.5.10. コマンドラインインターフェイスを使用した Ceph OSD の削除 リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスターから OSD を削除するには、以下のステップを実行する必要があります *クラスターマップの更新* 認証キーの削除* OSD の OSD マップからの削除* ceph.conf
ファイルから OSD を削除します。
OSD ノードに複数のドライブがある場合は、削除する OSD ごとにこの手順を繰り返して、それぞれのドライブについて OSD を削除する必要がある場合があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
-
利用可能な OSD が十分になるようにして、ストレージクラスターが
ほぼ完全
な比率にならないようにしてください。 - OSD ノードへのルートレベルのアクセス。
手順
OSD サービスを無効にし、停止します。
構文
systemctl disable ceph-osd@OSD_ID systemctl stop ceph-osd@OSD_ID
systemctl disable ceph-osd@OSD_ID systemctl stop ceph-osd@OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
systemctl disable ceph-osd@4 systemctl stop ceph-osd@4
[root@osd ~]# systemctl disable ceph-osd@4 [root@osd ~]# systemctl stop ceph-osd@4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD が停止したら、
停止
します。ストレージクラスターから OSD を削除します。
構文
ceph osd out OSD_ID
ceph osd out OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph osd out 4
[root@osd ~]# ceph osd out 4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要OSD が削除されると、Ceph は再バランス調整を開始し、データをストレージクラスター内の残りの OSD にコピーします。Red Hat は、次の手順に進む前に、ストレージクラスターが
active+clean
になるまで待つことを推奨します。データの移行を確認するには、以下のコマンドを実行します。構文
ceph -w
[root@mon ~]# ceph -w
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CRUSH マップから OSD を削除して、データを受信しないようにします。
構文
ceph osd crush remove OSD_NAME
ceph osd crush remove OSD_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph osd crush remove osd.4
[root@osd ~]# ceph osd crush remove osd.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記OSD およびこれを含むバケットを手動で削除するには、CRUSH マップをコンパイルし、デバイス一覧から OSD を削除して、ホストバケットの項目としてデバイスを削除するか、ホストバケットを削除することもできます。CRUSH マップにあり、ホストを削除するには、マップを再コンパイルしてからこれを設定します。詳細は、ストレージ戦略ガイド の CRUSH マップのデコンパイルを参照してください。
OSD 認証キーを削除します。
構文
ceph auth del osd.OSD_ID
ceph auth del osd.OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth del osd.4
[root@osd ~]# ceph auth del osd.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD を削除します。
構文
ceph osd rm OSD_ID
ceph osd rm OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph osd rm 4
[root@osd ~]# ceph osd rm 4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターの設定ファイルを編集します。このファイルのデフォルト名は
/etc/ceph/ceph.conf
です。ファイルの OSD エントリーが存在する場合は削除します。例
[osd.4] host = _HOST_NAME_
[osd.4] host = _HOST_NAME_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
OSD を手動で追加している場合は、
/etc/fstab
ファイルで OSD への参照を削除します。 更新された設定ファイルを、ストレージクラスター内の他のすべてのノードの
/etc/ceph/
ディレクトリーにコピーします。構文
scp /etc/ceph/CLUSTER_NAME.conf USER_NAME@HOST_NAME:/etc/ceph/
scp /etc/ceph/CLUSTER_NAME.conf USER_NAME@HOST_NAME:/etc/ceph/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
scp /etc/ceph/ceph.conf root@node4:/etc/ceph/
[root@osd ~]# scp /etc/ceph/ceph.conf root@node4:/etc/ceph/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5.11. コマンドラインインターフェイスを使用した BlueStore データベースディスクの置き換え リンクのコピーリンクがクリップボードにコピーされました!
BlueStore OSD の内部メタデータが含まれる BlueStore DB デバイス (block.db
) を置き換える場合、Red Hat は Ansible およびコマンドラインインターフェイス (CLI) を使用したすべての OSD の再デプロイをサポートします。破損した block.db
ファイルは、その block.db
ファイルに含まれるすべての OSD に影響を与えます。
BlueStore block.db
ディスクを交換する手順として、各デバイスを順番に out とマークし、データがクラスター全体に複製されるのを待って、OSD を交換し、再度 in とマークします。OSD_ID
を維持し、置き換えられたディスクで新しい block.db
パーティションで OSD を再作成できます。これは簡単な手順ですが、多くのデータ移行が必要になります。
block.db
デバイスに複数の OSD がある場合は、block.db
デバイスの OSD ごとにこの手順を実行します。ceph-volume lvm
リストを実行して、block.db
を表示して関係をブロックします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- パーティションを持つストレージデバイス。
- すべてのノードへの root レベルのアクセス。
手順
モニターノードで現在の Ceph クラスターのステータスを確認します。
ceph status ceph df
[root@mon ~]# ceph status [root@mon ~]# ceph df
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 置き換える障害のある OSD を特定します。
ceph osd tree | grep -i down
[root@mon ~]# ceph osd tree | grep -i down
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD ノードで OSD サービスを停止し、無効にします。
構文
systemctl disable ceph-osd@OSD_ID systemctl stop ceph-osd@OSD_ID
systemctl disable ceph-osd@OSD_ID systemctl stop ceph-osd@OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
systemctl stop ceph-osd@1 systemctl disable ceph-osd@1
[root@osd1 ~]# systemctl stop ceph-osd@1 [root@osd1 ~]# systemctl disable ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow モニターノードで OSD を
out
に設定します。構文
ceph osd out OSD_ID
ceph osd out OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph osd out 1
[root@mon ~]# ceph osd out 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow データが OSD から移行されるまで待機します。
構文
while ! ceph osd safe-to-destroy OSD_ID ; do sleep 60 ; done
while ! ceph osd safe-to-destroy OSD_ID ; do sleep 60 ; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
while ! ceph osd safe-to-destroy 1 ; do sleep 60 ; done
[root@mon ~]# while ! ceph osd safe-to-destroy 1 ; do sleep 60 ; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD ノードで OSD デーモンを停止します。
構文
systemctl kill ceph-osd@OSD_ID
systemctl kill ceph-osd@OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
systemctl kill ceph-osd@1
[root@osd1 ~]# systemctl kill ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この OSD が使用しているデバイスについて書き留めておいてください。
構文
mount | grep /var/lib/ceph/osd/ceph-OSD_ID
mount | grep /var/lib/ceph/osd/ceph-OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
mount | grep /var/lib/ceph/osd/ceph-1
[root@osd1 ~]# mount | grep /var/lib/ceph/osd/ceph-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD ノードの失敗したドライブパスのマウントポイントのマウントを解除します。
構文
umount /var/lib/ceph/osd/CLUSTER_NAME-OSD_ID
umount /var/lib/ceph/osd/CLUSTER_NAME-OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[root@osd1 ~] #umount /var/lib/ceph/osd/ceph-1
[root@osd1 ~] #umount /var/lib/ceph/osd/ceph-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow バックフィルおよびリバランスを回避するために、
noout
およびnorebalance
を設定します。ceph osd set noout ceph osd set norebalance
[root@mon ~]# ceph osd set noout [root@mon ~]# ceph osd set norebalance
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
物理ドライブを置き換えます。ノードのハードウェアベンダーのドキュメントを参照してください。新しいドライブを
/dev/
ディレクトリーの下に表示されるように、ドライブパスを書き留めて作業を続行します。 monitor ノード上の OSD を破棄します。
構文
ceph osd destroy OSD_ID --yes-i-really-mean-it
ceph osd destroy OSD_ID --yes-i-really-mean-it
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph osd destroy 1 --yes-i-really-mean-it
[root@mon ~]# ceph osd destroy 1 --yes-i-really-mean-it
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このステップにより、デバイスの内容を破棄します。デバイスのデータが不要であり、クラスターが正常であることを確認します。
OSD ディスクの論理ボリュームマネージャーを削除します。
構文
lvremove /dev/VOLUME_GROUP/LOGICAL_VOLUME vgremove VOLUME_GROUP pvremove /dev/DEVICE
lvremove /dev/VOLUME_GROUP/LOGICAL_VOLUME vgremove VOLUME_GROUP pvremove /dev/DEVICE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
lvremove /dev/data-vg1/data-lv1 vgremove data-vg1 pvremove /dev/sdb
[root@osd1 ~]# lvremove /dev/data-vg1/data-lv1 [root@osd1 ~]# vgremove data-vg1 [root@osd1 ~]# pvremove /dev/sdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD ノードの OSD ディスクを消去します。
構文
ceph-volume lvm zap DEVICE
ceph-volume lvm zap DEVICE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph-volume lvm zap /dev/sdb
[root@osd1 ~]# ceph-volume lvm zap /dev/sdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD ディスクに lvm を再作成します。
構文
pvcreate /dev/DEVICE vgcreate VOLUME_GROUP /dev/DEVICE lvcreate -l SIZE -n LOGICAL_VOLUME VOLUME_GROUP
pvcreate /dev/DEVICE vgcreate VOLUME_GROUP /dev/DEVICE lvcreate -l SIZE -n LOGICAL_VOLUME VOLUME_GROUP
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
pvcreate /dev/sdb vgcreate data-vg1 /dev/sdb lvcreate -l 100%FREE -n data-lv1 data-vg1
[root@osd1 ~]# pvcreate /dev/sdb [root@osd1 ~]# vgcreate data-vg1 /dev/sdb [root@osd1 ~]# lvcreate -l 100%FREE -n data-lv1 data-vg1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい
block.db
ディスクに lvm を作成します。構文
pvcreate /dev/DEVICE vgcreate VOLUME_GROUP_DATABASE /dev/DEVICE lvcreate -Ll SIZE -n LOGICAL_VOLUME_DATABASE VOLUME_GROUP_DATABASE
pvcreate /dev/DEVICE vgcreate VOLUME_GROUP_DATABASE /dev/DEVICE lvcreate -Ll SIZE -n LOGICAL_VOLUME_DATABASE VOLUME_GROUP_DATABASE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
pvcreate /dev/sdb vgcreate db-vg1 /dev/sdb lvcreate -l 100%FREE -n lv-db1 db-vg1
[root@osd1 ~]# pvcreate /dev/sdb [root@osd1 ~]# vgcreate db-vg1 /dev/sdb [root@osd1 ~]# lvcreate -l 100%FREE -n lv-db1 db-vg1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD ノードで OSD を再作成します。
構文
ceph-volume lvm create --bluestore --osd-id OSD_ID --data VOLUME_GROUP/LOGICAL_VOLUME --block.db VOLUME_GROUP_DATABASE/LOGICAL_VOLUME_DATABASE
ceph-volume lvm create --bluestore --osd-id OSD_ID --data VOLUME_GROUP/LOGICAL_VOLUME --block.db VOLUME_GROUP_DATABASE/LOGICAL_VOLUME_DATABASE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph-volume lvm create --bluestore --osd-id 1 --data data-vg1/data-lv1 --block.db db-vg1/db-lv1
[root@osd1 ~]# ceph-volume lvm create --bluestore --osd-id 1 --data data-vg1/data-lv1 --block.db db-vg1/db-lv1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat は、以前の手順で破棄されたものと同じ OSD_ID を使用することを推奨します。
OSD ノードで OSD サービスを起動し、有効にします。
構文
systemctl start ceph-osd@OSD_ID systemctl enable ceph-osd@OSD_ID
systemctl start ceph-osd@OSD_ID systemctl enable ceph-osd@OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
systemctl start ceph-osd@1 systemctl enable ceph-osd@1
[root@osd1 ~]# systemctl start ceph-osd@1 [root@osd1 ~]# systemctl enable ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CRUSH 階層をチェックして、OSD がクラスターにあることを確認します。
ceph osd tree
[root@mon ~]# ceph osd tree
Copy to Clipboard Copied! Toggle word wrap Toggle overflow noout および norebalance の設定を解除します。
ceph osd unset noout ceph osd unset norebalance
[root@mon ~]# ceph osd unset noout [root@mon ~]# ceph osd unset norebalance
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HEALTH_OK
までクラスターステータスをモニターします。watch -n2 ceph -s
[root@mon ~]# watch -n2 ceph -s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- 詳細は、Red Hat Ceph Storage インストールガイド の Red Hat Ceph Storage クラスターのインストールガイド の章を参照してください。
1.5.12. データ移行の監視 リンクのコピーリンクがクリップボードにコピーされました!
OSD を CRUSH マップに追加または削除すると、Ceph は配置グループを新規または既存の OSD に移行してデータのリバランスを開始します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- 最近 OSD を追加または削除した。
手順
データの移行を確認するには、以下を実行します。
ceph -w
[root@monitor ~]# ceph -w
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
配置グループのステータスが
active+clean
からactive, some degraded objects
し、最後に移行の完了時にactive+clean
に変わるのを確認します。 -
ユーティリティーを終了するには、
Ctrl + C
を押します。