10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

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

  • 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:242023
用户头像
Cherry倩芸 InfoQ高级策划编辑

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

关注

评论

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

30天肝出来的Java面试手册!登顶Github标星288k

Java 程序员 架构 面试 后端

太厉害了,阿里大佬用一篇神文把《数据结构与算法》讲的明明白白

程序员小呆

Java 程序员 架构师

百度智能云布局粤港澳大湾区,打造AI+工业互联网新高地

百度大脑

人工智能 百度

真香!肝完Alibaba这份面试通关宝典,我成功拿下今年第15个Offer

收到请回复

Java 面试 大厂Offer 20+大厂面经

阿里P8高级架构师开发高并发系统经验总结

Java 程序员 架构 面试 后端

Mock Service Worker:可用于浏览器的Mock服务

devpoint

Vue Mock msw 10月月更

【Android构建新工具】Bazel构建工具介绍

轻口味

android 构建工具 10月月更

Go 中 Nil 理论上有类型,实践中无类型

baiyutang

golang 10月月更

为何实现碳中和已刻不容缓?

CECBC

Leetcode 题目解析:287. 寻找重复数

程序员架构进阶

算法 LeetCode 10月月更

吹爆!阿里高工携18位架构师耗时57天整合的1658页面试总结太香了

Java 编程 程序员 架构 面试

“他”靠这份GitHub star过万的1121页图解算法成功杀进字节跳动

Java 编程 程序员 IT 计算机

阿里内部教程:千页Redis源码笔记,涨薪必备

Java 程序员 架构 面试 后端

ThreadPoolExecutor学习笔记

风翱

ThreadPoolExecutor 10月月更

链路层的封装成帧和透明传输基本问题

Regan Yue

计算机网络 10月月更

汽车的新能源之变,不仅在一块电池

脑极体

同事跳槽阿里,临走甩给一份上千页的Linux源码笔记,真香

Java 程序员 架构 面试 后端

架构实战营 - 模块五作业

Alex.Wu

限时开源!阿里内部爆款的顶配版Spring Security笔记

Java spring 编程 架构 面试

Prometheus 基本查询(二)时序数据的瞬时向量

耳东@Erdong

Prometheus 10月月更

生命中不重要的九件事情

石云升

10月月更

绿色电力交易是一场迫在眉睫,区块链记录每一笔绿色电力交易

CECBC

区块链与智能革命的未来

CECBC

linux之sudo使用技巧汇总

入门小站

Linux

Linux渗透:曲折渗透之路

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

Java通过socket和DTU,RTU连接工业传感器通信

叫练

socket Modbus协议 java DTU RTU

真香!肝完Alibaba这份面试通关宝典,我成功拿下今年第15个Offer

Java 编程 程序员 IT 计算机

秋招如何抱佛脚?2021最新大厂Java面试真题合集(附权威答案)

Java 编程 程序员 架构 IT

好家伙!华为内部Java系统优化笔记一夜之间跃居Github热榜第二

Java 架构 IT 计算机 知识分享

SpringBoot 实战:JUnit5+MockMvc+Mockito 做好单元测试

看山

Java Spring Boot Effective Spring 10月月更

CSS架构之Acss层

Augus

CSS 10月月更

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