别光收藏,如果觉得不错请帮忙点个za ,在下这厢有礼了!
前面我们搭建一个NFS服务,但是只有一个服务节点,而且在配置的时候关闭了防火墙等安全组件。这样配置在生产环境是非常不安全的,只能用于学习。一方面是由于只有一个服务节点,该服务节点就成为单点了,服务器或者内部服务的任何问题都会导致NFS服务的不可用。另外一个如果没有防火墙,那么就存在被攻击的风险。
那么有没有一种方式可以提供一个高可用的,安全的NFS服务呢?
其实方法是有的,一种方法就是使用商用的存储设备,比如EMC的Unity。另外一种方法是自己通过两个服务器构建一个高可用的NFS服务。本文就以后一种方案为例来介绍如何构建一个可以应用在生成环境的NFS服务。
部署高可用的NFS服务
首先我们看一下如何解决单点故障的问题。单点问题的解决似乎还是比较简单的,就是通过两台服务器来承载NFS服务。两台服务器具有相同的配置,但只有一台处于工作状态,当出现工作服务器宕机等情况时,业务切换到另外一个服务器。
接下来我们详细看一下如何来部署一个高可用的NFS服务。具体物理架构如图所示,其中NFS服务由两台服务器构成,而且通过一个(或者多个)浮动IP来对外提供服务。在NFS服务的后面是一个共享存储,可以是磁盘阵列,或者是存储集群,如Ceph等,但需要保证两个NFS服务器共享存储资源即可。
当然,如果没有共享存储资源,我们也可以通过其它方案来构建一个高可用的NFS服务。关于如何构建,我们在后续的文章中会专门介绍,本文不再赘述。