V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
a251922581
V2EX  ›  Linux

创业公司,生产环境,按软件负载,买几十台二手服务器,可用性如何

  •  
  •   a251922581 · 2017-07-25 17:42:52 +08:00 · 11798 次点击
    这是一个创建于 2712 天前的主题,其中的信息可能已经有所发展或是发生改变。
    也就几个机柜的量吧,算下来几十台服务器,大机房里淘汰下来的服务器,DELL R710、HP DL380 G7 这类的 2U Xeon 56xx 系列的,配置 Xeon X5650 *2, 8G DDR3 REG * 18 = 144G, 硬盘按需要买固态和 SAS 盘。
    软件的话反正 MySQL 之类的都可以做主从之类的高可用配置,挂了也没事。。就是虚拟机跑的挺多,都跑了线上业务,服务器老挂掉重启的话。。
    用过零星几台二手服务器,稳定性还不错,家里公司里放的都有。。主要图的是便宜,都买二手的,每年坏掉 10%算下来都便宜。。
    117 条回复    2017-08-04 18:35:00 +08:00
    1  2  
    jccg90
        101
    jccg90  
       2017-07-27 01:13:22 +08:00
    自己去托管机器的话,必须要搞虚拟化上私有云。。。然后跟公有云一样用,没什么区别
    davidshao
        102
    davidshao  
       2017-07-27 01:16:01 +08:00
    @pqee -.-楼上有层说的热瘫痪业务。
    其实比断电断网更恐怖的是明明花钱托管,但是他们却连基础都没做好
    我司前两年就被热崩掉业务...派人同城实地查证...我司租的机房像火炉...
    ╮(╯▽╰)╭
    msg7086
        103
    msg7086  
       2017-07-27 01:18:33 +08:00 via Android
    @incompatible 所以我不是说了吗,得有人针对云计算平台做开发来实现高可用弹性计算,而不是当成单机来用。
    杜甫我是很少看到会自己重启的,如果有,那大概是服务器出了问题,不出问题的话三五年不重启一点没压力的。

    我们的应用是内部跑到,所以没加监控,重启也不影响服务。我只是想说明 ec2 比想象中的要脆弱。
    incompatible
        104
    incompatible  
       2017-07-27 01:38:37 +08:00
    @msg7086 我还是不明白你这个“所以”是怎么得出来的结论。用单机(无论 EC2 还是物理机)跑应用本身就是错的,机架断电 /机房断电 /断网 /空调挂掉 /有人手欠按了一下你电源你未必就不会遇上,至少要在双机房(在 AWS 上就是一个 region 的两个 az)做高可用才是正确的做法。

    你偶尔登一次 EC2 发现 uptime 是个位数就可以说明 EC2 比想象中脆弱了? 你怎么知道自己不是遇到了 1-SLA 那段时间?
    msg7086
        105
    msg7086  
       2017-07-27 02:22:46 +08:00   ❤️ 3
    @incompatible
    你说的这些,两边的条件是一样的,唯一不同的是一边是自己的独服机器,另一边是公有云基础架构。
    同等条件下比较的话,独服的结构更简单,中间组件出问题的可能性更低。
    连 S3 都出现过因为程序原因导致崩溃的事故。

    你说的双机房双 AZ 是没错,但是并不是所有的服务都可以这样搞。
    我司的这个应用,是需要在企业内部防火墙上打开一个 IP 白名单并建立持久隧道的。
    要做多机高可用的话会搞得很复杂,白名单上你得开放多个 IP,或者做 Failover IP 然后设计程序去心跳。
    所以我们要求单机稳定。
    从我实际经验来看,独服比从设计上就是易碎的 EC2 更适合我们。

    当你有钱的时候,什么好玩的东西都可以上。anycast,自己买 IP 广播,全球多节点做 mesh network 高可用,当然是随便玩。没钱的时候呢,用 10%的成本做到 80%的收益,你就不得不选用那些你觉得「不正确」的做法了。我要一个月有几万刀的预算,傻子才去买二手服务器。

    =====

    还有 EC2 不保证单机可用性,只保证 AZ 整体可用性。
    你单机起不来,挂掉,自动重启,断网,都有可能发生。Amazon 是不管你的。我在一开始也就说过,云计算不适合单机应用长期跑。要么想办法做 HA,要么滚回到独服去,裸机也好私有云也好。
    zhuang
        106
    zhuang  
       2017-07-27 03:42:56 +08:00   ❤️ 6
    楼主的提问还是比较笼统的,具体方案选型还要看业务类型和长远发展规划。稍微有一点要注意的是,随着公司的发展,公有和私有方案之间的转换几乎等价于调整技术路线,对整个公司上下都是很大的考验。

    我最近一两年的工作重心基本在无人值守运维的层面,楼上各种观点我大致都可以看得出出发点,不同的经验和视角带来不同的结论是很正常的,我也稍微分享下我的理解好了。




    目前的虚拟化技术从原理上来说还是存在缺陷的,CPU/MEM 的虚拟化非常成熟,但 IO/Network 虚拟化效率一直不高。尽管 x86 领域 Intel 做了大量努力,但无论是公有还是私有方案,想用上最新技术都面临成本问题,新技术的效果如何还有待实践检验。

    对于公有云来说,高 IOPS 的方案永远是售价最贵的。通常来说,CPU/Network 加钱都好买,但高 IOPS 方案需要云服务商采用独立的实现,并不完全是共享转独享就能解决的。对于客户来说,对 IOPS 性能的需求很可能会左右公有还是私有方案的选择。

    再稍微解释一下为什么高 IOPS 非常重要。一般意义上评价云服务稳定性( availability )的指标是 uptime/downtime,99.9% SLA 一个月只允许 40 分钟的停机。但现在这个指标逐渐被更有意义的 RTO ( Recovery Time Objective )所代替了,uptime SLA 只是个统计平均值,而一旦出现故障的话,几乎没有可能在 40 分钟内恢复。即使一流的服务商,99.9% uptime 对应的 RTO 指标通常要降低一个数量级,而且这个指标通常与数据量正相关。

    以云服务为依托的灾难恢复,即使通过高带宽内网恢复,也会受限于 IOPS 性能,毕竟数据备份绝大多数情况下是加密存储,传输需要时间,解密又需要时间,就目前国内的服务水平来说,想用高 IOPS 存储节点做恢复,然后挂在到低 IOPS 生产主机上也是不现实的。

    这里还有一个衍生问题,就是业务上能够容忍多大程度的数据损失,如果 RPO ( Recovery Point Objective )是 8 小时,那就意味着每 8 个小时就要做一次备份。要求越高,对于存储系统和网络带宽的需求就越高。




    关于成本,创业公司老板理解的投资意义上的成本、项目经理预算控制意义上的成本是差别很大的。

    公司意义上采购的硬件会算作固定资产,成本核算的时候考虑的是折旧。通常服务器类硬件前三年会加速贬值,之后趋于稳定。采购二手硬件很多时候是降低成本的有效手段,而且考虑到长远的融资估值等等规划,私有方案并非不可接受。

    值得一提的是,服务器硬件淘汰的高峰大概在第五、六年。小部分原因是老旧硬件的技术支持和特性落后了,大部分原因是老硬件的能效比和性能密度过低,在满足情况下,需要机柜数量增加,加上电能开支经济上不如换新硬件了。某些 IDC 对于托管设备的功率消耗限制比较严,采购二手设备自建服务器需要注意。通常购买三年左右的硬件性价比比较高。

    长期运维的成本更多地取决于规模。我个人不是很赞同超售是公有云主要利润来源的观点,就我个人经验来说,公有云的规模给了云服务商足够的采购议价权,所以才能以相对低廉的价格提供入门级的服务。至于说服务质量差,大概是因为这个行业的门槛还是够高,竞争不激烈的结果,摆烂都有人用,哪有动力去提高。

    如果仅仅考虑前期投入加后期运营预算的话,也许云服务稍微有那么一些成本优势。但现在国内的现实是,带宽成本高昂,使得云服务商在定价的时候考虑的是更高效的带宽分配,各种虚拟主机的方案很少有合理的搭配,这才给了二手服务器硬件足够的生存空间。

    最后还有一个常常被忽略的成本,那就是风险成本。有很大一部分私有方案选型的理由是出于风险考量的,包括但不限于数据泄露、服务降级,甚至是过度依赖丧失议价权等等。



    关于人力,现在市场上几乎招不到靠谱的运维,高效的运维团队往往是开发等等的内部转型。所以总体来说,指望招人来解决运维问题不是很现实,初创团队这一点尤为明显。不过这也不代表云服务就是唯一出路。

    在谈及云服务不需要运维的时候,往往都会忽略一点,就是运行在云服务上的业务系统通常在设计之初就做了针对云服务的优化,比如采用微服务架构、API 分流和数据库切分等等。如果创业公司在初期选型的时候就决定私有方案,那么主要的开发任务就变成了自动部署、连续集成之类的。单纯说维护设备硬件,技术上不是难度很大的事情,维护不好硬件设备的基础系统,云服务的动态管理也肯定是一团糟。

    即使是从初始就使用云服务,也会面临更换运营商的可能。软件配置是否能迁移,网络拓扑如何修改,这些都是要考虑的运维问题。而自建方案也要考虑性能瓶颈,架构层面的优化同样分不开。当然我相信能够胜任一种方案的开发团队,换一种方案也能完成得很好。前面说两种方案的迁移成本高,主要是不同的技术路线带来的技术积累和人才培养是不同的,转换总归是种挑战。




    最后随便吐槽一句,在追求公有或者私有方案高可用性之前,还是先把自身技术实力练过关吧,不然瓶颈还是在自身,那真是选啥都一样了。
    lightening
        107
    lightening  
       2017-07-27 06:42:34 +08:00
    如果你觉得你省下的钱够雇一个全职高水平运维的话。
    难道你们作为创业公司有这么多闲着的人手?
    hienchu
        108
    hienchu  
       2017-07-27 09:17:23 +08:00 via iPhone
    除非有特殊原因不能上云,但从成本的角度,几十台机器用云平台一定是省钱的
    li02
        109
    li02  
       2017-07-27 09:23:32 +08:00
    @ryd994 Filecoin 还没 ICO 呢
    ipconfiger
        110
    ipconfiger  
       2017-07-27 10:42:40 +08:00
    200 个实例以下的话, 基本没有自建私有云的必要
    beneo
        111
    beneo  
       2017-07-27 11:03:19 +08:00
    创业公司还有运维啊
    wuxqing
        112
    wuxqing  
       2017-07-27 11:42:59 +08:00   ❤️ 1
    我刚才去看了下某云的成本:
    16 核 CPU、64G 内存、4TB 磁盘(普通云盘,非 SSD ),2 年的费用是¥60680.40
    如果是二手,成本在 6000
    LZ 没说具体多少台服务器,我假设是 50 台,那么 2 年成本(假设服务器 2 年淘汰):
    使用云的成本 303 万,二手服务器成本 30 万

    如果 LZ 的几十台服务器都是满负荷工作的,那么云主机数量你还要翻倍(或者买不超售)

    用不用云,几十台服务器都是要运维人员的。云就是避免了物理器件损坏带来的麻烦。
    像是网络故障、磁盘故障、系统死机这些都不会少的

    有人提到远程维护,服务器是有 IPMI 的

    我的观点:
    小规模、低负载可以用云
    不差钱可以用云
    onion83
        113
    onion83  
       2017-07-27 15:33:37 +08:00   ❤️ 2
    啥都不说,先上图:





    刚好折腾过二手服务器,可以和大家分享下经验:

    CPU:Xeon 5670 (2.93G) *2
    内存:三星 DDR3 1600 ECC 8G*12
    主板:DELL C6100
    存储:PERC H730P 阵列卡(全新) + 浦科特 M6S 256G *4 (全新)

    价格
    ---------------
    整套东西下来,大概 8.5k 左右

    性能
    ---------------
    就不拿 unixbech / iometer 之类的跑分了,列两个真实场景吧:

    1、gcc makeopts="-j25" gentoo 全新编译 Linux 4.8 内核,系统默认配置 5 分钟搞定。
    2、mongoperf 16 线程同时读写,IOPS 41000

    就性能而已,我是很满意的。

    问题
    ---------------
    1、噪音:因为这是 DELL 的密集型服务器(双块主板在一台 2U 服务器上,独立工作),卖家专门定制了一个机箱,并改造了电源,专门做了大 4 Pin 的电源模块插 CPU 风扇,但是因为主板没有 PMW 温控,所以 CPU 风扇的电压的固定的,12V 电压一开机,在办公室的环境下,真是飞机发动机的声音…… 专门买了两个降速线(电阻)声音才降下来。

    2、稳定性:机器就放在普通的办公环境中(白天有空调,晚上没有),冬天连续运行了一个多月,但是之后就故障频繁了,因为只是测试机,所以做了 RAID 0。linux 下开始出现 IO 错误么,重启后发现是其中某块 SSD 故障,关机一段时间,重启后又正常了。一开始是一个月 1 次,之后几乎一天就挂掉。因为浦科特是 1 年直接换新的,所以也不打算细查原因,换新后,情况依然,最后不折腾了,彻底开始吃灰。想跑分做实验的时候就开 aws 或者 aliyun 的实例,按时付费。

    我觉得问题可能出现在散热上,首先三星 8G 的 DDR3 内存披着铝马甲,待机温度就有 46 度,CPU 满负载的时候 97 度,狭窄的机箱就一个 12 寸机箱风扇,我认为根本是压不住。

    这里衍生出一个问题:SSD 是否有工作温度限制?官方的资料上限是 70 度。

    结论
    ---------------
    1、要玩二手服务器可以,一定要处理好噪音和散热,否者非常让人抓狂。
    2、最好有自己的机房,可以 VPN 接入公有云,但我始终认为这种不稳定的私有云,只适合处理“低价值”数据。
    3、最后注意电费,一套双 56xx 系列的机器功耗大概 200w 左右。几十台机器大规模运营,公司的电表够不够过那都是要考虑的。
    Sapp
        114
    Sapp  
       2017-07-28 11:31:15 +08:00
    @onion83 ssd 做阵列寿命不是损耗非常快么?
    onion83
        115
    onion83  
       2017-07-28 13:01:57 +08:00
    @Sapp 看写入的数量
    popkara
        116
    popkara  
       2017-07-28 13:45:04 +08:00
    @onion83 看上去是高热量的问题,服务器本来就是要用暴力扇,你给减速了怎么玩?机箱也不能随便定制的,这么一搞就不是服务器了。
    bopomofu
        117
    bopomofu  
       2017-08-04 18:35:00 +08:00
    对比各种方案的总成本:服务器(硬件、软件) + 存储(硬件、软件)+网络(软硬件、带宽)+人力成本+ 机房费用(场地租金、电费、散热)
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2729 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:54 · PVG 11:54 · LAX 19:54 · JFK 22:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.