Proxmox VE 套娃做pve集群实验ceph搭建及ha迁移 超融合

纯粹是为了折腾 :)

1 环境介绍

#存储也可以说是超融合

OS:Virtual Environment 6.2-4

pve231 主机

pve118 172.16.1.118 虚拟机1
pve119 172.16.1.119 虚拟机2
pve143 172.16.1.143 虚拟机3

#三台虚拟机的配置如下:内存,硬盘,cpu,网络配置同pve118,PVE的安装过程就不说明了,网上一堆,默认安装也ok
在这里插入图片描述

2 首先要使Proxmox VE 主机支持套娃

#PVE虚拟出来的主机CPU默认不支持vmx,也就是不支持嵌套虚拟化,所以在这里我们需要手动打开这个功能,这里查看的时候功能是关的

root@pve231:~# cat /sys/module/kvm_intel/parameters/nested
N

#关闭pve所有的虚拟机,并执行以下命令:
(如果执行报错,就要检查下虚拟机是否全部都关闭)

modprobe -r kvm_intel 
modprobe kvm_intel nested=1

#查看netsed是否开启

root@pve231:~# cat /sys/module/kvm_intel/parameters/nested
Y

#设置自动加载nested命令

echo "options kvm_intel nested=1" >> /etc/modprobe.d/modprobe.conf

#至此,pve的套娃功能就开启完成;

3 设置虚拟机支持套娃功能,方法有两种

3.1 方法一:命令行模式开启,但是重启后就失效了,最好写进配置里

#以我的centos116为例,查看配置,不支持虚拟化:

root@pve231:~# qm showcmd 116
/usr/bin/kvm -id 116 -name centos116 -chardev 'socket,id=qmp,path=/var/run/qemu-server/116.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' -mon 'chardev=qmp-event,mode=control' -pidfile /var/run/qemu-server/116.pid -daemonize -smbios 'type=1,uuid=a820085d-d873-46b2-9d4a-88aa7ed1e1b6' -smp '1,sockets=1,cores=1,maxcpus=1'-nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vnc unix:/var/run/qemu-server/116.vnc,password -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep -m 1024 -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'vmgenid,guid=a218640f-b2f4-4641-8d21-1c09037cca4b' -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'VGA,id=vga,bus=pci.0,addr=0x2' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:c4896a5ad946' -device 'virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5' -drive 'file=/dev/SATA3_Disk/vm-116-disk-0,if=none,id=drive-scsi0,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,rotation_rate=1,bootindex=100' -drive 'file=/dev/SATA3_Disk/vm-116-disk-1,if=none,id=drive-scsi1,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi1,id=scsi1' -netdev 'type=tap,id=net0,ifname=tap116i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=A6:59:D2:72:9E:D7,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -machine 'type=pc+pve0'

#在这里要找到cpu的设置项

-cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep -m 1024
#找到这一段cpu配置,加上+vmx
-cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep,+vmx -m 1024
#然后关闭116虚拟机,整段复制执行,重新开启虚拟机
root@pve231:~# qm stop 116
root@pve231:~# /usr/bin/kvm -id 116 -name centos116 -chardev 'socket,id=qmp,path=/var/run/qemu-server/116.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' -mon 'chardev=qmp-event,mode=control' -pidfile /var/run/qemu-server/116.pid -daemonize -smbios 'type=1,uuid=a820085d-d873-46b2-9d4a-88aa7ed1e1b6' -smp '1,sockets=1,cores=1,maxcpus=1'-nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vnc unix:/var/run/qemu-server/116.vnc,password -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep,+vmx -m 1024 -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'vmgenid,guid=a218640f-b2f4-4641-8d21-1c09037cca4b' -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'VGA,id=vga,bus=pci.0,addr=0x2' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:c4896a5ad946' -device 'virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5' -drive 'file=/dev/SATA3_Disk/vm-116-disk-0,if=none,id=drive-scsi0,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,rotation_rate=1,bootindex=100' -drive 'file=/dev/SATA3_Disk/vm-116-disk-1,if=none,id=drive-scsi1,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi1,id=scsi1' -netdev 'type=tap,id=net0,ifname=tap116i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=A6:59:D2:72:9E:D7,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -machine 'type=pc+pve0'

#确认116虚拟机是否running

root@pve231:~# qm list |grep 116
       116 centos116            running    1024              50.00 869792

#登陆116虚拟机查看是否开启vmx

root@centos116:~# egrep "vmx|svm" /proc/cpuinfo
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadowvnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms xsaveopt arat umip arch_capabilities
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadowvnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms xsaveopt arat umip arch_capabilities
3.2 方法二:web界面配置开启,放心重启配置不会丢失

#在创建虚拟机的过程中,cpu的类别选择host即可。
在这里插入图片描述
在这里插入图片描述
#创建好后,虚拟机查看是否开启vmx

root@pve118:~# egrep "vmx|svm" /proc/cpuinfo
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadowvnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms xsaveopt arat umip arch_capabilities
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadowvnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms xsaveopt arat umip arch_capabilities

4 集群创建及节点加入

4.1 集群创建

#pve的web功能已经很完善了,集群创建在web界面就能够完成如下面的图所示:
#三台虚拟机选一台创建集群:pve148
#数据中心-集群-创建集群
在这里插入图片描述
#设置集群名称及选择集群通迅网络连接ip,实际应该为172.16.1.143,点击创建显示done即可;
#这里的集群名称为pvvve
在这里插入图片描述

4.2 节点加入集群

#在pve143,找到加入集群的密钥:
#数据中心-集群-加入信息,点击复制
在这里插入图片描述
#在pve118及pve119,将密钥粘贴进去即可读出集群信息
#数据中心-集群-加入集群,输入pve143的root密码,点击join 'pvvve’即可加入集群
在这里插入图片描述
#验证
在这里插入图片描述

5 CEPH搭建及挂载

#pve的ceph集群搭有两种方式,一是web,二是直接在pve cli命令界面操作(建议使用这种方式,因为pve的源下载速度慢成渣了,太容易中断了!)

5.1 方法一:web界面创建

#pve143-ceph-安装ceph
在这里插入图片描述
#ceph安装过程就不表了
#安装完成后在界面上创建对应的监视器及管理员,如下图
在这里插入图片描述
#创建OSD,这里的OSD硬盘就是刚刚环境介绍的每台服务器上挂载的两块盘
在这里插入图片描述
#至此方法一部署完成

5.2 方法二:pve cli界面创建(推荐使用这种方式)

#在每个节点安装ceph,

root@pve118~# pveceph install --version luminous

#如图所示,其他两台也如此操作
在这里插入图片描述
#安装完成后,配置ceph集群存储网络

root@pve148:~# pveceph init --network 172.16.1.0/24

#创建ceph集群Mon监控 - 每台执行

root@pve118:~# pveceph createmon
root@pve119:~# pveceph createmon
root@pve143:~# pveceph createmon

#创建ceph mgr - 每台执行

root@pve118:~# pveceph createmgr
root@pve119:~# pveceph createmgr
root@pve143:~# pveceph createmgr

#创建Ceph集群的 OSDs - 每台执行

root@pve118:~# pveceph createosd /dev/sdb
root@pve118:~# pveceph createosd /dev/sdc
root@pve119:~# pveceph createosd /dev/sdb
root@pve119:~# pveceph createosd /dev/sdc
root@pve143:~# pveceph createosd /dev/sdb
root@pve143:~# pveceph createosd /dev/sdc

#创建集群存储资源池ceph osd pool create 资源池名称 128 128 (这里只要一台执行)

root@pve143:~# ceph osd pool create pvepool1 128 128
pool 'pvepool1' created

这里的128不是随便写的,是需要大家计算的,超出会报错
Pool 对应 PG PGP数量的计算公式: 官方计算地址
Total PGs = ((Total_number_of_OSD * Target PGs per OSD) / max_replication_count) / pool_count
Target PGs per OSD 通常被设置为 100
最终的结果取2的幂次方最靠近的数,这里为128

#激活pvepool1为rbd存储池,用于存储pve的磁盘映像跟容器

root@pve143:~# ceph osd pool application enable pvepool1 rbd
enabled application 'rbd' on pool 'pvepool1'

#最后查看集群状态

root@pve143:~# ceph -s
  cluster:
    id:     79475a09-72be-418a-921f-243241b0c5e3
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum pve143,pve118,pve119 (age 4h)
    mgr: pve143(active, since 3h), standbys: pve119, pve118
    osd: 6 osds: 6 up (since 4h), 6 in (since 4h)

  data:
    pools:   1 pools, 128 pgs
    objects: 0 objects, 0 B
    usage:   6.0 GiB used, 240 GiB / 246 GiB avail
    pgs:     128 active+clean

5.3 挂载ceph rbd 磁盘

#在数据中心-存储-添加RBD,填写ID,设置存储对象,这样集群节点就都会挂载上这个磁盘
在这里插入图片描述
#最终效果如图:
在这里插入图片描述

6 启用pve HA功能

6.1 创建HA群组

#此群组用于设置参与ha的节点,并设置节点设备故障后能够迁移的优先级、
#数据中心-HA-群组-创建
在这里插入图片描述
#创建完成
在这里插入图片描述
#这里会显示HA集群的状态
在这里插入图片描述

6.2 创建参与HA的对象

#数据中心-HA-资源-添加参与ha的容器或者虚拟机(这里的虚拟机一定要是存储在cephrbd盘里面的才行
在这里插入图片描述

6.3 验证HA故障迁移

#强制关闭pve118,观察vm100的迁移情况
#vm100已经顺利的迁移至pve119并已顺利启动
在这里插入图片描述

至此折腾完了~

  • 7
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: Proxmox VE 7.3 Ceph融合私有云建设案例是实现私有云建设的最佳方案之一。它是一个高度集成的平台,允许在单一硬件组件上集成计算、存储和网络部署。这意味着不再需要单独购买控制器和硬盘阵列,从而使架构更加轻量化、简单和易于管理。 该方案使用Ceph来管理储存,并为计算和网络提供服务。Ceph是一种可靠、可扩展的分布式存储系统,旨在提供比传统存储更好的性能和容错性。它使用分布式复制来确保数据的可用性,并通过数据分片和负载均衡来提高性能。 Proxmox VE 7.3 Ceph融合私有云建设案例利用了Proxmox VE的虚拟化技术,可以轻松地在同一硬件上运行多个虚拟机,并可以快速扩展和回收资源。通过使用Proxmox VE中的集成管道和API,计算、存储和网络资源可以快速部署、配置和管理,使IT管理员可以更加专注于业务需求。 总的来说,Proxmox VE 7.3 Ceph融合私有云建设案例提供了一种可靠、高效的私有云解决方案,将计算、存储和网络部署整合到同一硬件平台上,从而降低了成本、提高了效率、简化了管理。 ### 回答2: 随着数字化时代的到来,越来越多的企业需要构建私有云来保护自身的数据安全以及解决数据管理难题。而随着业界技术的不断进步,越来越多的企业开始采用融合架构来构建自己的私有云。本文将介绍一种基于 Proxmox VE7.3 Ceph 融合架构的私有云建设方案。 首先,需要了解的是什么是融合架构。融合是集计算、存储、网络为一体的一种分布式计算架构。融合架构通常包含至少一个虚拟化管理节点、若干个存储节点以及若干个计算节点。在该架构中,存储节点和计算节点通常是相互独立的,但是在融合架构中,这些节点被集成在一起,这样可以提高资源利用率和响应时间。相比传统的分布式计算架构,融合架构更加具有可扩展性和可靠性。 本方案采用的是 Proxmox VE7.3 Ceph 融合架构。Proxmox VE是基于Linux的虚拟化平台,可以支持多种虚拟化技术,如KVM和OpenVZ。而 Ceph 是一个开源的分布式存储系统,它具有高可靠性、高可扩展性和高性能等优点,非常适合融合架构。 本方案的目标是构建一个具有高可用性和高可靠性的私有云。在该架构中,使用 Proxmox VE7.3 作为虚拟化管理节点,Ceph 作为存储节点。 首先,需要搭建虚拟化环境,安装和配置 Proxmox VE7.3。搭建虚拟化环境需要在一台硬件服务器上安装虚拟化软件,这样可以在该服务器上运行多个虚拟化操作系统。通过 Proxmox VE7.3 可以创建虚拟机,并通过 Web 界面方便的管理虚拟机。 接着,需要搭建 Ceph 存储集群。Ceph 基于 RADOS 对象存储系统,可以提供多个存储节点的高可用性,这样可以在存储节点故障时不会导致数据的丢失。在本方案中,需要安装和配置 Ceph 存储集群,创建块存储和文件存储。 最后,需要将虚拟化环境和 Ceph 存储集群集成在一起,创建具有高可用性和高可靠性的私有云。 总而言之,Proxmox VE7.3 Ceph 融合架构是一种理想的构建高可用性和高可靠性的私有云的方案。它具有明显的优点,包括可扩展性、高可用性、高可靠性和高性能等。在实际应用中,需要根据实际情况进行调整,以达到最佳效果。 ### 回答3: Proxmox VE 7.3 Ceph融合私有云建设方案是一种高效、安全的云解决方案,广泛应用于不同类型的企业,从小型公司到大型企业都适用。 在此方案下,企业可以完全控制其数据中心和计算资源,从而更好地掌控其业务。 此方案的一大特点在于其融合架构,这意味着它集成了计算、存储和网络,可以更方便地管理和维护整个系统。企业也可以根据其需求来扩展或缩减其存储和计算服务。 Proxmox VE 7.3 Ceph融合私有云建设方案依赖于三个关键组件。首先是Proxmox VE管理界面,它提供了一个统一的视图以便于管理集群节点、虚拟机和存储服务。其次是Ceph存储池,它托管了企业数据并提供高可靠性和复原性。最后是虚拟机,它允许企业为其应用程序提供虚拟化环境。 在此方案下,企业可以轻松地管理其存储池和虚机,从而实现资源优化。此外,此方案还提供了企业级的安全性和隔离性,包括访问控制和网络隔离等功能,保护数据不受安全性威胁。 总而言之,Proxmox VE 7.3 Ceph融合私有云建设方案是扩展性和性价比非常高的方案,可以满足企业不断增长的需求,并为其提供高可靠性、安全性和可扩展性的存储和计算服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值