searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

SDC到天翼云专线访问存储高可用方案

2023-10-08 08:10:45
11
0

专线通存储虚拟机高可用方案

 

一、需求背景

客户IDC机房的虚拟机需要通过专线访问公有云的对象存储。同时提供高可用保障。

 

二、方案详情

采用在公有云资源池新建两台虚拟机,在虚拟机内部配置NAT规则。使用NAT方式访问公有云对象存储。操作流程如下:

  • 在和客户IDC专线打通的VPC内新建两台虚拟机(S6系列);
  • 在虚拟机同子网申请一个vip,绑定两台虚拟机的虚拟网卡;
  • 在两台虚拟机里面安装部署keepalived,keepalived的vip使用上一步申请的vip;
  • 在两台虚拟机里面配置nat规则,使得专线可以通过访问vip来访问公有云对象存储服务。

1)安装iptables

        #安装iptables

        yum install -y iptables

            yum install -y iptables-services

注:如果服务器或云主机不能连接yum源,需要手工安装iptables和iptables-service

安装完成后,检查iptables是否安装完成:

rpm -i iptables*

确认是否iptables和iptables-services安装包的状态都是“installed”状态。

检查iptables服务状态是否为“active”。

systemctl status iptables

2)开启转发功能

            echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf

            sysctl –p

3)配置iptables规则

         a、iptables -t nat -A PREROUTING -d {虚拟IP地址}/32 -p tcp -m tcp --dport {存储端口} -j DNAT --to-destination {存储地址}:{存储端口}

         b、iptables -t nat -A POSTROUTING -o {网卡名} -j SNAT --to-source {本机实地址}

样例:

             Bucket域名( VPC内网访问 ) :xxx

             虚拟IP:xxx

             虚机A地址:xxx

             虚机B地址:xxx

  • 虚机A配置:

iptables -t nat -A PREROUTING -d 虚拟IP -p tcp -m tcp --dport 80 -j DNAT --to-destination bucket域名

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 虚机A IP

  • 虚机B配置:

iptables -t nat -A PREROUTING -d 虚拟IP -p tcp -m tcp --dport 80 -j DNAT --to-destination bucket域名

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 虚机B IP

4)修改iptables配置文件

检查两台NAT主机的iptables配置文件,如果/etc/sysconfig/iptables配置文件中含有如下规则:

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

需要在/etc/sysconfig/iptables配置文件中加“#”注释掉,或者删除

5)永久保存iptables配置

持久化保存iptables配置,避免服务器或云主机重启之后,配置丢失,导致重新配置。

持久化iptables配置:

iptables-save > /etc/sysconfig/iptables

注:两台NAT主机都需要保存配置

6)设置iptables开机自启动

# systemctl list-unit-files|grep iptables

iptables.service                              disabled

 

# systemctl enable iptables.service

Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.

 

# systemctl list-unit-files|grep iptables

iptables.service                              enabled

 

7)测试验证

curl 虚拟ip

返回如下结果即为正确:

<?xml version="1.0" encoding="UTF-8"?><ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>anonymous</ID><DisplayName></DisplayName></Owner><Buckets></Buckets></ListAllMyBucketsResult>

0条评论
0 / 1000