(案例一)Proxmox VE + Ceph + 物理網絡 超融合生產環境部署案例


參考:https://blog.csdn.net/hanziqing0630/article/details/114262035

一、Proxmox Virtual Environment介紹

Proxmox VE 是用於企業虛擬化的開源服務器管理平台。它在單個平台上緊密集成了KVM虛擬機管理程序和LXC,軟件定義的存儲以及網絡功能。借助基於Web的集成用戶界面,您可以輕松管理VM和容器,高可用性群集或集成的災難恢復工具。

同時Proxmox VE對接Proxmox備份服務器,可實現對VM、容器的全量和增量備份,可顯著減少網絡負載並節省寶貴的存儲空間。

二、環境介紹

本文章所述環境采用3台物理服務器(含4口萬兆網卡),1台萬兆業務交換機,1台萬兆管理交換機。

注意:由於使用ceph搭建分布式存儲,為保證性能,管理網絡及業務網絡強烈建議采用全萬兆部署。

2.1 軟件版本

本次部署采用當前最新版本:Proxmox VE 6.3,可根據當時情況選擇最新版本。

2.2 服務器配置

三、軟件獲取

訪問官網下載ISO鏡像文件,根據需要選擇版本:
https://www.proxmox.com/en/downloads/category/iso-images-pve

四、RAID規划

4.1 系統盤

  • 建議采用兩塊SSD組成raid 1,作為系統盤。

不同品牌服務器設置方法不同,請參照各品牌官方文檔。

4.2 ceph盤

  • ceph不推薦基於raid盤創建osd,所以除系統盤外,其余磁盤全部設置為非raid模式。

不同品牌服務器設置方法不同,請參照各品牌官方文檔。

五、物理網絡

生產環境對可靠性要求較高,所以建議采用鏈路聚合方式,將多個物理網卡綁定為一個邏輯接口,從而提高網絡的性能及可靠性。

鏈路聚合可在以下三種模式中選擇:

  • LACP(802.3ad):基於LACP協議的鏈路聚合,此模式交換機需配置鏈路聚合,模式為lacp。
  • 靜態聚合:靜態鏈路聚合,此模式交換機需配置鏈路聚合,模式為靜態(華為、H3C默認為此模式;思科為on模式)。
  • active-backup:主備模式,網卡一主一備,主網卡故障時備份網卡接替主網卡工作,此模式交換機無需做鏈路聚合配置。

若交換機支持LACP,推薦采用LACP模式。否則你通常應該使用 active-backup 模式。此處采用LACP模式進行演示。
如果您打算在綁定接口上運行PVE集群網絡,那么您必須在綁定接口上使用 active-passive 模式,其他模式是不支持的。

5.1 網絡規划

5.1.1 物理網絡拓撲

5.1.2 vlan及網段規划

5.2 網絡配置

以華為交換機為例。

5.2 網絡配置

以華為交換機為例。

六、PVE安裝

6.1 選擇第一個選項,安裝PVE

6.2 同意協議

6.3 選擇系統盤

注意:此處一定要選擇RAID規划中創建的RAID 1系統盤。

6.4 配置國家、地區

6.5 配置密碼、郵箱

如果為生產環境務必配置為強口令。郵箱建議配置為真實郵箱。

6.6 配置網卡、主機名、IP地址、DNS等信息

  • 此處選擇服務器第一塊網卡,用於管理網絡,按我們的規划應為eno1
  • 每個節點主機名不能相同,主機名可以參考以下規划,域名請按需配置。

  • 主機名、IP地址等信息按實際情況配置,配置公網DNS,用於pve連接互聯網。

6.7 檢查無誤后點擊安裝

安裝結束后重啟,通過瀏覽器訪問,出現以下頁面內容證明安裝成功。

地址:https://你的IP地址:8006
用戶名:root
密碼:為安裝時配置的密碼。
域:選擇Linux PAM

6.8 按照此方法安裝全部服務器

七、更換軟件源(三個節點都需要配置)

由於自帶的軟件源速度較慢,此處選擇科大源:http://mirrors.ustc.edu.cn

涉及的軟件源有三個,分別為debain、pve、ceph,需要分別修改下列文件。

7.1 通過web管理頁面中的shell或ssh登錄后台

7.2 更換debian源

vi /etc/apt/sources.list

刪除默認的源,替換為:

deb http://mirrors.ustc.edu.cn/debian buster main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian buster main contrib non-free
deb http://mirrors.ustc.edu.cn/debian buster-updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian buster-updates main contrib non-free

deb http://mirrors.ustc.edu.cn/debian-security/ buster-security main non-free contrib
# deb-src http://mirrors.ustc.edu.cn/debian-security/ buster-security main non-free contrib

7.3 更換pve源為非訂閱源

mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak
CODENAME=`cat /etc/os-release |grep CODENAME |cut -f 2 -d "="`
echo "deb http://mirrors.ustc.edu.cn/proxmox/debian $CODENAME pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

7.4 添加 Ceph 鏡像源

注意:因后面 PVE 安裝 Ceph 可能會使用官方源覆蓋 /etc/apt/sources.list.d/ceph.list 這個文件的內容,此處使用 ceph_mirror.list 這個文件替代。

創建 ceph_mirror.list 文件:

vi /etc/apt/sources.list.d/ceph_mirror.list

增加以下內容:

deb http://mirrors.ustc.edu.cn/proxmox/debian/ceph-octopus/ buster main

八、更新PVE至最新版本(按需)

根據實際需求決定是否更新為最新版本。

如需更新三台節點都需要執行:

apt upgrade

九、基礎配置(三個節點都需要配置)

9.1 安裝ifupdown2

此組件用於配置網卡后重啟網卡操作:

apt install ifupdown2

9.2 安裝vim

apt install vim

9.3 配置ntp服務

配置統一的時鍾源

  • 如果有條件建議在內網部署一台ntp服務器,所有節點與內網ntp同步時鍾。
  • 如果沒有內網NTP服務器,可以采用下列NTP服務器。
阿里雲:ntp.aliyun.com
國家授時中心:ntp.ntsc.ac.cn

十、PVE網絡配置(三個節點都需要配置)

10.1 PVE服務器網絡拓撲

放一張圖有助於理解配置,可以結合5.1.1章節拓撲圖理解。

10.2 管理網絡

10.2.1 編輯vmbr0

移除eno1,以便於將eno1加入到bond0中,刪除橋接端口中的eno1,然后點擊OK。

10.2.2 創建bond0

點擊創建Linux Bond。
名稱:bond0
slaves:eno1 eno2
模式:LACP (802.3ad)
Hash策略:layer2+3
按以上參數配置,然后點擊OK。

10.2.3 編輯vmbr0

橋接端口配置:bond0。
選中“vlan感知”選項,然后點擊OK。

10.2.4 應用配置

如果感覺配置有問題可以點擊還原按鈕,還原為配置前狀態。
如果沒有問題,點擊應用配置使配置生效。
網絡配置不正確可能會導致無法管理節點,應用配置前請確認配置正確,如果出現無法管理的情況需要進入shell手動修改配置。

10.3 業務網絡

業務網絡配置與管理網絡類似。

10.3.1 創建bond1

點擊創建Linux Bond。
名稱:bond1
slaves:eno3 eno4
模式:LACP (802.3ad)
Hash策略:layer2+3
按以上參數配置,然后點擊OK。

10.3.2 創建vmbr1

橋接端口配置:bond1。
選中“vlan感知”選項,然后點擊OK。

10.3.3 應用配置

點擊應用配置使配置生效。

10.4 網絡配置檢查

在交換機中檢查聚合接口狀態是否正常。

查看所有eth-trunk接口狀態,Status為Selected,則聚合接口正常。

十一、集群組建

創建集群,將三台節點加入同一集群。

11.1 在其中一個節點上點擊,”數據中心“ — ”集群“ — ”創建集群“。

11.2 點擊加入信息,復制加入信息。

11.3 在其他兩個節點上,點擊加入集群,粘貼加入信息,然后輸入第一台節點的root密碼,即可完成加入。

11.4 加入集群完成后需要刷新頁面才能正常使用,全部加入完成后,就可以在一個節點上管理集群中所有節點了。

十二、ceph

Ceph是一種為優秀的性能、可靠性和可擴展性而設計的統一的、分布式文件系統。它可以將多台服務器中的硬盤聚合成一個集群,對外可提供文件存儲、塊存儲、對象存儲等多種形式,ceph的另一個特點是數據采用多副本方式存儲,避免由於單點故障造成的業務中斷和數據丟失。

PVE自帶了ceph的圖形化安裝、管理工具,集群搭建完成后,可以快速完成ceph的安裝、配置。同時pve也提供命令行工具,可以使用命令行對ceph進行自定義配置。

12.1 ceph磁盤規划

我的環境中,sda到sdh為8塊HDD硬盤,sdi到sdl為4塊SSD硬盤。

為提高hdd的性能,我們將sdi作為所有hdd硬盤的DB盤,將sdj作為所有hdd硬盤的WAL磁盤。

請注意DB盤和WAL盤不能相同,如果只有一塊SSD可以將SSD分為兩個區,分別作為DB盤和WAL盤。
分區建議:根據PVE文檔建議,DB盤容量=數據盤總容量10%,WAL盤容量=數據盤總容量1%,假設數據盤共8T,則DB分區容量需>800G,WAL分區容量需>80G,考慮到單位換算及損耗,需要適當增加容量,請根據實際情況規划。

  • 詳細規划如下:

12.2 ceph安裝

在全部節點中,安裝ceph組件。

注意,實際操作中此步驟會在 /etc/apt/sources.list.d/ceph.list 文件中配置官方源。

12.2.1 選擇節點 — ”ceph“ 點擊 ” Install ceph ”

12.2.2 選擇版本,此處選擇 “ 15.2 ”

12.2.3 輸入 ” Y “ 開始安裝

如果軟件包下載速度較慢,可以先安裝一台,然后將安裝包拷貝到其他節點相同路徑中。
安裝包保存路徑:/var/cache/apt/archives

12.3 ceph配置

此配置是將ssd硬盤和hdd硬盤分別創建pool,分別為sdd_data和hdd_data。

12.3.1 創建osd

在 ”ceph“ — ”osd“ 選項卡創建OSD。

正常情況下磁盤類型會自動識別,如果識別的不正確,注意手動調整。

創建方式如下:

  • HDD盤

創建hdd時注意選擇DB和WAL磁盤。

  • SSD盤

  • 如果創建時類型選擇錯誤,可以用命令行修改:

假設osd0需要更改。

刪除osd類別信息:

ceph osd crush rm-device-class osd.0

設置osd類別信息

ceph osd crush set-device-class ssd osd.0

12.3.2 創建class rule

  • 創建HDD rule
ceph osd crush rule create-replicated hdd_rule default host hdd
  • 創建SSD rule
ceph osd crush rule create-replicated ssd_rule default host ssd

12.3.3 創建存儲池

  • 創建HDD pool
ceph osd pool create hdd_data hdd_rule
ceph osd pool application enable hdd_data hdd_data
  • 創建SSD pool
ceph osd pool create ssd_data ssd_rule
ceph osd pool application enable ssd_data ssd_data

注意,如果是使用單個節點的測試環境,創建存儲池后集群會出現以下警告信息。

root@pve1:~# ceph -s
  cluster:
    id:     e78680bc-550b-49e4-baa5-3a6d8e883329
    health: HEALTH_WARN
            1 MDSs report slow metadata IOs
            Reduced data availability: 193 pgs inactive
            Degraded data redundancy: 193 pgs undersized
 
  services:
    mon: 1 daemons, quorum pve1 (age 45m)
    mgr: pve1(active, since 45m)
    mds: 1/1 daemons up
    osd: 3 osds: 3 up (since 44m), 3 in (since 44m)
 
  data:
    volumes: 1/1 healthy
    pools:   4 pools, 193 pgs
    objects: 0 objects, 0 B
    usage:   17 MiB used, 400 GiB / 400 GiB avail
    pgs:     100.000% pgs not active
             193 undersized+peered
 
  progress:
    Global Recovery Event (7m)
      [............................]

原因是集群默認的 crushmap 規則是按 host 級別,可使用以下方法修改為 osd 級別:

ceph osd getcrushmap -o /etc/ceph/crushmap
crushtool -d /etc/ceph/crushmap -o /etc/ceph/crushmap.txt
sed -i 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' /etc/ceph/crushmap.txt
crushtool -c /etc/ceph/crushmap.txt -o /etc/ceph/crushmap-new
ceph osd setcrushmap -i /etc/ceph/crushmap-new

12.3.4 添加存儲池至PVE

”數據中心“ — ”存儲“ — ”添加“ — ”RBD“。

  • 添加hdd存儲池:

  • 添加ssd存儲池:

十三、安全加固

13.1 配置公鑰登錄

13.1.1 生成密鑰對

以xshell為例。

  • 生成密鑰

  • 設置名稱及密碼

設置密碼為可選項,為保證密鑰安全,建議設置。

13.1.2 將公鑰復制至服務器"/root/.ssh/authorized_keys"文件中,選擇"SSH2 - OpenSSH"格式。

vim /root/.ssh/authorized_keys

13.1.3 禁止ssh使用密碼登錄,禁止前先驗證一下公鑰方式能否登錄。

# 編輯sshd配置文件
vim /etc/ssh/sshd_config
# 將下列配置添加到最后一行
PasswordAuthentication no
# 重啟sshd服務
systemctl restart sshd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM