Cephクラスタのアップグレードに失敗した後、バージョンはロールバックされます.


作者:【呉業亮】
ブログ:https://wuyeliang.blog.csdn.net/ストレージのアップグレードのリスクは比較的大きく、特にcephがバージョンをまたいでアップグレードされた場合、私は環境でcephをK版からM版に直接アップグレードし、その結果、認証システムがクラスタ全体を終了させた.次は最終的なロールバック方法です.
次の操作は、各ノードで実行されます.
バックアップディレクトリの作成
# mkdir /data-ceph

cephプロファイルをバックアップディレクトリにバックアップ
# cp -a  /etc /data-ceph

/var/lib/cephのディレクトリファイルを/data-cephにバックアップします(念のため)
list=`ls /var/lib/ceph | grep -v osd`

for v  in ${list}
do
    cp -a /var/lib/ceph/${v} /data-ceph
done

cephのインストールパッケージをアンインストールします(/var/lib/cephディレクトリのデータは削除しないでください.そうしないとバージョンをロールバックできません).
# rpm -qa | grep ceph  | xargs rpm -ev 
# rpm -qa | grep librbd1 | xargs rpm -ev --nodeps 
# rpm -qa | grep python-rgw  | xargs rpm -ev --nodeps 
# rpm -qa | grep librgw2   | xargs rpm -ev --nodeps 
# rpm -qa | grep rados   | xargs rpm -ev --nodeps 
# rpm -qa | grep python-rbd   | xargs rpm -ev --nodeps

古いバージョンのソースの構成
cat </etc/yum.repos.d/repo.repo
[repo]
name=repo
baseurl = file:///mnt/ceph-luminous
enabled=1
gpgcheck=0
END

古いcephパッケージのインストール
yum install ceph -y

プロファイルのコピー
# cp -a  /data-ceph/etc/ceph/*  /etc/ceph/

サービスの再起動
# service ceph.target restart

各ノードは、上記の操作を順次サポートします.
サポート完了後のクラスタステータスの表示
# ceph -s
    cluster 8cfcff51-7cd0-4e33-aa32-bf20e4744122
     health HEALTH_OK
     monmap e1: 3 mons at {ceph01=192.168.100.34:6789/0,ceph02=192.168.100.35:6789/0,ceph03=192.168.100.36:6789/0}
            election epoch 28, quorum 0,1,2 ceph01,ceph02,ceph03
     osdmap e158: 9 osds: 9 up, 9 in
            flags sortbitwise
      pgmap v214655: 1500 pgs, 5 pools, 49615 MB data, 6690 objects
            99547 MB used, 4400 GB / 4497 GB avail
                1500 active+clean