企业目前上云,有多种选择,那么对于中小企业,从成本和规模考虑,如何搭建自己的私有云环境,这里根据公司的一个实践环境,尝试搭建一套小型私有云环境,功能并不完善,但基本能满足中小企业的需求。
硬件环境准备
环境的搭建,硬件成本是必须的,没有物理设备,那么巧妇难为无米之炊~~
服务器设备:
建议采购3台以上X86两路服务器,CPU配置根据需求,建议5218金牌。内存配置256G以上。配置SSD卡(32G以上、2块RAID-1)、SSD硬盘(512G以上、2块以上)、大容量4T的SATA硬盘(根据预算,配置8块以上,同时也考虑实际使用情况扩容)。配置万兆网卡2口2块(实现冗余)、配置千兆网卡4口2块(实现冗余)。
这样的硬件设备,配置较好的CPU、SSD硬盘、大容量SATA硬盘,可以实现计算和存储节点在一块,也有一些超融合的概念。
配套网络设备
万兆网络交换机
千兆网络交换机
软件准备
相信很多企业都在使用VMware的Exsi,VMware的价格还是比较高的,那么再新建一套虚拟化环境,从成本考虑采用开源的免费软件,这里选择了Proxmox,目前版本是6.0.(下载地址:https://pve.proxmox.com/wiki/Downloads)
Proxmox集成了Ceph功能,配合上述说的计算存储统一部署,那么选择Proxmox节省了很多部署上的问题,使得整个部署更简单。
有了虚拟化软件,那么还需要一套云管平台,统一来纳管资源,包括VMware和新的虚拟化资源池。
支持Vmware的云管平台很多,但是同时支持VMware和Proxmox的云管平台比较少,有些云管平台支持早期的Proxmox版本,但是最新的都需要自定义开发,这里选择了某厂商的一个云管平台,对Proxmox6.0支持并不完全。
迁移,如果需要迁移一部分VMware虚拟机到Proxmox,这里可以参考VMware导出OVA模板,在导出模板后加一个Ios后缀,上传至Proxmox,解压-导入。具体可参考:
https://blog.csdn.net/zebra2011/article/details/83046841
系统安装
Proxmox目前网络上有很多安装文档,大致雷同,这里就不在重复累赘,截取需要注意的几部分:
使用U盘或者刻盘安装都可以,基本都是下一步点击,这里注意:
选择系统安装硬盘,因为服务器中有多个盘,这里记得选择下。
网卡配置,记得这里有多块网卡,要区分做管理网段的网卡、业务网段网卡、Ceph集群网卡。
接下来按部就班完成安装即可。
假设目前环境中已经有ntp服务器,那么上诉服务器能链接外网,强烈建议
apt-get install ntp
如果设备你在内网那么ntp安装稍微麻烦一点,首先Proxmox基于Debian,那么要去Debian官网去下载相关软件包进行安装。https://www.debian.org/distrib/packages 搜索安装包离线安装,同时会有一些依赖,依次下载安装。
地址配置
每台设备安装完成后,根据需求,一般正式环境有管理网段、生产网段、Ceph网段。使用nano命令打开文件进行配置。
nano /etc/network/interface
配置网卡eth0的IP地址
auto eth0 表示网卡随系统自动请
iface eth0 inet static 表示网卡为静态ip地址
address 192.168.2.147 表示设置ip地址
netmask 255.255.255.0 表示子网掩码
gateway 192.168.2.1 表示网关。
配置多块网卡,记得根据接入的交换机,网关地址不设置。
理论上多块网卡配置业务网卡bond绑定,Ceph网络bond绑定,管理网卡可考虑单口
考虑Ceph模块的在线下载,那么编辑 /etc/resolv.conf 配置DNS
完成后重启网络服务即可。systemctl restart networking
注意:这里没有ifconfig命令,查看IP请用ip addr
集群配置
在每天设备的/etc/hosts配置好相应的IP和主机名,通过浏览器登录:https://IP:8006 登录名为:root密码为安装时候设置的密码。
选择其中一台主机来创建集群,这些都可以在页面上操作完成,然后把其余的几台设备添加进来,这时候建议ssh登录服务器,执行:
pvecm add IP
yes
查看输出,成功即可
输入:
pvecm status 查看集群状态
登录之前的
浏览器页面
这时候Proxmox集群就完成了。
Ceph模块安装
Ceph模块安装还是建议先把设备连接至外网,点击之前浏览器页面中每台主机的ceph选项,在外网通讯正常情况下会自动安装。
之前先进行网络配置或者检查网络配置
配置Ceph网卡,Proxmox其实是一个定制化的Debian。
nano /etc/network/interface
中选择万兆网卡,其实写入配置文件。
配置网卡eth0的IP地址
auto eth0 表示网卡随系统自动请
iface eth0 inet static 表示网卡为静态ip地址
address IP地址 表示设置ip地址
netmask 255.255.255.0 表示子网掩码
gateway 网关地址不需要,因为之前业务网卡已经配置过网关,这里选择另外网段的地址来作为ceph的网络
如果设备链接在外网,那么Proxmox6版本中,点击左侧ceph,自动会进行安装,4台机器都安装ceph。
另外一种方式,通过登录服务器命令行去安装:
pveceph install --version 需要的版本 --每个节点安装ceph软件包
pveceph init --network 192.168.10.0/24 初始化ceph的网络
pveceph createmon --创建mon
配置ntp服务,对于Ceph来说,ntp服务是必须的,如果有内网ntp可以通过设置ntpdate来进行时间同步,不然会一直报错。
之后登录网页管理控制台,在其余三个节点都创建mon。
之后再创建OSD,把目前系统上识别出来的硬盘,逐步添加:
注意:Ceph配置完成后记得创建pool,这也只需要页面点击即可,命名,size=3表示是三副本(正常),min_size表示最小数据副本,这里需要注意pg_num,一般要保证每一个硬盘上不少于30个,不然整个ceph集群中会有警告,那么根据自身的硬盘数量来设置,后期也可以改,那么就需要去重平衡,这个时间会比较久~
创建RBD存储池,点击左侧存储,添加即可,选择之前的节点即可。
选择一款云管平台,接入纳管VMware和Proxmox,编辑工单实现资源的分配、扩容、销毁等功能。
设计相关流程和工单:
熟悉VMware的,其实用Proxmox很容易上手,点击主机,右键选择新建即可:
选择Ceph存储,其他选项下一步根据实际情况来选择。
整个集群状态
虚拟机状态
常用命令
整个搭建过程并不复杂,登录服务器,常用命令如下:
qm是最重要的命令:
USAGE: qm[ARGS] [OPTIONS]
qm cloudinit dump
qm guest cmd
qm guest exec-status
qm guest passwd
qm guest exec
qm clone
qm config
qm create
qm delsnapshot
qm destroy
qm list [OPTIONS]
qm listsnapshot
qm migrate
qm move_disk
qm pending
qm reset
qm resize
qm resume
qm rollback
qm sendkey
qm set
qm shutdown
qm snapshot
qm start
qm stop
qm suspend
qm template
qm unlink
qm cleanup
qm importdisk
qm importovf
qm monitor
qm mtunnel
qm nbdstop
qm rescan [OPTIONS]
qm showcmd
qm status
qm terminal
qm unlock
qm vncproxy
qm wait
查看当前主机的虚拟机
root@pve1:~# qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
103 redhat6o11g stopped 16384 150.00 0
ceph命令,熟悉ceph的同学,ceph的命令在这边都是适用的。
如查看集群状态:
root@pve1:~# ceph -s
cluster:
id: 580f4d51-b80e-4842-b394-484cbd3ad0b6
health: HEALTH_OK
services:
mon: 4 daemons, quorum pve1,pve2,pve3,pve4 (age 4d)
mgr: pve1(active, since 3d)
osd: 40 osds: 40 up (since 3d), 40 in (since 4d)
data:
pools: 2 pools, 640 pgs
objects: 105.74k objects, 410 GiB
usage: 237 GiB used, 130 TiB / 130 TiB avail
pgs: 640 active+clean
-----------------------------------------------------------------------------------------------------------------------------
注意事项:
1.Proxmox中新建的虚拟机需要添加到HA集群。
2.云管平台纳管,需要有相应的自定义开发,Proxmox接入自动化实现目前还有问题。
3.Ceph集群偶尔会报节点不可用,这个时候只能重启故障节点,出现概率不高。
4.Proxmox迁移虚拟机的速度比VMware要慢不少。