写点什么

一个实践:如何提升云主机稳定性及防御能力

  • 2016-12-18
  • 本文字数:2596 字

    阅读完需:约 9 分钟

云计算时代到来,IDC 行业的服务商和用户也开始成批转向 IaaS 服务。从国内 IaaS 服务目前的应用形式来看,云主机、云存储用户采用率最高,使用比例达 70% 以上。

但云主机厂商所提供的产品质量却参差不齐,此外,用户对于云主机各方面性能的需求也不尽相同。例如对于广大的中小企业来说,用户对网络 I/O 有着更高带宽、更低延时的普遍需求。

通常情况下,对云主机通用处理能力的评测主要包含以下指标:vCPU 运算处理能力(整数运算和浮点数运算)、内存处理能力(数据的读写速度)、硬盘处理能力(随机数据读写速度)、网络传输能力(流出与流入流量的 TCP 吞吐量)、在线可用性(主机可远程访问时间的比例)。市面上围绕以上五大部分进行的评测报告也是多如牛毛。根据对多份调查报告的统计, 网络传输能力和硬盘处理能力是用户评定云主机优劣的两项最重要指标。

首先是对云主机 IOPS 的测定

因此,为了检测自身 IO 性能,比格云近期使用了 fio 测试工具,在“4K、512K”的数据块、iodepth 队列深度 128 条件下,随机申请了一台比格云 Linux 云主机(CPU-4 核、OS-CentOS 6.8 64bits、Mem-8G、数据盘 200G),对其数据盘 IO 进行测试。

按照如下命令测试数据盘裸设备 (/dev/vdc1):

#测试随机读 IOPS:
#fio-direct=1-iodepth=128-filename=/dev/vdc1-rw=randread-ioengine=libaio-bs=4k-size=10G-numjobs=64-runtime=1000-group_reporting-name=randread.iops-output=randread.iops
#测试随机写 IOPS:
#fio-direct=1-iodepth=128-filename=/dev/vdc1-rw=randwrite-ioengine=libaio-bs=4k-size=10G-numjobs=64-runtime=1000-group_reporting-name=randwrite.iops-output=randwrite.iops
#测试顺序写吞吐量:
#fio-direct=1-iodepth=128-filename=/dev/vdc1-rw=write-ioengine=libaio-bs=512k-size=10G-numjobs=64-runtime=1000-group_reporting-name=write.throughput-output=write.throughput
#测试顺序读吞吐量:
fio-direct=1-iodepth=128-filename=/dev/vdc1-rw=read-ioengine=libaio-bs=512k-size=10G-numjobs=64-runtime=1000-group_reporting-name=read.throughput-output=read.throughput

最终测试结果为:随机读 IOPS 为 131194,随机写 IOPS 为 79128(4K 数据块),以及顺序读吞吐量为 6.2GB/s,顺序写吞吐量为 2.2GB/s(512K 数据块)。

在对网络速度进行测试过程中,也是针对一台 Linux 云主机(1 个 IP、10M 带宽、CPU4 核、内存 16G、数据盘 300G),用 speedtest_cli 命令检测,检测到网络实时下载和上传速度能达到 191.33 Mbit/s 和 11.17 Mbit/s。

IOPS 和网络通道是制约云主机性能的两大瓶颈,而这一结果也使得比格云的云主机相较于传统机型,能提供更多的用户场景和用户体验。

对云主机稳定性的打磨

IOPS 指标对于数据库类型的应用来说十分关键,但对云主机而言,速度只是反映其整体性能的一个维度。除此之外,还包括稳定性和安全性等指标。

在 11 月 1 日比格云开放运营前两个月,比格云先进行了一轮免费内测,主要对性能(IOPS 表现)和稳定性(负载均衡、防攻击等)做实测。根据内测用户提交的主机试用申请和反馈数据,比格云又进行了为期两个月的优化升级,以加固云主机的稳定性,并增加了许多便于用户操作的实用功能,例如定时器、监控告警通知、可视化防攻击查询等。

云主机非常依赖所在物理机的稳定性,硬件故障是影响物理机稳定性的一个重要因素。因此,比格云主要通过提供硬件上的冗余来隔离单一硬件故障对云主机稳定性的破坏。例如,一块电源模块的损坏甚至机柜一排电力的中断都不会影响到物理机的电力供应;又或者,尽管在其中一块磁盘损坏的情况下,通过 Raid+hotspare 的磁盘阵列也可以做到对用户毫无影响,并且在很短的时间内自动恢复成原来的冗余程度。

除此之外,云主机稳定性还与网络链路的高可用性有关。相比于单链路网络,双链路网络在一条链路出故障时,仍保证有另一条链路可用,实现对单点网络故障的屏蔽。比格云将分布在不同机柜的交换机互相做堆叠,服务器上的多个网卡分别接入同一个堆叠组下的不同交换机做 bonding(802.3ad)。正常情况,同一个 bonding 下的多条链路可同时工作。如果某一条链路异常,流量会自动重新分配到其他正常链路,最大程度保证用户网络的高可用性。

目前,比格云只有一个节点,但全网双链路多冗余架构意味着,在目前比格云的架构内,任何单台设备或链路的物理故障都不会影响用户的正常使用。在数据存储上,比格云采取了三重数据保护策略,第一,数据盘采取 Raid 磁盘阵列防止因物理损坏引起的数据丢失;第二,为用户提供本机内的快照;第三,自动为用户定期做远端备份。同时,比格云已经在筹备建设第二个节点,并将在此搭建上进行异地灾备的网络架构。

比格云防御架构

优化升级后,比格云网络冗余架构能有效屏蔽网络故障。云防火墙的架设,也可针对 DDoS 攻击做特别布防。
DDoS 攻击、误操作、病毒都会导致数据丢失的风险,因此比格云提供了 20G 的基础 DDoS 防护,能够检测清洗 SYN Flood、ACK Flood、UDP Flood、ICMP Flood、NTP/DNS/SSDP 反射攻击等常见的攻击类型。检测设备对进入核心交换机的流量进行旁路检测,发现攻击后对被攻击的 IP 进行引流,然后由专门的设备完成清洗,再回注到核心交换机上。

此外,架设云防火墙,可为每个连接公网的云主机提供访问控制策略,提高发布到 Internet 的云主机访问安全性。比格云认为,云防火墙是提供给用户部署于用户虚机外部的软件防火墙,允许用户通过控制台操作。因此,需要满足简单易懂,灵活操作、批量操作、快速部署等需求。目前,市面上的云 WAF,大多是基于 SaaS 的 Web 应用防护系统,可实时拦截 SQL 注入、XSS 跨站等攻击。在比格云服务界面内,用户可定义不同策略的云防火墙,为不同业务分组云主机提供不同访问控制策略。

为游戏、视频、移动应用等领域创造的可能

相比于自建服务器,云服务的最大优势就是可以快速部署、弹性伸缩。在对秒级创建,随时申请和使用的便捷部署探索中,比格云的服务可让用户根据业务的不同对主机配置、带宽大小自由升级、弹性扩展。

在互联网时代,云主机所提供的计算资源是构建各种应用的物理基础。比格云团队中的第一代云计算程序员见证了 AWS 的时代,对底层架构和产品建设的持续打磨的,也让这个团队能随着成长,不断满足游戏、视频、移动应用等领域的行业客户对云主机的性能指标、网络端口的稳定性、数据信息的安全性以及主机抗攻击性能等严苛要求。

2016-12-18 19:242174
用户头像
Cherry倩芸 InfoQ高级策划编辑

发布了 51 篇内容, 共 24.0 次阅读, 收获喜欢 34 次。

关注

评论

发布
暂无评论
发现更多内容

Doris Summit 2022 正式启航,演讲议题开启征集

SelectDB

开源 Doris 峰会 summit SelectDB

从保险系统升级谈微服务架构的弊端

勇士

外包 微服务 系统架构 保险 运维开发

前端培训班学习真的靠谱吗?

小谷哥

零基础转行前端培训学习好吗?

小谷哥

深入浅出学习透析Nginx服务器的基本原理和配置指南「Https安全控制篇」

码界西柚

nginx https ssl 11月日更 SSL/TLS 协议

华为云智能云接入ICA,助力企业轻松上云

科技怪授

数字化转型,要把功夫炼到任督二脉

脑极体

边旅游边赚钱!数字游民离不开远程控制软件

RayLink远程工具

远程控制软件 远程办公软件 远控软件 RayLink 远程控制连接

Python3.10的开发环境的搭建

千锋IT教育

1000道最新高频Java面试题,覆盖25个技术栈(多线程、JVM、高并发、spring、微服务、kafka,redis、分布式)从底层原理到架构!

程序知音

Java Java 面试 大厂面试 java架构 后端技术

“PKS+生态(智方舟)加速营”圆满结束,九科信息与中电智方舟达成战略合作

九科Ninetech

Wallys//IPQ6010/IPQ6018/IPQ6000/industrial wifi6 router/DFS/M.2/ 2x2 2.4GHz/5GHz

wallysSK

IPQ6010 ipq6018 IPQ6000

低代码平台中的“模型驱动”与“表单驱动”有何区别?

优秀

领域驱动模型DDD 中台架构 表单设计 低代码平台

出海有“云”!华为云全球加速助力跨国企业提升网络体验

科技怪授

Serverless 的前世今生

阿里巴巴云原生

阿里云 Serverless 云原生

真相了!GitHub不光能学代码,还有这些...

程序员小毕

GitHub 程序员 架构 面试 程序人生

唯一获奖容器厂商!灵雀云斩获2022信创“大比武”通信赛道大奖

York

容器 云原生 数字化转型 国产化 信创云

高标准企业级安全性,华为云会议为线上沟通保驾护航

秃头也爱科技

Meetup预告:SeaTunnel在天翼云数据集成平台的探索实践

Apache SeaTunnel

大数据 技术分享 数据同步 数据集成 Apache SeaTunnel

前端培训后的学习方法有哪些

小谷哥

Unload data from Databend | 新手篇(4)

Databend

databend

打造用户喜爱的产品,离不开需求助推器|影响地图Impact Mapping

Uncle Leo

敏捷开发 软件工程 设计思维 用户故事地图 影响地图

前端培训入行35岁程序员有什么奔头

小谷哥

大数据培训的就业前景怎么样

小谷哥

在 Spring 生态中玩转 RocketMQ

Apache RocketMQ

RocketMQ spring could

中国银河证券:缺少DevOps,企业数字化转型就是带着脚镣跳舞

嘉为蓝鲸

DevOps 数字化转型 金融 证券

【Go】力扣 - 剑指 Offer 第五天 - 二维数组中的查找

陈明勇

Go 数据结构与算法 力扣 11月月更

7分钟带你细致解析4个Java算法必刷题

好程序员IT教育

Java

一个实践:如何提升云主机稳定性及防御能力_服务革新_Cherry倩芸_InfoQ精选文章