14.2.0 Nautilus 升級(Mimic或Luminous)

從Mimic或Luminous升級?

備注?

  • 在從Luminous升級到Nautilus的過程中, 在monitors升級到Nautilus 之后,將無法使用Luminous ceph-osd守護(hù)進(jìn)程創(chuàng)建新的OSD。我們建議您在升級過程中避免添加或更換任何OSD。
  • 我們建議您在升級過程中避免創(chuàng)建任何RADOS pools。
  • 您可以使用該命令ceph versions監(jiān)視每個階段的升級進(jìn)度,該命令將告訴您每種類型的守護(hù)程序正在運行哪些ceph版本。

說明?

  1. 如果您的群集最初安裝的是Luminous 之前的版本,請確保在運行Luminous 時至少完成了所有PG 的完全清理。如果不這樣做,將導(dǎo)致監(jiān)視器守護(hù)程序在啟動時拒絕加入quorum,從而使它們無法正常運行。

    如果您不確定您的Luminous集群是否已完成所有PG的完全清理,您可以通過運行指令來檢查集群的狀態(tài):

     # ceph osd dump | grep ^flags
    

    為了能夠升級到Nautilus,您的OSD map必須包括的recovery_deletespurged_snapdirs標(biāo)志。

    如果您的OSD map不包含這兩個標(biāo)志,您要等待大約24-48小時,在標(biāo)準(zhǔn)群集配置中應(yīng)該有足夠的時間將所有放置組至少擦洗一次,然后重復(fù)上述過程要重新檢查。

    但是,如果您剛剛完成了對Luminous的升級并希望在短時間內(nèi)繼續(xù)使用Mimic,則可以使用單行shell命令強制在所有放置組上進(jìn)行清理,例如:

    # ceph pg dump pgs_brief | cut -d " " -f 1 | xargs -n1 ceph pg scrub
    

    您要考慮到這種強制擦洗,可能會對您的Ceph客戶端性能產(chǎn)生負(fù)面影響。

  2. 確保您的群集穩(wěn)定且健康(無需關(guān)閉或恢復(fù)OSD)。(可選,但建議。)

  3. 設(shè)置noout升級持續(xù)時間的標(biāo)志。(可選,但建議。):

    # ceph osd set noout
    
  4. 通過安裝新軟件包并重新啟動monitor 守護(hù)程序來升級監(jiān)視器。例如,在每個monitor 主機上:

    # systemctl restart ceph-mon.target
    

    一旦所有monitor都啟動,請通過nautilus在mon 映射中查找字符串來驗證monitor升級是否已完成。命令:

    # ceph mon dump | grep min_mon_release
    

    應(yīng)顯示:

     min_mon_release 14 (nautilus)
    

    如果不是,則表示尚未升級和重新啟動一個或多個monitor和/或quorum 不包括所有monitors。

  5. ceph-mgr通過安裝新軟件包并重新啟動所有manager來升級守護(hù)程序。例如,在每位經(jīng)理主持人身上:

    # systemctl restart ceph-mgr.target
    

    請注意,如果您使用的是Ceph Dashboard,則可能需要在升級包后單獨安裝ceph-mgr-dashboard。安裝腳本將自動為您重新啟動管理器守護(hù)程序。所以在這種情況下,您可以跳過重啟守護(hù)進(jìn)程的步驟。

    ceph-mgr通過檢查驗證守護(hù)程序是否正在運行:ceph -s

    # ceph -s
     ...
        services:
        mon: 3 daemons, quorum foo,bar,baz
        mgr: foo(active), standbys: bar, baz
     ...
    
  6. 通過安裝新軟件包并在所有OSD主機上重新啟動ceph-osd守護(hù)程序來升級所有OSD :

    # systemctl restart ceph-osd.target
    

您可以使用或命令監(jiān)視OSD升級的進(jìn)度:

 `ceph versions``ceph osd versions`

ceph osd versions

{
   "ceph version 13.2.5 (...) mimic (stable)": 12,
   "ceph version 14.2.0 (...) nautilus (stable)": 22,
}
  1. 如果在使用ceph-disk部署的集群中有任何OSD(例如,幾乎所有在Mimic發(fā)布之前創(chuàng)建OSD),您需要告訴ceph-volume承擔(dān)啟動守護(hù)進(jìn)程的責(zé)任。在每個包含OSD的主機上,確保OSD當(dāng)前正在運行,然后:

    # ceph-volume simple scan
    # ceph-volume simple activate --all
    

    我們建議在此步驟后重新啟動每個OSD主機,以驗證OSD是否自動啟動。

    請注意,ceph-volume沒有與ceph-disk相同的熱插拔功能,其中通過udev事件自動檢測新連接的磁盤。如果在運行上述scan命令時OSD當(dāng)前未運行,或者基于ceph磁盤的OSD被移動到新主機,或者重新安裝主機OSD,或者 /etc/ceph/osd目錄丟失,則需要掃描每個ceph-disk OSD的數(shù)據(jù)分區(qū)。例如,:

    # ceph-volume simple scan /dev/sdb1
    

輸出包括啟用OSD 的appopriate 命令。

   `ceph-volume simple activate`
  1. 升級所有CephFS MDS守護(hù)進(jìn)程。對于每個CephFS文件系統(tǒng),

    1. 將等級數(shù)減少到1.(如果您計劃稍后恢復(fù),請先記下MDS守護(hù)進(jìn)程的原始數(shù)量。):

      # ceph status
      # ceph fs set <fs_name> max_mds 1
      
    2. 等待群集通過定期檢查狀態(tài)來停用任何非零等級:

      # ceph status
      
    3. 在適當(dāng)?shù)闹鳈C上使所有備用MDS守護(hù)程序脫機:

       # systemctl stop ceph-mds@<daemon_name>
      
    4. 確認(rèn)只有一個MDS在線且FS為0級:

      # ceph status 
      
    5. 通過安裝新軟件包并重新啟動守護(hù)程序來升級最后剩余的MDS守護(hù)程序:

        # systemctl restart ceph-mds.target
      
    6. 重新啟動脫機的所有備用MDS后臺駐留程序:

         # systemctl start ceph-mds.target
      
    7. 恢復(fù)卷的原始值max_mds

      # ceph fs set <fs_name> max_mds <original_max_mds>
      
  2. 通過升級軟件包并在所有主機上重新啟動守護(hù)程序來升級所有radosgw守護(hù)程序:

        # systemctl restart radosgw.target
    
  3. 通過禁止前Nautilus OSD并啟用所有新的Nautilus功能來完成升級:

       # ceph osd require-osd-release nautilus 
    
  4. 如果您noout在開頭設(shè)置,請務(wù)必將其清除:

    # ceph osd unset noout
    
  5. 驗證群集是否健康。

    `ceph health`
    
  6. 要啟用新的v2網(wǎng)絡(luò)協(xié)議,請輸入以下命令:

    ceph mon enable-msgr2 
    

這將指示綁定到舊v1協(xié)議的舊默認(rèn)端口6789的所有監(jiān)視器也綁定到新的3300 v2 協(xié)議端口。要查看是否所有monitors都已更新,請:

   ceph mon dump 

并驗證每個監(jiān)視器都 列出了a v2:v1:地址 。

  1. 對于已升級的每個主機,您應(yīng)更新 ceph.conf文件,以便它指定無監(jiān)控端口(如果您在默認(rèn)端口上運行監(jiān)控器)或明確引用v2和v1地址和端口。如果僅列出v1 IP和端口,事情仍然有效,但每個CLI 實例化或守護(hù)進(jìn)程在學(xué)習(xí)監(jiān)視器之后還需要重新連接,并且還會說v2協(xié)議,減慢速度并阻止完全轉(zhuǎn)換到v2協(xié)議。這也是將任何配置選項完全轉(zhuǎn)換ceph.conf到集群配置數(shù)據(jù)庫的好時機。在每臺主機上,您可以使用以下命令將任何選項導(dǎo)入monitors :

    ceph config assimilate-conf -i /etc/ceph/ceph.conf
    

您可以使用以下命令查看群集的配置數(shù)據(jù)庫:

 ceph config dump

為每個主機創(chuàng)建一個最小但足夠的ceph.conf

 ceph config generate-minimal-conf > /etc/ceph/ceph.conf

請確保僅在已升級到Nautilus的主機上使用此新配置,因為它可能包含一個mon_host值,該值 包含 Nautilus只能理解的IP地址的新v2:v1:前綴 。 有關(guān)更多信息,請參閱更新ceph.conf和mon_host。

  1. 考慮啟用telemetry module向 Ceph 上游開發(fā)人員發(fā)送匿名使用統(tǒng)計信息和崩潰信息。要查看將要報告的內(nèi)容(實際上沒有向任何人發(fā)送任何信息),:

     ceph mgr module enable telemetry
     ceph telemetry show
    

如果您對報告的數(shù)據(jù)感到滿意,則可以選擇使用以下命令自動報告高級群集元數(shù)據(jù):

  ceph telemetry on

有關(guān)telemetry module的更多信息,請參閱文檔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容