考虑到目前国产服务器还没有支持nvme磁盘的raid卡,如果是从软件层去考虑高可用有什么方案吗?mdadm、lvm-mirror这两个在生产上可行吗?
NVMe盘如果通过RAID卡,性能就会有很大的折损。通常NVMe盘都要直通CPU,其次是通过PCIe switch去连接,才能发挥高性能。
在这种情况下,应用层做高可用或者部署在分布式存储上,更合适。
单机内做RAID,可靠性还是低。
理论上NVME 相比机械硬盘具有更高的稳定性,NVME不存在机械活动期间,可承受的震动是HDD的40倍,在实验室模拟中,SSD可承受自身重量1,500倍的冲击,而HDD可承受的冲击不超过350G,G指代重力加速度,相当于9.8m/s2的速度冲击货品。业 内普遍认为SSD寿命可达10年。现实使用中,实际擦写次数只到最大擦写次数的2%,绝大多数SSD盘因为达到最大可擦写次数而失效的可能性几乎为零
收起不考虑拉远,在计算节点上用NVMe盘,高可用的话可以用以下几个办法
1:应用层面高可用,例如数据库的高可用
2:考虑用LINBIT的DRBD,可以在两个节点中选择两块盘做镜像,支持同异步复制,Linux内核级速度快不需要装代理,类似于网络RAID。
目前在国产服务器中使用NVMe硬盘已经有支持的RAID卡了,RAID卡选用9560-16i的情况下,可以支持NVMe SSD做硬RAID,但是最多支持4块NVMe SSD做硬RAID。
若采用软RAID方案的话,要考虑后续运维复杂度。单台服务器的话,采用软RAID是可行的,但是数十台乃至更多设备的话,不管软件层采用何种高可用方案,也不管是多少副本,达到一定规模后,当出现硬盘故障率攀升势头时,可能都是灾难性的。若采用硬RAID方案可能运维复杂度会稍微减轻一些。
视此服务器用于哪种软件,例如分布式存储、分布式数据库都可以通过多副本来保障高可用,raid本身由于在磁盘之上多了一个链路环节,故障概率是比单纯硬盘要大的,只不过一般考虑磁盘故障的情况比较多。
收起针对国产服务器还没有支持NVMe磁盘的RAID卡,从软件层去考虑高可用,确实有一些方案可以考虑。其中,mdadm和LVM-mirror是两个比较常用的方案。
mdadm是Linux下的一款软件RAID工具,可以将多块磁盘组合成一个RAID阵列,提供数据冗余和高可用性。mdadm支持多种RAID级别,包括RAID 0、RAID 1、RAID 5、RAID 6等。在使用mdadm时,可以通过配置文件来实现自动化管理,也可以通过命令行工具来手动管理。
LVM-mirror是Linux下的一款逻辑卷管理工具,可以将多个物理卷组合成一个逻辑卷,并提供数据冗余和高可用性。LVM-mirror支持多种镜像模式,包括单向镜像、双向镜像和三向镜像等。在使用LVM-mirror时,可以通过配置文件来实现自动化管理,也可以通过命令行工具来手动管理。
这两个方案在生产上都是可行的,但需要注意的是,它们都是软件实现的RAID,相比硬件RAID,性能可能会有所下降。此外,如果使用mdadm或LVM-mirror实现RAID,需要保证系统中的所有磁盘都是可靠的,否则可能会导致数据丢失。
总之,如果国产服务器还没有支持NVMe磁盘的RAID卡,可以考虑使用mdadm或LVM-mirror等软件方案来实现高可用。但在使用这些方案时,需要仔细评估其性能和可靠性,并采取相应的措施来保证数据的安全性。