简介:本文介绍了云存储网关新推出的高可用形态的文件网关的使用方式,并对于架构原理做了简要说明。
背景:
云存储网关支持通过NFS/SMB文件协议来访问OSS,用户可以在ECS中挂载访问存储在OSS Bucket上的数据。目前的云存储网关是单实例的,不支持高可用。其最近推出了支持跨可用区部署高可用网关,能够解决单点故障的带来的可用性问题。
基本使用:
创建网关
登陆云存储网关控制台,找到网关列表,右上角点击创建文件网关后,在弹出的页面中可以看到有“高可用”选项以供选择:
默认的是单机版网关,这里我们选择“是”,然后填写名称,点击下一步。
配置网关时,我们选择客户端所在的专有网络,然后选择不同可用区的交换机。这里注意最好选择和客户端同可用区的虚拟交换机,可以减少延迟。
随后点击确认,就能在网关列表中看到网关在部署中了:
等待一段时间,发现网关的状态变成“待配置”,就说明网关已经创建好了,下面我们就可以配置挂载IP了。
配置虚拟挂载IP
创建好网关后,我们点击网关列表里的“更多”->“前往配置”,或者直接点击对应网关->虚拟挂载IP即可进入配置页面:
可以看到当前还处于未配置的状态。这里虚拟挂载IP就是挂载点的IP,我们需要谨慎选择,且需要一定的规则选取。具体来说:
- 与创建网关时专有网络交换机所绑定的路由表条目不冲突
- 需要是私网地址(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16网段)
这里我们选择两个满足条件的IP:192.168.10.1,192.168.10.2,点击确认,等待一段时间点击刷新:
此时已经配置成功,返回网关列表看到网关状态已经变成“服务正常”:
创建缓存盘
我们需要创建缓存盘才能使用共享。点击进入网关页面,点击左边的“缓存”页面,创建缓存盘。这里缓存盘具体配置需要根据具体业务来定,我们选择创建了一个500 GB ESSD PL1的缓存盘:
创建网关共享
创建好缓存盘后,我们点击进入共享页面,点击右上角创建共享,在弹出的页面中选择需要绑定的OSS Bucket或前缀(可选),然后点击下一步。
在基本信息中,我们可以选择绑定的挂载IP,两个挂载IP分别对应了节点1和节点2,即“网关会将具体的共享服务部署在哪个节点上”。例如这里192.168.10.1对应节点1,我们选择192.168.10.1,网关会在节点1上启动我们配置好的共享,以提供挂载。
点击下一步,配置完成后就可以在共享页面中看到我们创建好的共享:
通过执行挂载命令就可以挂载该共享:
NFSv4:
mount.nfs 192.168.10.1:/gateway-test local-directory
NFSv3:
mount -t nfs -o vers=3,proto=tcp,nolock 192.168.0.0:/gateway-test local-directory
在ECS客户端中我们根据共享提供的挂载点就可以挂载访问OSS了:
基本架构分析
高可用文件网关的架构图如下:
可以看到,网关有两个节点1,2分别部署在不同可用区,用户VPC和云存储网关产品网络是通过两个弹性网卡打通的。那么虚拟挂载IP又是如何实现的呢?由图中可知,云存储网关配置了VPC中的路由表,指向两个不同的弹性网卡,而弹性网卡是可以绑定在网关1,2节点上的。通过这个配置,建立了虚拟挂载IP=>网关节点的对应关系。在故障切换的时候,只要修改对应的路由表项就可以实现虚拟IP的漂移。因此虚拟挂载IP的选取是十分重要的,一定不能与路由表中的条目冲突,否则会导致网络联通性问题。
在刚刚的使用中,我们选择虚拟挂载IP 1(192.168.10.1),在节点1上创建了一个共享,那么处于可用区A客户端在访问该共享的延迟就是最低的;同样,我们还可以选择虚拟挂载IP 2(192.168.10.2),在节点2上创建另一个共享,以供可用区B中的客户端使用。
当共享创建在节点1上时,节点2就充当了该共享的备节点,两节点间会进行高效的数据复制将该共享的相关数据同步到节点2上;当节点1发生例如ECS宕机等故障时,该共享会迁移到节点2以提供服务,且对外提供的挂载IP不变,我们仍然可以通过192.168.10.1访问网关服务,即使此时发生了故障切换。
同样的,对于创建在节点2上的网关(即选择第二个虚拟挂载IP 192.168.10.2),节点1也会进行相应的数据同步,当节点2发生故障时切换至节点1上。显然,这里不同于传统的主备架构,对于每个共享,“主节点”可以在两个节点中灵活选择,高可用网关通过灵活的共享部署配置提高了资源的利用率,达到了一种类似节点级双活,共享级别主备的效果。