1 Proxmox Virtual Environment介绍
Proxmox VE 是用于企业虚拟化的开源服务器管理平台。它在单个平台上紧密集成了KVM虚拟机管理程序和LXC,软件定义的存储以及网络功能。借助基于Web的集成用户界面,您可以轻松管理VM和容器,高可用性群集或集成的灾难恢复工具。
同时Proxmox VE对接Proxmox备份服务器,可实现对VM、容器的全量和增量备份,可显著减少网络负载并节省宝贵的存储空间。
pve官方备份组件:pbs部署及策略设置教程
2 环境介绍
本文章所述环境采用3台物理服务器(含4口万兆网卡),1台万兆业务交换机,1台万兆管理交换机。
注意:由于使用ceph搭建分布式存储,为保证性能,ceph存储网络及业务网络强烈建议采用全万兆部署,管理网络可以采用千兆。
本案例中将ceph存储网络和管理网络合并部署,共用1个万兆接口,业务网络单独使用一个万兆接口。如条件允许,建议为ceph规划单独的网络,即:管理(千兆×2)、业务(万兆×2)、ceph存储网络(万兆×2),三个网络分离部署。
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/category/iso-images-pve
4 RAID规划
4.1 系统盘
4.2 ceph盘
5 物理网络
生产环境对可靠性要求较高,所以建议采用链路聚合方式,将多个物理网卡绑定为一个逻辑接口,从而提高网络的性能及可靠性。
链路聚合可在以下三种模式中选择:
LACP(802.3ad):基于LACP协议的链路聚合,此模式交换机需配置链路聚合,模式为lacp。
静态聚合:静态链路聚合,此模式交换机需配置链路聚合,模式为静态(华为、H3C默认为此模式;思科为on模式)。
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安装
选择第一个选项,安装PVE
同意协议
选择系统盘
注意:此处一定要选择RAID规划中创建的RAID 1系统盘
配置国家、地区
配置密码、邮箱
如果为生产环境务必配置为强口令。邮箱建议配置为真实邮箱
配置网卡、主机名、IP地址、DNS等信息
序号 | 主机名 | 域名 |
---|
1 | pve1 | test.local |
2 | pve2 | test.local |
3 | pve3 | test.local |
检查无误后点击安装。
安装结束后重启,通过浏览器访问,出现以下页面证明安装成功。
地址:https://你的IP地址:8006
用户名:root
密码:为安装时配置的密码。
域:选择Linux PAM
按照此方法安装全部服务器。
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 |
通过web管理页面中的shell或ssh登录后台。
更换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-freedeb 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-freedeb 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
更换pve源为非订阅源:
mv /etc/apt/sources.list.d/pve-enterprise.list /root
vi /etc/apt/sources.list.d/pve-no-subscription.list
deb http://mirrors.ustc.edu.cn/proxmox/debian/pve buster pve-no-subscription
更换ceph源
vi /etc/apt/sources.list.d/ceph.list
deb http://mirrors.ustc.edu.cn/proxmox/debian/ceph-octopus buster main
更新软件列表
apt update
8. 更新PVE至最新版本(按需)
根据实际需求决定是否更新为最新版本。
如需更新三台节点都需要执行:
apt upgrade
9 基础配置(三个节点都需要配置)
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
将NTP取消注释,填写ntp服务器地址。
vim /etc/systemd/timesyncd.conf
配置完成后重启时间服务
systemctl restart systemd-timesyncd
10 PVE网络配置(三个节点都需要配置)
10.1 PVE服务器网络拓扑
放一张图有助于理解配置,可以结合5.1.1章节拓扑图理解。
10.2 管理网络
编辑vmbr0
移除eno0,以便于将eno0加入到bond0中
删除桥接端口中的eno0,然后点击OK。
创建bond0
点击创建Linux Bond。
名称:bond0
slaves:eno0 eno1
模式:LACP (802.3ad)
Hash策略:layer2+3
按以上参数配置,然后点击OK。
编辑vmbr0
桥接端口配置:bond0。
选中“vlan感知”选项,然后点击OK。
应用配置
如果感觉配置有问题可以点击还原按钮,还原为配置前状态。
如果没有问题,点击应用配置使配置生效。
网络配置不正确可能会导致无法管理节点,应用配置前请确认配置正确,如果出现无法管理的情况需要进入shell手动修改配置。
10.3 业务网络
业务网络配置与管理网络类似。
创建bond1
点击创建Linux Bond。
名称:bond1
slaves:eno2 eno3
模式:LACP (802.3ad)
Hash策略:layer2+3
按以上参数配置,然后点击OK。
创建vmbr1
桥接端口配置:bond1。
选中“vlan感知”选项,然后点击OK。
应用配置
点击应用配置使配置生效。
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 集群组建
创建集群,将三台节点加入同一集群。
在其中一个节点上点击,”数据中心“ — ”集群“ — ”创建集群“。
点击加入信息,复制加入信息。
在其他两个节点上,点击加入集群,粘贴加入信息,然后输入第一台节点的root密码,即可完成加入。
加入集群完成后需要刷新页面才能正常使用,全部加入完成后,就可以在一个节点上管理集群中所有节点了。
12 ceph
Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。它可以将多台服务器中的硬盘聚合成一个集群,对外可提供文件存储、块存储、对象存储等多种形式,ceph的另一个特点是数据采用多副本方式存储,避免由于单点故障造成的业务中断和数据丢失。
PVE自带了ceph的图形化安装、管理工具,集群搭建完成后,可以快速完成ceph的安装、配置。同时pve也提供命令行工具,可以使用命令行对ceph进行自定义配置。
12.1 ceph磁盘规划
数据盘:用于存储数据的磁盘,为节省成本,通常采用HDD磁盘。
DB盘:高速缓存,用于存储BlueStore内部产生的元数据文件,可采用普通SSD。
WAL盘:超高速缓存,用于存储RocksDB log文件,可以采用性能更高、延迟更低的SSD或NVMe SSD。
裸容量:物理硬盘总容量。
可用容量:采用ceph副本模式后,实际可用的存储容量。
注意:ceph存储池可采用3副本或2副本模式,副本模式下,裸容量不等于可用容量。假设裸容量为60TB,采用3副本模式的情况下,可用容量=裸容量/副本数=60TB/3=20TB;采用2副本模式的情况下,可用容量=裸容量/副本数=60TB/2=30TB。规划容量时请务必考虑副本因素
本环境中,sda到sdh为8块HDD硬盘。sdi到sdl为4块SSD硬盘。
为提高hdd的性能,我们将sdi作为所有hdd硬盘的DB盘,将sdj作为所有hdd硬盘的WAL磁盘。
注意: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组建。
选择节点 — ”ceph“ 点击 ” Install ceph ”
选择版本,此处选择 “ 15.2 ”
输入 ” Y “ 开始安装
如果软件包下载速度较慢,可以先安装一台,然后将安装包拷贝到其他节点相同路径中。
安装包保存路径:/var/cache/apt/archives
配置ceph网络
Public Network:公共网(前端),默认只存在公共网,用于承载ceph集群所有流量(包括存储读写、心跳、对象复制和恢复流量等流量)。
Cluster Network:集群网(后端),如果单独配置了集群网,OSD将把心跳、对象复制和恢复流量路由到集群网。
配置pve中的ceph时,中小型规模的集群,Public Network选择之前规划的ceph网路(本案例中为管理网络),Cluster Network选择与公共网络相同,其他配置保持默认即可。大规模ceph建议采用Public Network与Cluster Network分离的方式,与单个网络相比会提升性能。如需修改网络部署模式,需要自行对"5.物理网络"和"10.PVE网络配置"中的规划进行调整。
12.3 ceph配置
此配置是将ssd硬盘和hdd硬盘分别创建pool,分别为sdd_data和hdd_data,如需将ssd作为hdd的缓存层请关注我的后续文章。
12.3.1 创建osd
在 ”ceph“ — ”osd“ 选项卡创建OSD。
正常情况下磁盘类型会自动识别,如果识别的不正确,注意手动调整。
创建方式如下:
删除osd类别信息
ceph osd crush rm-device-class osd.0
设置osd类别信息
ceph osd crush set-device-class ssd osd.0
12.3.2 创建class rule
ceph osd crush rule create-replicated hdd_rule default host hdd
ceph osd crush rule create-replicated ssd_rule default host ssd
12.3.3 创建存储池
ceph osd pool create hdd_data hdd_rule
ceph osd pool create ssd_data ssd_rule
12.3.4 添加存储池至PVE
”数据中心“ — ”存储“ — ”添加“ — ”RBD“。
添加hdd存储池:
添加ssd存储池:
13 安全加固
13.1 配置公钥登录
生成密钥对
以xshell为例
将公钥复制至服务器"/root/.ssh/authorized_keys"文件中,选择"SSH2 - OpenSSH"格式。
vim /root/.ssh/authorized_keys
禁止ssh使用密码登录,禁止前先验证一下公钥方式能否登录。
#编辑sshd配置文件
vim /etc/ssh/sshd_config
#将下列配置添加到最后一行
PasswordAuthentication no
#重启sshd服务
systemctl restart sshd
13.2 配置OTP登录
下载google身份验证器
添加令牌
点击右上角用户名 - TFA,扫描二维码添加令牌,将令牌中显示的数字输入下方验证码框中,点击应用即可。
为防止手机故障造成令牌不可用,请备份令牌
点击右上角三个点,选择转移账号,导出账号,选择需要导出的账号,备份此二维码或使用其他手机扫描此二维码。需要恢复时,用其他手机扫描此二维码即可。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/6454.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
打赏微信支付宝扫一扫,打赏作者吧~
休息一下~~