1.3. 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.3.1. Ceph OSD ノードの設定 リンクのコピーリンクがクリップボードにコピーされました!
同様に、Ceph OSD とサポートするハードウェアを、OSD を使用するプールのストレージストラテジーとして設定する必要があります。Ceph は、一貫性のあるパフォーマンスプロファイルを確保するために、プール全体でハードウェアを統一します。最適なパフォーマンスを得るには、同じタイプまたはサイズのドライブのある CRUSH 階層を検討してください。詳細は、Storage Strategiesを参照してください。
異なるサイズのドライブを追加する場合は、それに応じて重みを調整しなければならない場合があります。OSD を CRUSH マップに追加する場合は、新規 OSD の重みを考慮してください。ハードドライブの容量は、1 年あたり約 40% 増加するため、新しい OSD ノードはストレージクラスターの古いノードよりも大きなハードドライブを持つ可能性があります。つまり、重みが大きくなる可能性があります。
新規インストールを実行する前に、Installation Guide for Red Hat Enterprise Linux または UbuntuのRequirements for Installing Red Hat Ceph Storageの章を参照してください。
1.3.2. コンテナーの OSD ID のドライブへのマッピング リンクのコピーリンクがクリップボードにコピーされました!
場合によっては、コンテナー化された OSD が使用しているドライブを特定する必要がある場合があります。たとえば、OSD に問題がある場合には、ドライブのステータスを検証するために使用するドライブを把握しなければならない場合があります。また、コンテナー化されていない OSD の場合は、OSD ID を参照して開始および停止しますが、コンテナー化された OSD を開始および停止するには、使用するドライブを参照する必要があります。
前提条件
- コンテナー化環境で実行中の Red Hat Ceph Storage クラスター
-
コンテナーホストへの
rootアクセス権限があること。
手順
コンテナー名を見つけます。たとえば、
osd.5に関連付けられたドライブを特定するには、osd.5が実行中のコンテナーノードでターミナルを開き、docker psを実行してすべてのコンテナーを一覧表示します。例
[root@ceph3 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3a866f927b74 registry.access.redhat.com/rhceph/rhceph-3-rhel7:latest "/entrypoint.sh" About an hour ago Up About an hour ceph-osd-ceph3-sdd 91f3d4829079 registry.access.redhat.com/rhceph/rhceph-3-rhel7:latest "/entrypoint.sh" 22 hours ago Up 22 hours ceph-osd-ceph3-sdb 73dfe4021a49 registry.access.redhat.com/rhceph/rhceph-3-rhel7:latest "/entrypoint.sh" 7 days ago Up 7 days ceph-osd-ceph3-sdf 90f6d756af39 registry.access.redhat.com/rhceph/rhceph-3-rhel7:latest "/entrypoint.sh" 7 days ago Up 7 days ceph-osd-ceph3-sde e66d6e33b306 registry.access.redhat.com/rhceph/rhceph-3-rhel7:latest "/entrypoint.sh" 7 days ago Up 7 days ceph-mgr-ceph3 733f37aafd23 registry.access.redhat.com/rhceph/rhceph-3-rhel7:latest "/entrypoint.sh" 7 days ago Up 7 days ceph-mon-ceph3docker execを使用して、直前の出力から OSD コンテナー名上でceph-volume lvm listを実行します。例
[root@ceph3 ~]# docker exec ceph-osd-ceph3-sdb ceph-volume lvm list ====== osd.5 ======= [journal] /dev/journals/journal1 journal uuid C65n7d-B1gy-cqX3-vZKY-ZoE0-IEYM-HnIJzs osd id 1 cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd type journal osd fsid 661b24f8-e062-482b-8110-826ffe7f13fa data uuid SlEgHe-jX1H-QBQk-Sce0-RUls-8KlY-g8HgcZ journal device /dev/journals/journal1 data device /dev/test_group/data-lv2 devices /dev/sda [data] /dev/test_group/data-lv2 journal uuid C65n7d-B1gy-cqX3-vZKY-ZoE0-IEYM-HnIJzs osd id 1 cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd type data osd fsid 661b24f8-e062-482b-8110-826ffe7f13fa data uuid SlEgHe-jX1H-QBQk-Sce0-RUls-8KlY-g8HgcZ journal device /dev/journals/journal1 data device /dev/test_group/data-lv2 devices /dev/sdbこの出力から、
osd.5が/dev/sdbに関連付けられていることがわかります。
関連情報
- 詳細は、障害のある OSD ディスクの置き換えを参照してください。
1.3.3. 同じディスクトポロジーを持つ Ansible を使用した Ceph OSD の追加 リンクのコピーリンクがクリップボードにコピーされました!
同じディスクトポロジーを持つ Ceph OSD の場合には、Ansible は /usr/share/ceph-ansible/group_vars/osds ファイルの devices: セクションで指定されているのと同じデバイスパスを使用して、他の OSD ノードと同じ数の OSD を追加します。
新しい Ceph OSD ノードは、残りの OSD と同じ設定になります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスター。
- Installation Guide for Red Hat Enterprise Linux または Ubuntu の Requirements for Installing Red Hat Ceph Storage の章を参照してください。
-
新規ノードへの
rootアクセスがあること。 - ストレージクラスター内の他の OSD ノードと同じ数の OSD データドライブ。
手順
[osds]セクションの下に Ceph OSD ノードを/etc/ansible/hostsファイルに追加します。例
[osds] ... osd06 $NEW_OSD_NODE_NAMEAnsible が Ceph ノードに到達できることを確認します。
[user@admin ~]$ ansible all -m pingAnsible 設定ディレクトリーに移動します。
[user@admin ~]$ cd /usr/share/ceph-ansibleadd-osd.ymlファイルを/usr/share/ceph-ansible/ディレクトリーにコピーします。[user@admin ceph-ansible]$ sudo cp infrastructure-playbooks/add-osd.yml .Ceph の通常のデプロイメントまたはコンテナー化されたデプロイメント向けに Ansible Playbook を実行します。
[user@admin ceph-ansible]$ ansible-playbook add-osd.yml注記OSD を追加する際に、
PGs were not reported as active+cleanで Playbook が失敗する場合は、all.ymlファイルに以下の変数を設定し、再試行と遅延を調整します。# OSD handler checks handler_health_osd_check_retries: 50 handler_health_osd_check_delay: 30
1.3.4. 異なるディスクトポロジーが設定された Ansible を使用した Ceph OSD の追加 リンクのコピーリンクがクリップボードにコピーされました!
異なるディスクトポロジーを持つ Ceph OSD については、新しい OSD ノードを既存のストレージクラスターに追加する 2 つの方法があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスター。
- Installation Guide for Red Hat Enterprise Linux または Ubuntu の Requirements for Installing Red Hat Ceph Storage の章を参照してください。
-
新規ノードへの
rootアクセスがあること。
手順
最初の操作
[osds]セクションの下に、新しい Ceph OSD ノードを/etc/ansible/hostsファイルに追加します。例
[osds] ... osd06 $NEW_OSD_NODE_NAMEストレージクラスターに追加される新しい Ceph OSD ノードを
/etc/ansible/host_vars/ディレクトリーに作成します。構文
touch /etc/ansible/host_vars/$NEW_OSD_NODE_NAME例
[root@admin ~]# touch /etc/ansible/host_vars/osd07新しいファイルを編集し、
devices:およびdedicated_devices:セクションをファイルに追加します。以下の各セクションに、-およびスペースを追加してから、この OSD ノードのブロックデバイス名への完全パスを追加します。例
devices: - /dev/sdc - /dev/sdd - /dev/sde - /dev/sdf dedicated_devices: - /dev/sda - /dev/sda - /dev/sdb - /dev/sdbAnsible がすべての Ceph ノードに到達できることを確認します。
[user@admin ~]$ ansible all -m pingディレクトリーを Ansible 設定ディレクトリーに移動します。
[user@admin ~]$ cd /usr/share/ceph-ansibleadd-osd.ymlファイルを/usr/share/ceph-ansible/ディレクトリーにコピーします。[user@admin ceph-ansible]$ sudo cp infrastructure-playbooks/add-osd.yml .Ansible Playbook の実行:
[user@admin ceph-ansible]$ ansible-playbook add-osd.yml
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']"Ansible がすべての Ceph ノードに到達できることを確認します。
[user@admin ~]$ ansible all -m pingディレクトリーを Ansible 設定ディレクトリーに移動します。
[user@admin ~]$ cd /usr/share/ceph-ansibleadd-osd.ymlファイルを/usr/share/ceph-ansible/ディレクトリーにコピーします。[user@admin ceph-ansible]$ sudo cp infrastructure-playbooks/add-osd.yml .Ansible Playbook の実行:
[user@admin ceph-ansible]$ ansible-playbook add-osd.yml
1.3.5. コマンドラインインターフェイスを使用した 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-volume コマンドの使用方法は、Red Hat Ceph Storage Administration Guideを参照してください。
カスタムストレージクラスター名の場合は、ceph コマンドおよび ceph-osd コマンドで --cluster $CLUSTER_NAME オプションを使用します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスター。
- Installation Guide for Red Hat Enterprise Linux または Ubuntu の Requirements for Installing Red Hat Ceph Storage の章を参照してください。
-
新規ノードへの
rootアクセスがあること。
手順
Red Hat Ceph Storage 3 OSD ソフトウェアリポジトリーを有効にします。
Red Hat Enterprise Linux
[root@osd ~]# subscription-manager repos --enable=rhel-7-server-rhceph-3-osd-els-rpmsUbuntu
[user@osd ~]$ sudo bash -c 'umask 0077; echo deb https://customername:customerpasswd@rhcs.download.redhat.com/3-updates/Tools $(lsb_release -sc) main | tee /etc/apt/sources.list.d/Tools.list' [user@osd ~]$ sudo bash -c 'wget -O - https://www.redhat.com/security/fd431d51.txt | apt-key add -'/etc/ceph/ディレクトリーを作成します。# mkdir /etc/ceph新しい 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例
[root@osd ~]# scp root@node1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ [root@osd ~]# scp root@node1:/etc/ceph/ceph.conf /etc/ceph/ceph-osdパッケージを新しい Ceph OSD ノードにインストールします。Red Hat Enterprise Linux
[root@osd ~]# yum install ceph-osdUbuntu
[user@osd ~]$ sudo apt-get install ceph-osd新規 OSD について、ジャーナルを共存させるか、または専用のジャーナルを使用するかどうかを決定します。
注記--filestoreオプションが必要です。ジャーナルを共存させる OSD の場合:
構文
[root@osd ~]# ceph-disk --setuser ceph --setgroup ceph prepare --filestore /dev/$DEVICE_NAME例
[root@osd ~]# ceph-disk --setuser ceph --setgroup ceph prepare --filestore /dev/sda専用のジャーナルを持つ OSD の場合:
構文
[root@osd ~]# ceph-disk --setuser ceph --setgroup ceph prepare --filestore /dev/$DEVICE_NAME /dev/$JOURNAL_DEVICE_NAMEまたは
[root@osd ~]# ceph-volume lvm prepare --filestore --data /dev/$DEVICE_NAME --journal /dev/$JOURNAL_DEVICE_NAME例
[root@osd ~]# ceph-disk --setuser ceph --setgroup ceph prepare --filestore /dev/sda /dev/sdb[root@osd ~]# ceph-volume lvm prepare --filestore --data /dev/vg00/lvol1 --journal /dev/sdb
noupオプションを設定します。[root@osd ~]# ceph osd set noup新しい OSD をアクティベートします。
構文
[root@osd ~]# ceph-disk activate /dev/$DEVICE_NAMEまたは
[root@osd ~]# ceph-volume lvm activate --filestore $OSD_ID $OSD_FSID例
[root@osd ~]# ceph-disk activate /dev/sda[root@osd ~]# ceph-volume lvm activate --filestore 0 6cc43680-4f6e-4feb-92ff-9c7ba204120eOSD を CRUSH マップに追加します。
構文
ceph osd crush add $OSD_ID $WEIGHT [$BUCKET_TYPE=$BUCKET_NAME ...]例
[root@osd ~]# ceph osd crush add 4 1 host=node4注記複数のバケットを指定する場合、コマンドは OSD を指定したバケットから最も具体的なバケットに配置、および 指定した他のバケットに従ってバケットを移動します。
注記CRUSH マップを手動で編集することもできます。Red Hat Ceph Storage 3 の Storage Strategies ガイドの Editing a CRUSH map セクションを参照してください。
重要ルートバケットのみを指定する場合、OSD はルートに直接アタッチしますが、CRUSH ルールは OSD がホストバケット内に置かれることを想定します。
noupオプションの設定を解除します。[root@osd ~]# ceph osd unset noup新規作成されたディレクトリーの所有者とグループのパーミッションを更新します。
構文
chown -R $OWNER:$GROUP $PATH_TO_DIRECTORY例
[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カスタム名のクラスターを使用する場合は、以下の行を適切なファイルに追加します。
Red Hat Enterprise Linux
[root@osd ~]# echo "CLUSTER=$CLUSTER_NAME" >> /etc/sysconfig/cephUbuntu
[user@osd ~]$ sudo echo "CLUSTER=$CLUSTER_NAME" >> /etc/default/ceph$CLUSTER_NAMEは、カスタムクラスター名に置き換えます。新規 OSD が
起動し、データを受信する準備ができていることを確認するには、OSD サービスを有効にして起動します。構文
systemctl enable ceph-osd@$OSD_ID systemctl start ceph-osd@$OSD_ID例
[root@osd ~]# systemctl enable ceph-osd@4 [root@osd ~]# systemctl start ceph-osd@4
1.3.6. Ansible を使用した Ceph OSD の削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage クラスターの容量をスケールダウンしないといけない場合があります。Ansible を使用して Red Hat Ceph Storage クラスターから OSD を削除するには、使用する OSD のシナリオに応じて、Playbook shrink-osd.yml または shrink-osd-ceph-disk.yml を実行します。osd_scenario が collocated または non-collocated に設定されている場合には、Playbook shrink-osd-ceph-disk.yml を使用します。osd_scenario を lvm に設定した場合は、Playbook shrink-osd.yml を使用します。
ストレージクラスターから OSD を削除すると、その OSD に含まれるすべてのデータが破棄されます。
前提条件
- Ansible によりデプロイされた実行中の Red Hat Ceph Storage
- 実行中の Ansible 管理ノード
- Ansible 管理ノードへの root レベルのアクセス。
手順
/usr/share/ceph-ansible/ディレクトリーに移動します。[user@admin ~]$ cd /usr/share/ceph-ansible-
Ceph Monitor ノードの
/etc/ceph/から、削除する OSD が含まれるノードに管理キーリングをコピーします。 infrastructure-playbooksディレクトリーから現在のディレクトリーに、適切な Playbook をコピーします。[root@admin ceph-ansible]# cp infrastructure-playbooks/shrink-osd.yml .または
[root@admin ceph-ansible]# cp infrastructure-playbooks/shrink-osd-ceph-disk.yml .ベアメタル または コンテナー のデプロイメントの場合は、適切な Ansible Playbook を実行します。
構文
ansible-playbook shrink-osd.yml -e osd_to_kill=$ID -u $ANSIBLE_USERまたは
ansible-playbook shrink-osd-ceph-disk.yml -e osd_to_kill=$ID -u $ANSIBLE_USER以下を置き換えます。
-
$idは、OSD の ID に置き換えます。複数の OSD を削除するには、OSD ID をコンマで区切ります。 -
$ANSIBLE_USERは、Ansible ユーザーの名前に置き換えてください。
例
[user@admin ceph-ansible]$ ansible-playbook shrink-osd.yml -e osd_to_kill=1 -u userまたは
[user@admin ceph-ansible]$ ansible-playbook shrink-osd-ceph-disk.yml -e osd_to_kill=1 -u user-
OSD が正常に削除されていることを確認します。
[root@mon ~]# ceph osd tree
関連情報
- 詳細は、Red Hat Enterprise Linux または UbuntuのRed Hat Ceph Storage Installation Guideを参照してください。
1.3.7. コマンドラインインターフェイスを使用した Ceph OSD の削除 リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスターから OSD を削除するには、クラスターマップの更新、その認証キーの削除、OSD マップからの OSD の削除、および ceph.conf ファイルからの OSD の削除を行う必要があります。ノードに複数のドライブがある場合は、この手順を繰り返して、それぞれのドライブについて OSD を削除する必要がある場合があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
-
利用可能な OSD が十分になるようにして、ストレージクラスターが
ほぼ完全な比率にならないようにしてください。 -
OSD ノードへの
rootアクセス権限があること。
手順
OSD サービスを無効にし、停止します。
構文
systemctl disable ceph-osd@$OSD_ID systemctl stop ceph-osd@$OSD_ID例
[root@osd ~]# systemctl disable ceph-osd@4 [root@osd ~]# systemctl stop ceph-osd@4OSD が停止したら、
停止します。ストレージクラスターから OSD を削除します。
構文
ceph osd out $OSD_ID例
[root@osd ~]# ceph osd out 4重要OSD が削除されると、Ceph は再バランス調整を開始し、データをストレージクラスター内の他の OSD にコピーします。Red Hat は、次の手順に進む前に、ストレージクラスターが
active+cleanになるまで待つことを推奨します。データの移行を確認するには、以下のコマンドを実行します。[root@monitor ~]# ceph -wCRUSH マップから OSD を削除して、データを受信しないようにします。
構文
ceph osd crush remove $OSD_NAME例
[root@osd ~]# ceph osd crush remove osd.4注記CRUSH マップをコンパイルし、デバイス一覧から OSD を削除して、ホストバケットの項目としてデバイスを削除するか、またはホストバケットを削除することもできます。CRUSH マップにあり、ホストを削除するには、マップを再コンパイルしてからこれを設定します。詳細は、Storage Strategies Guide を参照してください。
OSD 認証キーを削除します。
構文
ceph auth del osd.$OSD_ID例
[root@osd ~]# ceph auth del osd.4OSD を削除します。
構文
ceph osd rm $OSD_ID例
[root@osd ~]# ceph osd rm 4ストレージクラスターの設定ファイル (デフォルトでは
/etc/ceph.conf) を編集して、OSD エントリーが存在する場合は削除します。例
[osd.4] host = $HOST_NAME-
OSD を手動で追加している場合は、
/etc/fstabファイルで OSD への参照を削除します。 更新された設定ファイルを、ストレージクラスター内の他のすべてのノードの
/etc/ceph/ディレクトリーにコピーします。構文
scp /etc/ceph/$CLUSTER_NAME.conf $USER_NAME@$HOST_NAME:/etc/ceph/例
[root@osd ~]# scp /etc/ceph/ceph.conf root@node4:/etc/ceph/
1.3.8. コマンドラインインターフェイスを使用したジャーナルの置き換え リンクのコピーリンクがクリップボードにコピーされました!
ジャーナルとデータデバイスが同じ物理デバイスにある場合 (osd_scenario: collocated を使用する場合など) にジャーナルを置き換えるには、OSD 全体を置き換える必要があります。ただし、ジャーナルがデータデバイスとは別の物理デバイスにある OSD では (osd_scenario: non-collocated を使用する場合)、ジャーナルデバイスのみを置き換えることができます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスター
- 新しいパーティションまたはストレージデバイス。
手順
クラスターを
nooutに設定してバックフィルを防ぎます。[root@osd1 ~]# ceph osd set nooutジャーナルが変更された OSD を停止します。
[root@osd1 ~]# systemctl stop ceph-osd@$OSD_IDOSD のジャーナルをフラッシュします。
[root@osd1 ~]# ceph-osd -i $OSD_ID --flush-journal古いジャーナルパーティションを削除して、パーティションの UUID が新しいパーティションと競合しないようにします。
sgdisk --delete=$OLD_PART_NUM -- $OLD_DEV_PATH- 置き換え
-
$OLD_PART_NUMは、古いジャーナルデバイスのパーティション番号に置き換えます。 -
$OLD_DEV_PATHは、古いジャーナルデバイスへのパスに置き換えます。
-
例
[root@osd1 ~]# sgdisk --delete=1 -- /dev/sda新しいデバイスに新しいジャーナルパーティションを作成します。この
sgdiskコマンドは、次に利用可能なパーティション番号を自動的に使用します。sgdisk --new=0:0:$JOURNAL_SIZE -- $NEW_DEV_PATH- 置き換え
-
$JOURNAL_SIZEは、環境に適したジャーナルサイズに置き換えます (例:10240M)。 -
NEW_DEV_PATHは、新規ジャーナルに使用するデバイスへのパスに置き換えます。
-
注記ジャーナルの最小デフォルトサイズは 5 GB です。通常、10 GB を超える値は必要ありません。詳細は、Red Hat サポート にお問い合わせください。
例
[root@osd1 ~]# sgdisk --new=0:0:10240M -- /dev/sda新しいパーティションに適切なパラメーターを設定します。
sgdisk --change-name=0:"ceph journal" --partition-guid=0:$OLD_PART_UUID --typecode=0:45b0969e-9b03-4f30-b4c6-b4b80ceff106 --mbrtogpt -- $NEW_DEV_PATH- 置き換え
-
$OLD_PART_UUIDは、関連する OSD のjournal_uuidファイルの UUID に置き換えます。たとえば、OSD が0の場合は、/var/lib/ceph/osd/ceph-0/journal_uuidの UUID を使用します。 -
NEW_DEV_PATHは、新規ジャーナルに使用するデバイスへのパスに置き換えます。
-
例
[root@osd1 ~]# sgdisk --change-name=0:"ceph journal" --partition-guid=0:a1279726-a32d-4101-880d-e8573bb11c16 --typecode=0:097c058d-0758-4199-a787-ce9bacb13f48 --mbrtogpt -- /dev/sda上記の
sgdiskコマンドを実行すると、新しいジャーナルパーティションが Ceph 用に準備され、ジャーナルを作成できます。重要sgdiskの制限により、パーティションが正常に作成されないため、このコマンドをパーティション作成コマンドと組み合わせることはできません。新しいジャーナルを作成します。
[root@osd1 ~]# ceph-osd -i $OSD_ID --mkjournalOSD を起動します。
[root@osd1 ~]# systemctl start ceph-osd@$OSD_ID
OSD で
nooutフラグを削除します。[root@osd1 ~]# ceph osd unset nooutジャーナルが正しいデバイスに関連付けられていることを確認します。
[root@osd1 ~]# ceph-disk list
1.3.9. データ移行の監視 リンクのコピーリンクがクリップボードにコピーされました!
OSD を CRUSH マップに追加または削除すると、Ceph は配置グループを新規または既存の OSD に移行してデータのリバランスを開始します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- 最近 OSD を追加または削除した。
手順
データの移行を確認するには、以下を実行します。
[root@monitor ~]# ceph -w-
配置グループのステータスが
active+cleanからactive, some degraded objectsし、最後に移行の完了時にactive+cleanに変わるのを確認します。 -
ユーティリティーを終了するには、
Ctrl + Cを押します。