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