[虛擬化]Proxmox VE+ceph+物理網絡超融合生產環境部署案例


原文:https://blog.csdn.net/hanziqing0630/article/details/114262035

1 Proxmox Virtual Environment介紹
  Proxmox VE 是用於企業虛擬化的開源服務器管理平台。它在單個平台上緊密集成了KVM虛擬機管理程序和LXC,軟件定義的存儲以及網絡功能。借助基於Web的集成用戶界面,您可以輕松管理VM和容器,高可用性群集或集成的災難恢復工具。
  同時Proxmox VE對接Proxmox備份服務器,可實現對VM、容器的全量和增量備份,可顯著減少網絡負載並節省寶貴的存儲空間。

2 環境介紹
  本文章所述環境采用3台物理服務器(含4口萬兆網卡),1台萬兆業務交換機,1台萬兆管理交換機。
  注意:由於使用ceph搭建分布式存儲,為保證性能,管理網絡及業務網絡強烈建議采用全萬兆部署。
2.1 軟件版本
  本次部署采用當前最新版本:Proxmox VE 6.3
2.2 服務器配置

型號 配置 數量
DELL R930 CPU:Intel® Xeon® CPU E7-8870 v4 @ 2.10GHz
內存:512GB
RAID卡:PERC H730P Adapter
SSD:1.5TB 4塊
HDD:1.2TB 10塊
3

3 軟件獲取
  訪問官網下載ISO鏡像文件
https://www.proxmox.com/en/downloads/item/proxmox-ve-6-3-iso-installer


4 RAID規划
4.1 系統盤
    建議采用兩塊SSD組成raid 1,作為系統盤。
    不同品牌服務器設置方法不同,請參照各品牌官方文檔。
4.2 ceph盤
    ceph不推薦基於raid盤創建osd,所以除系統盤外,其余磁盤全部設置為非raid模式。
    不同品牌服務器設置方法不同,請參照各品牌官方文檔。

5 物理網絡
  生產環境對可靠性要求較高,所以建議采用鏈路聚合方式,將多個物理網卡綁定為一個邏輯接口,從而提高網絡的性能及可靠性。
鏈路聚合可在以下三種模式中選擇:
   1,LACP(802.3ad):基於LACP協議的鏈路聚合,此模式交換機需配置鏈路聚合,模式為lacp。
   2,靜態聚合:靜態鏈路聚合,此模式交換機需配置鏈路聚合,模式為靜態(華為、H3C默認為此模式;思科為on模式)。
   3,Active+Backup:主備模式,網卡一主一備,主網卡故障時備份網卡接替主網卡工作,此模式交換機無需做鏈路聚合配置。
    若交換機支持LACP,推薦采用LACP模式。此處采用LACP模式進行演示。

5.1 網絡規划
5.1.1 物理網絡拓撲

 5.1.2 vlan及網段規划

vlan號 用途 IP網段 網關
1 管理 10.1.1.0/24 10.1.1.254
3 業務 10.1.3.0/24 10.1.3.254
4 業務 10.1.4.0/24 10.1.4.254
5 業務 10.1.5.0/24 10.1.5.254


5.2 網絡配置
以華為交換機為例。
5.2.1 創建vlan:

vlan batch 3 to 5 

5.2.2 創建vlan-if(網關):

interface Vlanif1      //vlan1,管理網絡網關
 ip address 10.1.1.254 255.255.255.0
interface Vlanif3      //vlan3,業務網絡網關
 ip address 10.1.3.254 255.255.255.0
interface Vlanif4      //vlan4,業務網絡網關
 ip address 10.1.4.254 255.255.255.0
interface Vlanif5      //vlan5,業務網絡網關
 ip address 10.1.5.254 255.255.255.0

5.2.3 創建聚合接口(eth-trunk):

interface Eth-Trunk101    //用於節點1管理口
 description to-pve1-mgmt
 port link-type access
 mode lacp
#
interface Eth-Trunk102    //用於節點2管理口
 description to-pve2-mgmt
 port link-type access
 mode lacp
#
interface Eth-Trunk103    //用於節點3管理口
 description to-pve3-mgmt
 port link-type access
 mode lacp
#
interface Eth-Trunk104    //用於節點1業務口
 description to-pve1-yewu
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 mode lacp
#
interface Eth-Trunk105    //用於節點2業務口
 description to-pve2-yewu
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 mode lacp
#
interface Eth-Trunk106    //用於節點3業務口
 description to-pve3-yewu
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 mode lacp

5.2.4 物理接口加入聚合接口

interface GigabitEthernet0/0/10    //連接節點1管理口eno1
 description pve1-mgmt-eno1
 eth-trunk 101
#
interface GigabitEthernet0/0/11    //連接節點1管理口eno2
 description pve1-mgmt-eno2
 eth-trunk 101
#
interface GigabitEthernet0/0/12    //連接節點2管理口eno1
 description pve2-mgmt-eno1
 eth-trunk 102
#
interface GigabitEthernet0/0/13    //連接節點2管理口eno2
 description pve2-mgmt-eno2
 eth-trunk 102
#
interface GigabitEthernet0/0/14    //連接節點3管理口eno1
 description pve3-mgmt-eno1
 eth-trunk 103
#
interface GigabitEthernet0/0/15    //連接節點3管理口eno2
 description pve3-mgmt-eno2
 eth-trunk 103
#
interface GigabitEthernet0/0/16    //連接節點1業務口eno3
 description pve1-data-eno3
 eth-trunk 104
#
interface GigabitEthernet0/0/17    //連接節點1業務口eno4
 description pve1-data-eno4
 eth-trunk 104
#
interface GigabitEthernet0/0/18    //連接節點2業務口eno3
 description pve2-data-eno3
 eth-trunk 105
#
interface GigabitEthernet0/0/19    //連接節點2業務口eno4
 description pve2-data-eno4
 eth-trunk 105
#
interface GigabitEthernet0/0/20    //連接節點3業務口eno3
 description pve3-data-eno3
 eth-trunk 106
#
interface GigabitEthernet0/0/21    //連接節點3業務口eno4
 description pve3-data-eno4
 eth-trunk 106

6 PVE安裝

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

2,同意協議

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

4,配置國家、地區,

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

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

此處選擇服務器第一塊網卡,用於管理網絡,按我們的規划應為eno1

每個節點主機名不能相同,主機名可以參考以下規划,域名請按需配置。

序號 主機名 域名
1 pve1 test.local
2 pve2 test.local
3 pve3 test.local

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

7,檢查無誤后點擊安裝。

安裝結束后重啟,通過瀏覽器訪問,出現以下頁面證明安裝成功。
地址:https://你的IP地址:8006
用戶名:root
密碼:為安裝時配置的密碼。
域:選擇Linux PAM

8,按照此方法安裝全部服務器。

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

由於自帶的軟件源速度較慢,此處選擇科大源:http://mirrors.ustc.edu.cn
涉及的軟件源有三個,分別為debain、pve、ceph,需要分別修改下列文件。

名稱 source文件路徑
debain /etc/apt/sources.list
pve /etc/apt/sources.list.d/pve-no-subscription.list
ceph /etc/apt/sources.list.d/ceph.list
  • 操作流程:

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

 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/updates main contrib non-free
# deb-src http://mirrors.ustc.edu.cn/debian-security/ buster/updates main contrib non-free

3,更換pve源為非訂閱源:

    //備份默認源:
mv /etc/apt/sources.list.d/pve-enterprise.list /root

    //創建pve-no-subscription.list文件:
vi /etc/apt/sources.list.d/pve-no-subscription.list

    //增加以下內容:
deb http://mirrors.ustc.edu.cn/proxmox/debian/pve buster pve-no-subscription

4,更換ceph源

    //創建ceph.list文件:
vi /etc/apt/sources.list.d/ceph.list

    //增加以下內容:
deb http://mirrors.ustc.edu.cn/proxmox/debian/ceph-octopus buster main

5.更新軟件列表

apt update

8. 更新PVE至最新版本(按需)

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

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

apt upgrade

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

9.1 安裝ifupdown2

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

apt install ifupdown2

9.2 安裝vim

apt install vim

9.3 配置ntp服務

1,配置統一的時鍾源
如果有條件建議在內網部署一台ntp服務器,所有節點與內網ntp同步時鍾。
如果沒有內網NTP服務器,可以采用下列NTP服務器

阿里雲:ntp.aliyun.com
國家授時中心:ntp.ntsc.ac.cn

2,將NTP取消注釋,填寫ntp服務器地址

vim /etc/systemd/timesyncd.conf

 3,配置完成后重啟時間服務

systemctl restart systemd-timesyncd

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

10.1 PVE服務器網絡拓撲

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

10.2 管理網絡

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

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

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

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

10.3 業務網絡

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

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

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

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

10.4 網絡配置檢查

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

display eth-trunk 101
display eth-trunk 102
display eth-trunk 103
display eth-trunk 104
display eth-trunk 105
display eth-trunk 106

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

11 集群組建

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

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

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

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

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

12 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,考慮到單位換算及損耗,需要適當增加容量,請根據實際情況規划。

詳細規划如下:,
物理路徑    磁盤類型    DB磁盤    WAL磁盤    角色
/dev/sda    HDD    /dev/sdi    /dev/sdj    數據盤
/dev/sdb    HDD    /dev/sdi    /dev/sdj    數據盤
/dev/sdc    HDD    /dev/sdi    /dev/sdj    數據盤
/dev/sdd    HDD    /dev/sdi    /dev/sdj    數據盤
/dev/sde    HDD    /dev/sdi    /dev/sdj    數據盤
/dev/sdf    HDD    /dev/sdi    /dev/sdj    數據盤
/dev/sdg    HDD    /dev/sdi    /dev/sdj    數據盤
/dev/sdh    HDD    /dev/sdi    /dev/sdj    數據盤
/dev/sdi     SSD    不適用    不適用       DB盤
/dev/sdj     SSD    不適用    不適用       WAL盤
/dev/sdk    SSD    /dev/sdk    /dev/sdk    數據盤
/dev/sdl    SSD    /dev/sdl    /dev/sdl     數據盤

12.2 ceph安裝

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

1,選擇節點 — ”ceph“ 點擊 ” Install ceph ”

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

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

12.3 ceph配置

此配置是將ssd硬盤和hdd硬盤分別創建pool,分別為sdd_data和hdd_data,如需將ssd作為hdd的緩存層請關注我的后續文章。


12.3.1 創建osd
在 ”ceph“ — ”osd“ 選項卡創建OSD。
正常情況下磁盤類型會自動識別,如果識別的不正確,注意手動調整。
創建方式如下:

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

SSD盤

如果創建時類型選擇錯誤,可以用命令行修改:
假設osd0需要更改。

1,刪除osd類別信息

ceph osd crush rm-device-class osd.0

2,設置osd類別信息

ceph osd crush set-device-class ssd osd.0
12.3.2 創建class rule

創建HDD rule

ceph osd crush rule create-replicated ssd_rule default host ssd

創建SSD rule

ceph osd crush rule create-replicated hdd_rule default host hdd
12.3.3 創建存儲池

創建HDD pool

ceph osd pool create hdd_data hdd_rule

 創建SSD pool

ceph osd pool create ssd_data ssd_rule
12.3.4 添加存儲池至PVE

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

添加hdd存儲池:

 添加ssd存儲池:

13 安全加固

13.1 配置公鑰登錄

1,禁止ssh使用密碼登錄

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

2,生成密鑰對

以xshell為例,生成密鑰

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

3,將公鑰上傳至服務器中

vim /root/.ssh/authorized_keys

 13.2 配置OTP登錄

1,下載google身份驗證器,
    安卓
    鏈接: https://pan.baidu.com/s/1WBMZ83aVAqTgmTavSJRwVw 提取碼: sekv
    蘋果
    在app store中搜索“Google Authenticator”

2, 添加令牌
    點擊右上角用戶名 - TFA,掃描二維碼添加令牌,將令牌中顯示的數字輸入下方驗證碼框中,點擊應用即可。

3,為防止手機故障造成令牌不可用,請備份令牌
點擊右上角三個點,選擇轉移賬號,導出賬號,選擇需要導出的賬號,備份此二維碼或使用其他手機掃描此二維碼。需要恢復時,用其他手機掃描此二維碼即可。


免責聲明!

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



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