前提条件:
简易家庭网络图如下所示
光猫与三台NAS网口1通过千兆交换机进行连接
三台nas网口2通过2.5G交换机组成内网
确保每台NAS的proxmox设置了单独的vmbr0 vmbr1
每台绑定的网口也一致
vmbr0与虚拟机共享,所以是lan
vmbr1就是wan了,连接光猫
确保三台nas设置的lan ip在一个网段
组成集群
组好后选择一个节点建一台ikuai虚拟机
添加lan以及wan,lan在上面(也就是vmbr0)
虚拟机磁盘设置小一点8个G就够了,随便放在三台的哪台上
装好ikuai,安装完成后设置lan网段与NAS一致,进行拨号,拨号设置完之后三台NAS应该都会有网,每台都先更新下系统,然后重启下.
上述只是为了保证装ceph时有网
组成集群后点数据中心的ceph按步骤安装ceph,最好选择
osd_pool_default_min_size = 2
osd_pool_default_size = 2
管理员与监视器三台都加上
每个node上装好大容量机械盘后先初始化一下
添加为osd
建一个ceph_fs
数据中心存储里建一个RBD
另外重要的需要关注的点,ceph存储需要每台节点的时间定期同步避免时钟不一致
于是你需要在每个node上在系统页面装好systemd-timesyncd
登录每个node
crontab -e
*/10 * * * * /usr/sbin/ntpdate ntp.aliyun.com
十分钟同步一次时间
好了,接下来可以愉快的玩超融合了
例如刚才建好的ikuai拨号虚拟机,我们把它的磁盘从本地移到刚建好的分布式存储ceph上,移动完之后删除源,重启
由于nas型号一致,网口一致,所以可以达到一个神奇的效果,我的ikuai拨号虚拟机可以做到不断网秒级切换物理节点(其它虚拟机也可以,主要是迁移内存中的数据,存储是在分布式存储ceph上所以无需迁移,模板方式的lxc由于限制迁移后需要重启)
可以说是做到了无感热迁移
配置下高可用HA
接下来就简单了,可以随意折腾,比如建台虚拟机(虚拟机磁盘及数据盘都放到ceph rbd 上),建好smb分享
测试高可用:
随机拔掉一块数据盘,你会发现你的smb分享仍然没有任何异常,虚拟机运行没有任何异常,并且你还能够正常通过smb写数据
ceph选项卡里会出现告警告诉你一块osd离线,过一会数据写入完成,再将数据盘插回,
osd过一段时间会刷新状态为可用并自动平衡刚才写入的数据
终极测试:
随机关掉一台nas模拟坏掉一台的情况
如果配置了ha并且关掉的一台上面存在虚拟机或者lxc,那么会在短暂的重试后自动迁移到存活的节点上并启动,你的smb分享也会正常工作并且可以读取写入
过一段时间再启动关掉的nas,ceph也会自动开始平衡
当然,更极端的情况比如三台NAS全坏了或者同时坏了两台不在我们的考虑范围内
那就得上更高一级别的异地多活了
在家庭环境中,若NAS用于存储重要数据,如代码、家庭照片、博客文章、密钥等,依赖单一台机器的硬件RAID或软件RAID存在一定的风险。即使能够成功重建,但在今天常见的10TB以上的机械硬盘中,重建时间可能会相当长。而在这段时间内,你的存储服务将完全不可用并且是否能够重建成功也是需要你担心的,这种情况显然是无法接受的。
因此,分布式存储系统如Ceph在家庭市场上有着很大的潜力。期望有厂商能够尝试多节点方案,以满足极客用户的需求。采用多节点方案还可以提供更大的扩展性,因为单一节点的硬盘位是有限的。
即使是对于最极客的用户,在家庭环境中也不应完全依赖RAID。RAID只是一种容错机制,而不是备份。企业级的解决方案是采用分布式存储,即使是仅三个节点也可构成分布式系统的一部分。