写点什么

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

  • 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 的时代,对底层架构和产品建设的持续打磨的,也让这个团队能随着成长,不断满足游戏、视频、移动应用等领域的行业客户对云主机的性能指标、网络端口的稳定性、数据信息的安全性以及主机抗攻击性能等严苛要求。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

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

关注

评论

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

万物皆为向量:在线向量召回工程服务化实践

爱奇艺技术产品团队

深度学习 推荐 向量

赋能数据中心绿色低碳 浪潮云洲有实招

浪潮云

云计算

替换及重置Homebrew默认源以及M1安装

一个大红包

8月日更

Flutter 与 Swift - 在创建 iOS 应用程序时应该押注什么技术?

iOSer

flutter swift ios开发

Qunar 酒店 NodeJS 覆盖率收集实践

Qunar技术沙龙

大前端 nodejs Node JavaScrip

浅谈云上攻防——Kubelet访问控制机制与提权方法研究

腾讯安全云鼎实验室

k8s 云安全

如何在Android 8.0以下高效地复用图片?

爱奇艺技术产品团队

android 开发 图片存储

ToB迎来上市潮,谁是下一个IPO黑马?

ToB行业头条

IPO

Activiti数据库表结构

金陵老街

阿里P8耗时一个月肝出这份26W字Java面试手册,在Github标星30K+

Java~~~

Java spring 架构 面试 JVM

NodeJs深入浅出之旅:模块🌀

空城机

大前端 Node 8月日更

2021年8月数据库流行度排行:数据库道路漫漫其修远兮,为用户创造核心价值是正道

墨天轮

数据库 TiDB oceanbase 国产数据库 达梦

云原生的能源数据管理平台方案|EMQ 映云科技&华为云联合直播内容回顾

EMQ映云科技

华为云 能源 Cloud 碳中和 emq

凭借一份“面试真经pdf”,我四面字节跳动,拿下1-2级offer

Java 程序员 面试 后端 计算机

使用 GitHub Issues 来写博客,真香。

彭宏豪95

GitHub 写作 博客

云小课|MRS基础原理之ClickHouse组件介绍

华为云开发者联盟

mapreduce 开源 Clickhouse EI企业智能 列式数据库

“性能混合架构”了解了吗?英特尔Alder Lake惊艳来袭

科技新消息

Github高分爆赞,一天遭狂转 10w+ 次!20万字的Java面试手册来了

Java~~~

Java 架构 面试 JVM 架构师

GitHub再现神作,阿里大牛面试30家大厂,整合出这份Java面试手册

Java~~~

Java 架构 面试 JVM 架构师

图解:为什么非公平锁的性能更高?

Java 程序员 面试 后端 计算机

深度解读鸿蒙轻内核CPU占用率

华为云开发者联盟

鸿蒙 cpu 任务 CPUP LiteO

超赞!GitHub上百万下载量Java面试手册!颠覆你的认知

Java~~~

Java 架构 面试 网络 架构师

鲲鹏基础软件开发赛道openLooKeng赛题火热报名中,数十万大奖等您来收割

华为云开发者联盟

鲲鹏 openLooKeng

全靠这份阿里大佬的“Java进阶面试手册”收获蚂蚁offer

Java~~~

Java 架构 面试 算法 JVM

上线半天下载量破100W!美团内部微服务进阶笔记,超详细

Java 架构 面试 微服务 美团

记一次10人跨组织、跨地域的开源协作经历

腾源会

开源 腾讯 腾讯开源

基于java springboot vue活动报名系统源码(毕设)

清风

Java springboot elementUI 毕业设计

从头到尾没有一句废话!阿里Redis神级手册,从基础到源码

Java redis 编程 面试 阿里

阿里大牛耗时三年整理出来的4588页Java面试诛仙手册,已全面开源

Java~~~

Java 架构 面试 JVM 架构师

一周信创舆情观察(8.9~8.15)

统小信uos

聊聊 Kafka: 在 Linux 环境上搭建 Kafka

编程susu

Java IT 计算机 编程开发 技术宅

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