阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Proxmox VE搭配Ceph存储组建高可用虚拟化平台

478次阅读
没有评论

共计 6478 个字符,预计需要花费 17 分钟才能阅读完成。

随着项项目的增多,对测试环境的需求越来越大,今天研发要几台测试环境,明天测试也要几台测试环境,连产品都要测试环境了,咱们运维也得有自己的测试环境,之前搭建的 exsi 已经满足不了需求了。

  Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台   

     刚好内网有几台闲置的机器,于是就着手准备再搭建一套虚拟化平台,EXSI 虽说好用,但毕竟是要钱的(之前用的破解版的),本着尊重版权的原则,咱们还是用开源的吧,网上找了一圈,发现目前比较活跃的 KVM 虚拟化平台有 OpenStack、Proxmox VE、oVirt,内部测试用用,OpenStack 有点大材小用了,Proxmox VE 基本 debian 定制的,不太喜欢这种模式,而且对 debian 不是太熟悉,个人还是比较倾向于 oVirt,因为 oVirt 的目标就是瞄准 vCenter,而且 oVirt 和 RHEV 的关系,有点像 Fedora 和 RHEL,直接 CentOS7+Ovirt+GlusterFS 比较好的解决方案,怎奈,淘汰下的机器实在是太老了,Ovirt 表示硬件不支持,没办法,只能试试 Proxmox VE 了。

     手头资源有限,所以这里先用三台机器组集群环境,用 Proxmox VE 再配合 Ceph 存储组成一个高可用的虚拟化平台,Proxmox VE 的安装过程这里就不写了,实在是太简单了,将网上下载的 proxmox-ve_5.2-1.iso 制作成 U 盘启动盘,U 盘启动,一路下一步就可以了,设置好 root 密码、IP、hostname 等信息就好了,ostname 要求写成 FQDN 格式。

#hosts 文件配置

root@proxmox233:~# cat >> /etc/hosts << EOF
192.168.5.232 proxmox232.blufly.com proxmox232
192.168.5.231 proxmox231.blufly.com proxmox231
EOF

root@proxmox232:~# cat >> /etc/hosts << EOF
192.168.5.233 proxmox233.blufly.com proxmox233
192.168.5.231 proxmox231.blufly.com proxmox231
EOF

root@proxmox231:~# cat >> /etc/hosts << EOF
192.168.5.232 proxmox232.blufly.com proxmox232
192.168.5.233 proxmox233.blufly.com proxmox233
EOF
 

#debian 系统更新

rm -f /etc/apt/sources.list.d/pve-enterprise.list
echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" >/etc/apt/sources.list.d/pve-install-repo.list
wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg
apt update && apt dist-upgrade
apt-get install net-tools
 

设置时钟同步:

apt-get install ntpdate
ntpdate 120.25.108.11
echo "0 * * * * /usr/sbin/ntpdate 120.25.108.11 > /dev/null 2>&1" >> /etc/crontab
 

# 配置免登陆访问(这一步可以省略,在加入集群的时候,会自动建立信任关系)

root@proxmox231:~# ssh-keygen -t rsa
root@proxmox231:~# ssh-copy-id root@proxmox231
root@proxmox231:~# ssh-copy-id root@proxmox232
root@proxmox231:~# ssh-copy-id root@proxmox233

root@proxmox232:~# ssh-keygen -t rsa
root@proxmox232:~# ssh-copy-id root@proxmox231
root@proxmox232:~# ssh-copy-id root@proxmox232
root@proxmox233:~# ssh-copy-id root@proxmox233

root@proxmox233:~# ssh-keygen -t rsa
root@proxmox233:~# ssh-copy-id root@proxmox231
root@proxmox233:~# ssh-copy-id root@proxmox232
root@proxmox233:~# ssh-copy-id root@proxmox233
 

# 在 192.168.5.231 上面创建 pve-cluster 集群

root@proxmox231:~# pvecm create pve-cluster
 

# 接下来,通过 ssh 登陆其他 2 个 pve 节点,执行 pvecm add 192.168.5.231

root@proxmox233:~# pvecm add 192.168.5.231
successfully added node 'proxmox233' to cluster.

root@proxmox232:~# pvecm add 192.168.5.231
successfully added node 'proxmox232' to cluster.
 

#pvecm status 在任何一个节点上查看集群情况

root@proxmox231:~# pvecm status
Quorum information
------------------
Date:             Fri Sep 28 15:39:20 2018
Quorum provider:  corosync_votequorum
Nodes:            3
Node ID:          0x00000001
Ring ID:          1/12
Quorate:          Yes
Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      3
Quorum:           2  
Flags:            Quorate 
Membership information
----------------------
    Nodeid      Votes Name
0x00000001          1 192.168.5.231 (local)
0x00000003          1 192.168.5.232
0x00000002          1 192.168.5.233
 

   Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台  

     Proxmox 支持两种磁盘,一种是服务器本地自带磁盘,另一种是外部存储设备的磁盘。对于服务器本地磁盘,可以配置成本地目录、zfs、brd、lvm 几种形式。

     对于外部存储设备的磁盘,可以通过 nfs,iscsi 或者 fc 协议挂载到 Proxmox 服务器使用。其中 nfs 挂载上以后,可以直接作为文件存储使用,通过 iscsi 或者 fc 协议挂载后,Proxmox 服务器会识别为裸磁盘设备,还需要进一步配置后才可以使用。例如可以配置成 lvm,作为卷存储使用,也可以配置成本地目录,作为文件存储使用,但强烈建议不要配置为 zfs 使用,因为 zfs 的特点是要求能直接管理物理磁盘设备,如果中间有 raid 卡等,会严重影响 zfs 的正常运行。

     当然,用户也可以配置外部的 glusterfs、ceph、sheepdog 等基于服务器的分布式存储。对于 glusterfs,应该是可以直接通过菜单挂载;对于 ceph,需要通过 iscsi 协议挂载;对于 sheepdog,需要手工安装 sheepdog 插件,然后在命令行配置挂载。glusterfs 挂载后可以作为文件存储使用,ceph 和 sheepdog 应该都只能作为卷存储使用了。

     前面多次提到了文件存储和卷存储两个概念,又有什么区别呢?主要是 Proxmox 对于存储使用是有多种需求的,例如对于虚拟磁盘,就有 raw,qcow2,vmdk 三种,另外还有 iso 镜像文件、gz 容器模版文件、虚拟机备份文件的保存需求,这些都需要文件存储才可以实现。当然,用户也可以直接用用 lvm 逻辑卷或 zvol 逻辑卷或 rbd 卷的方式保存虚拟机的磁盘,相当于 raw 格式的效果,这就可以使用卷存储来实现。

     那么,说了那么多,到底该怎么配置和选择呢?简单总结下,一般的配置是这样。

本地磁盘 - 本地目录 - 文件存储

本地磁盘 -lvm- 卷存储

本地磁盘 -zfs- 卷存储 / 文件存储

本地磁盘 -ceph- 卷存储

外部存储 -nfs- 文件存储

外部存储 -iscci/fc-lvm- 卷存储

外部存储 -iscsi/fc- 目录 - 文件存储

外部 glusterfs-glusterfs 插件挂载 - 文件存储

外部 ceph-iscsi- 卷存储

外部 sheepdog- 插件挂载 - 卷存储

# 在每个节点上安装 ceph,详见 https://pve.proxmox.com/pve-docs/chapter-pveceph.html

root@proxmox231:~# pveceph install --version luminous
root@proxmox232:~# pveceph install --version luminous
root@proxmox233:~# pveceph install --version luminous
 

# 配置 ceph 集群存储网络

root@proxmox231:~# pveceph init --network 192.168.5.0/24
 

# 创建 ceph 集群存储 Mon 监控

root@proxmox231:~# pveceph createmon
root@proxmox232:~# pveceph createmon
root@proxmox233:~# pveceph createmon
 

# 创建 mgr

root@proxmox231:~# pveceph createmgr
root@proxmox232:~# pveceph createmgr
root@proxmox233:~# pveceph createmgr
 

# 创建 Ceph OSDs

root@proxmox231:~# pveceph createosd /dev/sdb
root@proxmox232:~# pveceph createosd /dev/sdb
root@proxmox233:~# pveceph createosd /dev/sdb
 

# 创建集群存储资源池 ceph osd pool create [资源池名称] 128 128

root@proxmox231:~# ceph osd pool create pvepool 128 128
pool 'pvepool' created
 

# 复制存储 ID 和密钥到指定文件位置

root@proxmox231:~# mkdir /etc/pve/priv/ceph
root@proxmox231:~# cp /etc/ceph/ceph.client.admin.keyring /etc/pve/priv/ceph.keyring
root@proxmox231:~# cp /etc/pve/priv/ceph.client.admin.keyring /etc/pve/priv/ceph/ceph1.keyring
 
root@proxmox231:~# ceph osd pool application enable pvepool rbd
enabled application 'rbd' on pool 'pvepool'
 

# 查看集群状态

root@proxmox231:~# ceph -s
  cluster:
    id:     2cd9afcd-fd20-4e52-966b-3252c6444e6c
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum proxmox231,proxmox232,proxmox233
    mgr: proxmox231(active), standbys: proxmox232, proxmox233
    osd: 3 osds: 3 up, 3 in
 

# 添加 RBD 集群存储

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

ID:填写为 ceph 必填,不能定义

资源池:pvepool 可选(默认为 rbd)

Monitor:192.168.5.231 192.168.5.232 192.168.5.233(注意添加多个 Mon 以空格隔开)

添加节点:proxmox231,proxmox232,proxmox233

# 查看 rbd 集群存储配置信息

root@proxmox231:~# cat /etc/pve/storage.cfg 
dir: local
        path /var/lib/vz
        content vztmpl,iso,backup
lvmthin: local-lvm
        thinpool data
        vgname pve
        content images,rootdir
rbd: ceph
        content images,rootdir
        krbd 0
        nodes proxmox233,proxmox231,proxmox232
        pool pvepool
 

# 上传 ISO 镜像,通过 sftp 上传到以下目录 /var/lib/vz/template/iso,但这里上传的 iso 只能本机显示,如果要让集群中其它的主机也能共享 iso,那就要用到共享存储,刚好内网上有一台 NFS 服务器,exsi 存储用的,上面也有 ISO 镜像,正好可以共享,于是在数据中心上挂载这个 NFS 存储

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

# 新建虚拟机,使用 ceph 存储

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

# 虚拟机热迁移测试

刚刚在 proxmox231 上创建了一个 centos7 的虚拟机,存储用到了 ceph,所以先来进行热迁移测试,将 proxmox231 上的虚拟迁移到 proxmox233 上面

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

2018-09-29 15:50:16 starting migration of VM 100 to node ‘proxmox233’ (192.168.5.233)

2018-09-29 15:50:16 found local disk ‘local:iso/CentOS-7-x86_64-DVD-1804.iso’ (in current VM config)

2018-09-29 15:50:16 can’t migrate local disk ‘local:iso/CentOS-7-x86_64-DVD-1804.iso’: can’t live migrate attached local disks without with-local-disks option

2018-09-29 15:50:16 ERROR: Failed to sync data – can’t migrate VM – check log

2018-09-29 15:50:16 aborting phase 1 – cleanup resources

2018-09-29 15:50:16 ERROR: migration aborted (duration 00:00:01): Failed to sync data – can’t migrate VM – check log

TASK ERROR: migration aborted

# 在迁移的时候报错,那是因为在安装的时候挂载了本地的 ISO,所以在迁移之前先修改下虚拟的配置,CD/DVD 选择不使用任何介质

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

# 然后再来迁移

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

# 此时之前在 proxmox231 上面运行的虚拟已经迁移到 proxmox233 上面来了

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

# 将虚拟机加入 HA,进行高可用测试

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

# 好了,已成功将 proxmox233 上面的 k8s71.blufly.com 虚拟机添加到 HA,现在将 proxmox233 关机模拟故障

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

# 从截图上可以看到 proxmox233 已经故障,k8s71.blufly.com 这个虚拟机已经迁移到 proxmox231 上了,实现了高可用

Proxmox VE 搭配 Ceph 存储组建高可用虚拟化平台

以上只是对 proxmox 做了简单的测试,基本上能满足日常需求,更多的高级功能后面再来慢慢摸索。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6478字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19352
评论数
4
阅读量
8037576
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
欧洲无限速云盘免费10GB永久存储 + WebDAV部署+图床搭建,多平台联动一步到位!

欧洲无限速云盘免费10GB永久存储 + WebDAV部署+图床搭建,多平台联动一步到位!

欧洲无限速云盘免费 10GB 永久存储 + WebDAV 部署 + 图床搭建,多平台联动一步到位! 大家好,我...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...