是的,我也是白痴。 但这我没想到自己。 看来“不是结婚的第一年”。 似乎正在阅读大量有关容错,冗余等方面的精明文章,有些合理的文章甚至自己在这里写过。 十多年来,我一直是
ua-hosting.company品牌下的托管服务提供商的首席执行官,并在美国荷兰和美国(仅在一周前)在英国提供托管和服务器租赁服务(不要问为什么叫ua,答案可以
在我们的自传中找到) ),我们向客户提供不同程度的复杂性的解决方案,有时甚至连我们自己也很难理解我们所做的事情。
但是,该死的……今天我超越了自己。 我们自己彻底删除了网站和帐单,并删除了所有交易,有关服务的客户数据以及其他内容,这是我的错,我自己说“删除”。 你们中有些人已经注意到了这一点。 它发生在今天,星期五,美国东部标准时间(EST)11:20。 此外,我们的站点和计费不是托管在同一台服务器上,甚至都没有托管在云中,两个月前我们离开了数据中心云以支持我们自己的解决方案。 所有这一切都位于两个虚拟服务器的容错地理集群中,这两个虚拟服务器是我们的新产品
VPS(KVM),带有专用驱动器 INDEPENDENT VPS,分别位于欧洲和美国的两个大陆。 一个位于阿姆斯特丹,另一个位于华盛顿附近的马纳萨斯,这是因为DC位于两个可靠的数据中心中。 内容不断且实时地被复制,并且容错基于正常的DNS群集,请求可以到达任何服务器,其中任何一个都充当MASTER,并且在无法访问的情况下,它承担第二个任务。
我认为这只能杀死一颗陨石,或者其他与全局陨石类似的东西,后者可以同时禁用两个数据中心。 但是事实证明一切都变得简单了。
如果我们是白痴,那可能是我们自己。 在世界上,只有两个无限的事物-宇宙和人类的愚蠢,如果第一个是有争议的,第二个就变得显而易见。
我一直坚持声音冗余的原则,我不是那些会喊“我因一个小时的闲暇而损失1000美元”的人之一,但同时我为整个基础结构支付了15美元。 不,我当然不会输那么多。 虽然,也许有时候我输了。 大多数对此大喊大叫的白痴甚至都没有想到,从长远来看,每秒停机时间可能会造成1000美元,10000美元甚至100万美元的利润。 怎么了 这很简单,此时客户可以来接他,这将是他的第一笔订单,将来会为您带来数百万美元的收益,因为您始终有机会向他证明自己的独特性并赢得他的推荐。 并且,如果他看到错误504或“对不起,但是服务器当前不可用”,则该交易可能不会发生。 这发生在我们身上,不,不是在拜访重要访客期间发生504错误,而是第一次。 纯粹是偶然,我发现自己在正确的时间在正确的位置,当时大客户(例如Kinopoisk的创建者Dmitry Sukhanov)访问了我们的网站,尽管这不是一个很好的例子,因为他只与我们合作了2年,直到Yandex并没有以6000万美元的价格购买它。 因此,只有Dmitry而不是我们才吸引了数百万的用户,但我们很高兴与这样一个有趣而有用的项目合作,这反过来使我们成为广告,并提供了许多新的和满意的客户。
总的来说,我为什么要这样。 损失和必要的冗余应合理评估。 尽管有损失一百万美元以上的风险,但是您需要查看发生此类事件的可能性。 最有可能的是,如果德米特里(Dmitry)遇到1次错误504,就不会发生任何严重事故,然后他再次回到我们这里。 怎么了 当时,我们可能是少数能够在乌克兰提供1+ Gb / s连接,高质量和最小延迟,价格便宜的国家之一,这对于当时的资源极为重要,以确保乌克兰观众能够获得高质量的访问权限。门户网站,因为国外流量质量较差,但价格仍然很高。 因此,确保解决方案的唯一性很重要,那么正常运行时间对您来说并不是很关键。 而且由于我们是独一无二的-我们可以(甚至现在)允许拥有数千个服务器客户端的自己空闲数小时或更长时间。 我们不需要大型的容错云就可以提供99.9999%的正常运行时间,而不必花很多钱,因为即使它们掉落了,如果它们掉落了,那么实践也显示了很长时间,因为导致无法访问的问题可能并不常见。 如果出现漏洞,它们将无济于事。 他们不会帮忙。
因此,我们为自己建立决策非常简单。 我们在Dell R730xd节点上采用了两个VPS(KVM),这与我们向客户提供的VPS(KVM)相同,因为这是我们的最初原则-为人们提供我们所用的东西:
VPS(KVM)-2 x Intel Dodeca-Core Xeon E5-2650 v4(24核心)/ 40GB / 4x240GB SSD RAID10 / Datatraffic-40TB-每月$ 99起,如果您发现促销,就可以
享受首次付款的30%折扣 广告文章中的代码。
一个在荷兰,另一个在美国。 是的,在这些节点上,除了我们的站点和计费之外,还有两个真实的客户,每个客户在理论上都会影响我们站点的运行,而实际上却无法做到。 为什么-它写在一篇广告文章中,我将不在这里第二次详细介绍。 现在不是这个。 通常,该解决方案不比专用入门级服务器差,并且可以处理非常大的负载。
除其他外,它具有容错能力,可以实时不断地复制数据。 如果一台服务器不可用,则第二台将扮演MASTER角色。 理想情况下,您可以做到这一点,以便美洲服务器处理来自美洲大陆的流量,以及来自荷兰服务器欧洲,俄罗斯和亚洲的流量。
我们在计费WHMCS(一种公共许可产品)中将服务器绑定到我们的帐户中,但该计费产品是为我们改编的,因为包括我们在内的全世界许多托管服务提供商都在使用它,因为编写我们自己的会计系统是坦率的(在我们的情况下) 。 尤其是在通过将您自己的模块写入现有账单来实现所需功能的情况下,这增加了您的容错能力,因为它降低了严重漏洞的风险。 毕竟,无论是独自还是什至是一个小团队,您都无法编写出比现有的系统更可靠的系统。现有的系统是由一群簇拥的开发人员多年来编写的,那里已经削减了成千上万的错误,现在,开发人员每月只需要30美元的许可证费用,每年就可以收到数百万美元。可能会花在进一步的改进上。
说到严重漏洞,我们的程序员最近在编写一个服务模块时犯了一个错误,该服务模块可以访问只读记帐数据库,该数据库由一个独立的pentester发现,要求我们为发现的错误支付550美元,因为这是一个SQL漏洞。 -注射:
SQL注入是在OWASP的前10名中,我给您写了大约550美元的金额,这是最低金额,因为数据库受到了影响,从而危及了用户数据。
但是有些金额最高可达10,000美元作为奖励,与vk.com一样。
当然,我们支持这一开始并毫无疑问地支付了赔偿。 由于我们的程序员检查了所提供的数据并确认存在问题,因此确定了戊酯的合理性。 毕竟,我们还没有在状态中维持自己的状态,并且这项工作需要大量的知识和时间,因为它包括一系列研究:
整个资源的安全审核,这是根据以下参数进行的检查,我们在审核结束时的报告包括:
•A1代码注入
•A2错误的身份验证和会话管理
•A3 Crossite脚本
•A4访问冲突
•A5不安全配置
•A6敏感数据泄漏
•A7攻击防护不足
•A8跨站点伪造
•A9使用具有已知漏洞的组件
•A10日志和监控不足
因为是的,该决定是明确而迅速地做出的。 而且,正如彭特斯特所指出的那样,此类研究从整体上提高了网络的安全性:
这是我的业余爱好,如果像您这样的每个开发人员都可以与Bug猎手进行对话,那么Internet将会安全80%。
因此,总的来说,我们付出了很多钱,特别是如果我们将金额除以负责渗透测试的员工没有留在员工身上的月数。 非常感谢Pentester所发现的错误以及他花时间陪伴我们的事实,我们真的非常感谢他。 如果任何人需要他的服务,请联系,我们将在他允许的情况下提供联系。
但是这次不是让我们丧命的脆弱性。 这就是我们以及WHMCS产品的功能。 在每个注释上,我们都安装了一个方便的虚拟容器管理产品-VM Manager,WHMCS可以使用它来创建,暂停和删除以及客户端来管理创建的虚拟容器。

每天在WHMCS,如果客户试图使用信用卡被盗的订单付款,我们都会收到数十个甚至数百个需要接受(接受),删除或标记为欺诈的订单。 有时,此类订单数量激增,我们无法进行立即确定要分配给哪个状态,因为我们进行内部验证或要求用户在发现其订单可疑时正确识别自己的身份,并且这些用户当然并不总是会回应或通过识别成功。 因此,不时会堆积一千或两个未激活的订单或状态未知的订单,这比处理起来容易删除。 谁真正需要-重新排序。
两个月前,我们决定完全放弃基于云的数据中心产品,因为我们开始通过VM Manager提供我们自己的解决方案,该解决方案使您可以一键式甚至是从映像中放置系统:

而且他们甚至在NVMe PCIe SSD上提供了它,它的读取速度比普通SSD高一个数量级,写入速度高达3倍,该解决方案(如云计算)需要升级,服务器价格从15美元起,并且包括方便的VM Manager和ISP Manager控制面板5个免费请求,支持升级,至少要升级5GB DDR4 RAM,60GB NVMe PCIe SSD和3核E5-2650 v4,
才能在阿姆斯特丹,马纳萨斯和伦敦
使用更高的收费计划 :
VPS(KVM)-E5-2650 v4(3核)/ 5GB DDR4 / 60GB NVMe SSD / 1Gbps 5TB-$ 15 /月
VPS(KVM)-E5-2650 v4(6核心)/ 10GB DDR4 / 120GB NVMe SSD / 1Gbps 10TB-$ 30 /月
VPS(KVM)-E5-2650 v4(9核)/ 15GB DDR4 / 180GB NVMe SSD / 1Gbps 15TB-$ 45 /月
...
VPS(KVM)-E5-2650 v4(24核)/ 40GB DDR4 / 480GB NVMe SSD / 1Gbps 40TB-$ 120 /月
...
VPS(KVM)-E5-2650 v4(24核)/ 65GB DDR4 / 780GB NVMe SSD / 1Gbps 65TB-每月195美元
VPS(KVM)-E5-2650 v4(24核)/ 70GB DDR4 / 840GB NVMe SSD / 1Gbps 70TB-$ 210 /月
VPS(KVM)-E5-2650 v4(24核)/ 75GB DDR4 / 900GB NVMe SSD / 1Gbps 75TB-每月$ 225
因此,租用很大一部分数据中心云并向客户提供旧的E3-1230处理器是没有道理的,尽管对我们来说,每月3.99美元的价格已经用光了。 我们认为客户应该以最低的价格获得最高的质量和最高的性能,是的,我们不能以3.99美元的价格提供产品,也许我们不能满足一些需要最少资源和任何性能的开发人员的需求,但是节点成本超过了7,000欧元,而且我们现在至少不能负担超过15个客户的需要,因为我们准备保证质量。 质量不仅意味着稳定性,而且还意味着最大的性能/价格比,然后是成本效益。
为了庆祝,我们取消了整个云基础架构(数以千计的VPS),为自己订购了2台独立的虚拟服务器(是的,我们为服务器付费),部署了一个站点,并于2个月前针对新解决方案计费,正如我们描述的一切以上,带入了保护组,这样,如果您突然忘记按时付款,系统就不会停止运行……似乎已完成了所有工作。
今天,两个月后,我们决定“取消”(不删除,那里有这样的按钮,但是我们尝试从不删除任何内容,因此总会有历史记录)1000多个待定订单仍未在WHMCS结算中指定状态。 猜到了吗 是的,就是这样。 他们问我-我可以取消吗? 我确认“删除”。
有时,尽管资源量很大,但由于数据采样很大,并且某些过程无法满足分配的时间限制,因此WHMCS会产生504错误,一切都完成了,并且计费仍在继续,但是在这里我们无法使用。 帐单和网站不再可用。 我们没有立即了解原因。 但是后来他们意识到了。 我们的2个VPS的订单未被接受(是的,我们不接受我们的订单!),结果被系统“取消”,这导致了模块的启动和两个容器的立即移除,该容器据说不是创建的,而是由虚拟机创建的,使用我们心爱的VM Manager。 进入预期的节点之一后,我们的管理员看到了“告别”图片:

这是什么-WHMCS开发人员中的缺陷,导致取消了不被接受的订单,并在取消订单时实际创建了带有其VPS ID的订单,或者我们(销售部门的)愚蠢不再重要。 结果是一个-“告别站点并开票”。 面板擦了擦。 管理员对我们(销售)只有一个问题:
Naher使用其主站点和计费创建服务。
然后还杀死她地狱。
尽管我们有备份,但也有两个地理分布的区域,我感到不安。 由于我不确定备份的新鲜程度,因此我不确定我们的管理员是否按照备份最初的规定正确执行了所有操作。 该任务是实际上每小时或更多次备份数据库,并更新数据并存储文件的多个先前版本。 某些软件错误的备份并没有停止(毕竟,我个人并没有控制它,为什么我要对这个控制打分,为什么我的管理员会担心我们的数据?)。 一堆消极的想法...不要让宇宙生存下去!
我已经收集了一个想法,即至少1小时或更糟的时间将没有交易,并且您将必须手动还原客户付款,比较以前的交易数据,并写信给帐户持有人我们已经重新创建了一个帐户并付款,从错误的角度展示自己,发送通知我们是傻瓜并且发生了此类软件故障...并且如果没有新的备份-这通常是管道,则恢复所有内容将非常漫长而乏味...
对于这种情况,我们有一个内部表,其中手动复制了许多主要数据,并由我们对其进行了更新,从而消除了软件故障和不正确数据的重写。 尽管可以使用备份,但我们仍然使用此方法。 毕竟,没有人能消除全球zvezdets的可能性。
幸运的是,事实证明一切都还算不错,甚至包括那些。 必须解决问题的专家,并在一开始就宣布:
晚上很成功,谢谢大家。
我去接了
尽管如此,晚上还是成功的。 自从最初提供用于lvm的解决方案以来,尚未创建新的虚拟容器-可以恢复实际数据,尽管要用铃鼓跳舞:
通过lvm实用程序执行的所有操作,均使用其命令恢复了虚拟卷组,然后恢复了虚拟卷组,然后激活了分区,将其安装在左侧文件夹中,创建了服务器并将数据放置在此处。 可能还有其他方式,但是在我们的案例中,此选项是虚拟服务器设置的最快+详细信息,每个设置都有自己的突击检查。
得出什么结论? 冗余和冗余应该包括漏洞统计和最愚蠢的开发方案,以便一切都可以被破坏,甚至可以备份。 我们并没有遭受损失,也没有遭受重大损失,仅仅是因为数据没有被完全删除。 如果有必要从备份中还原,则每小时会丢失事务,并且会浪费大量工作时间。 在我们看来,使用Geocluster进行备份时派上用场的可能性很小,这是错误的。 我们没有考虑可以一次删除两个服务器,也不会删除服务器,但是我们没有考虑。
始终需要有一个独立于您的系统的外部存储,最好仅通过某些代码进行访问,该代码也已保留,以确保数据不会丢失。 目前,尽管我们在两个地区的基础架构中都存在备份,但我认真考虑了使用Amazon Glacier之类的东西的可能性,尽管后者非常昂贵。 根据管理员的说法,那里的一切都仅以市场营销的角度来看是可以的,但是当您开始使用它时,您会面临一个解决方案非常昂贵的事实,因为您必须为每个请求和每个文件都付钱,这被视为其aws-cli应用程序非常有趣,尤其是当数据需要还原。 最近,一位来自英国的客户要求在这里进行预订,但使用几个月后,他拒绝了-事实证明这笔预订非常昂贵。 但是,我们仍然需要确定更昂贵的产品。 — . — , , . , .
, — , , , . , , , , , .
PS , ( , EST ). , , . , - . , , . , — , . . !
.
VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps ,
, 30% VPS , ,
.
戴尔R730xd便宜2倍? 仅
在荷兰和美国,我们有
2台Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100电视(249美元起) ! 阅读有关
如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?