7.5. Ceph File System Metadata Serve r ノードの手動アップグレード
Red Hat Enterprise Linux 7 または 8 を実行している Red Hat Ceph Storage クラスターで、Ceph File System (CephFS) Metadata Server (MDS) ソフトウェアを手動でアップグレードできます。
ストレージクラスターをアップグレードする前に、アクティブな MDS ランクの数を減らし、ファイルシステムごとに 1 つにします。これにより、複数の MDS 間でバージョンの競合が発生しなくなります。また、アップグレードを行う前に、すべてのスタンバイノードをオフラインにしてください。
これは、MDS クラスターにはバージョニングやファイルシステムフラグが組み込まれていないためです。これらの機能がないと、複数の MDS が異なるバージョンの MDS ソフトウェアを使用して通信することになり、アサーションやその他の不具合が発生する可能性があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードは Red Hat Ceph Storage バージョン 3.3z64 または 4.1 を使用している。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
基盤となる XFS ファイルシステムが ftype=1
でフォーマットされているか、d_type
をサポートしている。xfs_info /var
コマンドを実行し、ftype
が 1
になっていることを確認します。ftype
の値が 1
でない場合は、新しいディスクをアタッチするか、ボリュームを作成します。この新しいデバイスの上に、新しい XFS ファイルシステムを作成し、/var/lib/containers
にマウントします。
Red Hat Enterprise Linux 8.0 以降、mkfs.xfs
はデフォルトで ftype=1
を有効にします。
手順
アクティブな MDS ランクを 1 にします。
構文
ceph fs set FILE_SYSTEM_NAME max_mds 1
例
[root@mds ~]# ceph fs set fs1 max_mds 1
クラスターがすべての MDS ランクを停止するのを待ちます。すべての MDS が停止したら、ランク 0 だけがアクティブになるはずです。残りはスタンバイモードにしておきます。ファイルシステムの状態を確認します。
[root@mds ~]# ceph status
systemctl
を使用して、スタンバイしているすべての MDS をオフラインにします。[root@mds ~]# systemctl stop ceph-mds.target
MDS が 1 つだけオンラインになっており、ファイルシステムのランクが 0 であることを確認します。
[root@mds ~]# ceph status
RHEL 7 で Red Hat Ceph Storage 3 からアップグレードする場合は、Red Hat Ceph Storage 3 のツールリポジトリーを無効にして、Red Hat Ceph Storage 4 のツールリポジトリーを有効にします。
[root@mds ~]# subscription-manager repos --disable=rhel-7-server-rhceph-3-tools-rpms [root@mds ~]# subscription-manager repos --enable=rhel-7-server-rhceph-4-tools-rpms
ノードを更新し、ceph-mds デーモンを再起動します。
[root@mds ~]# yum update -y [root@mds ~]# systemctl restart ceph-mds.target
スタンバイ中のデーモンについても同じプロセスを実行します。ツールリポジトリーを無効にして、有効にしてから、各スタンバイ中の MDS をアップグレードし、再起動します。
[root@mds ~]# subscription-manager repos --disable=rhel-7-server-rhceph-3-tools-rpms [root@mds ~]# subscription-manager repos --enable=rhel-7-server-rhceph-4-tools-rpms [root@mds ~]# yum update -y [root@mds ~]# systemctl restart ceph-mds.target
スタンバイ中のすべての MDS の再起動が完了したら、ストレージクラスターの
max_mds
の値を以前の値に戻します。構文
ceph fs set FILE_SYSTEM_NAME max_mds ORIGINAL_VALUE
例
[root@mds ~]# ceph fs set fs1 max_mds 5