原文: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.32.2 服务器配置

型号配置数量

DELL R930

CPU:Intel® Xeon® CPU E7-8870 v4 @ 2.10GHz内存:512GBRAID卡:PERC H730P AdapterSSD: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 cephCeph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。它可以将多台服务器中的硬盘聚合成一个集群,对外可提供文件存储、块存储、对象存储等多种形式,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,为防止手机故障造成令牌不可用,请备份令牌 点击右上角三个点,选择转移账号,导出账号,选择需要导出的账号,备份此二维码或使用其他手机扫描此二维码。需要恢复时,用其他手机扫描此二维码即可。

查看原文