VMmanager 6:引入盒子并与上一代产品进行比较



10月8日,发布了新版虚拟化控制面板VMmanager 6的盒装版本。 现在可以将其安装在服务器上,并用于销售虚拟机或管理自己的基础架构。 在本文中,我们将新一代产品与上一代产品(VMmanager 5和VMmanager 6)进行了比较。


两个面板均支持KVM虚拟化,并使用libvirt管理物理服务器。


VMmanager 5于2013年发布,VMmanager 6于2019年发布。 新一代更方便,更耐压力。 支持映像,任务管理和监视。


在本文中,我们比较了两代面板。 首先,让我们讨论一下概念上的差异:体系结构,接口和对负载的抵抗力。 在第二部分中,我们将看到如何在两个面板中解决相同的任务。


有关该产品的更多信息,请参见ISPsystem网站的VMmanager 6部分


第1部分。概念差异


建筑学


VMmanager 5是用C ++编写的整体文件,在某些地方不必要地简化了简单事物的开发。


这就是为什么在VMmanager 6中我们将Python用于简单的任务,例如配置节点,配置VM,使用libvirt。 这样的代码更易于编写,调试和“组装”。 他们在有关哈布雷的另一篇文章中谈到了这一点。


在数据分散性不是很糟糕并且必须进行水平扩展的任务中,我们转移到了Golang,着重介绍了微服务中的业务逻辑。 奇怪的是,在这里我们还赢得了速度和便利的开发。 逻辑的其余部分继续利用C ++中的整体功能-可靠性,速度和数据一致性。


此外,VMmanager 6包含在Docker容器中。 VMmanager 5是使用软件包安装的。 容器化的绝对优势是应用程序行为的高度可预测性(环境始终相同)。 重现情况或问题变得更加容易,无需为不同的操作系统制作许多程序集,部署速度更快。


在VMmanager 5中,软件包的安装带有很多依赖关系,这些依赖关系可能与已经安装的软件包冲突。 在某些情况下,使用“ -y”选项删除无害的程序包会因依赖关系而删除整个面板。


另一个重大变化:VMmanager 6支持映像。 映像是VM磁盘的完整副本。 在创建虚拟机和备份时使用它。 不要与VMmanager 5中的ISO映像混淆-这是两种不同的技术。

负载电阻


架构变化的重要结果是增加了负载电阻。


VMmanager 5不能承受沉重的负载:如果创建了500多个虚拟机,它将开始缓慢运行。 为了解决此限制,提供程序将安装另一个VMmanager并在其中创建新的虚拟机。 大型提供商可能有多个小组:根据地点或关税的数量。


在VMmanager 5中,在主进程中完成了很多工作,并且通常在一个线程中完成了很多工作。 为了管理长时间的操作,有一个longtask模块(taskmanager的前身,第六版中的用于分派任务的服务),但是我们没有立即开始积极使用它。 longtask中没有锁定机制,只有队列可以严格按照任务到达那里的顺序一一执行。 一项任务不能同时完成。 长任务操作本身是磁盘上的特殊文件。 一个目录中的大量文件在所有UNIX系统上造成了沉重的负担。 这不允许在多个调度程序/服务器之间分配任务。


VMmanager 6中的负载由特殊的任务管理服务Taskmanager应答。 现在,大多数操作将在单独的进程中按延迟执行。 这增加了系统的响应能力-单独的请求无法阻止其运行; 并提高了稳定性-如果出现问题,它最多不会影响整个系统。 灵活的锁系统和各个进程的高度隔离性允许在可能的情况下并行优化任务的排队和执行。


同样在新版本中,决定将读写器(负责系统中读写操作的进程)分开。 与VMmanager 5不同,面板用户始终可以获取信息,因为读取器线程始终可以并行工作,而不管当前正在执行多少次写入操作。


介面


两代产品之间最明显的区别是界面。 这不仅仅与设计有关。 速度和响应速度上的差异。


VMmanager 5界面在外观和“行为”上均过时。 第一个用肉眼可见,第二个在长时间操作中很明显:如果停止虚拟机或开始大规模迁移,则会在屏幕上显示阻止进度条。 如果用户有许多此类操作,则其他人将只等看虚拟机列表。



虚拟机在VMmanager 5中停止时阻止进度条


除了设计更改外, VMmanager 6还对客户端进行了体系结构更改。 以前,页面模板是从服务器端xml文件生成的,现在它是基于流行的Angular框架的SPA(单页面应用程序)。 该应用程序由单独的独立模块(按需下载)和组件组成。 组件被分配给库,并根据设计系统进行开发。


为了提高响应速度,使用REST API和WebSocket与服务器进行通信。 在大多数情况下,我们尝试使用非阻塞或延迟操作。 通过特殊服务,可将应用程序中的任何更改通知客户端部分,无论是创建虚拟机还是更改表中节点的状态。 该服务从键值存储中了解更改,事件从所有微服务中获取。


因此,VMmanager 6界面不仅变得更加现代,而且更加方便,响应和“友好”。



当VM在VMmanager 6中停止时,该接口不会被阻塞。 可以在虚拟机列表中观察该状态


第2部分。解决问题


创建虚拟机


让我们继续执行任务。 首先是创建VM。


VMmanager 5会在8-10分钟内(很长时间)创建一个虚拟机。 这是因为该过程按通常的方式进行:软件包已下载,部署,安装。 为了使客户端不必等待,提供程序编写了插件:它们会提前创建虚拟机,并在客户端到达时重新分配虚拟机。 高级用户可以自己创建虚拟机,但是您必须填写复杂的表格。



VMmanager 5中的虚拟机创建表单


VMmanager 6使用新的机制来创建虚拟机。 该面板不下载软件包,而是部署映像的副本。 无需编写其他插件:即使没有它们,VM发行也很快-从1分钟20秒到2分钟。 网络故障或新版本操作系统的发布不再影响安装,并且如果开始,则肯定会结束。 创建VM的形式变得更加简单。



VMmanager 6中的虚拟机创建表单


创建操作系统模板


供应商通过WordPress,1C-Bitrix或其他软件向客户出售虚拟机。 使用VMmanager满足内部需求的公司会创建许多相同类型的VM,以进行测试,部署内部服务和自己的软件。 设置每台计算机是管理员或测试人员的日常工作。 控制面板可帮助实现自动化:一旦您配置了模板并从中创建了预配置的VPS。


VMmanager 5中, OS模板存储在存储库中。 要添加模板,您需要创建一个存储库并准备OS配置文件。 存储库在单独的服务器上创建。 该模板由XML描述和配置文件以及创建操作系统所需的所有文件组成。 管理员必须准备模板。 这项任务并不容易,没有指示就不可能解决。



VMmanager 5中的OS模板。您可以从界面开始安装,但无法配置模板


VMmanager 6中的OS模板是具有已安装操作系统的虚拟机的磁盘映像。 要使用其他软件创建模板,只需在一个虚拟机上对其进行配置并制作其磁盘映像。 之后,将以相同方式配置从该映像创建的所有VM。 仅网络设置和对VM的访问将更改-它们不会写入映像。 任务很简单,管理员将不加说明地应对。 当然,脚本爱好者仍然可以使用它们-VMmanager 6中有这种可能性。



在VMmanager 6中根据用户映像创建虚拟机


统计与监测


统计和监视服务是每个系统管理员必不可少的帮助者。 它们使您可以快速响应节点和VM上发生的紧急情况。 访客的突然涌入,DDoS攻击或脚本故障可能会给虚拟机带来沉​​重的负担。 如果您不执行任何操作,则该操作以及位于其上的站点或项目都将失败。 当面板中包含监视系统时,这很方便。


VMmanager 5具有用于监视虚拟机状态的机制。 每隔10分钟,它会分析通过网络发送的数据包数量以及对虚拟机磁盘的写入请求数量。 面板的主页上显示了传出流量,处理器负载和内存上的前10个节点。 没有邮件或即时通讯工具的通知。



主VMmanager 5上节点的统计信息。如果没有足够的数据,则图形很难看


与以前一样, VMmanager 6还监视VM和节点的状态,收集有关资源使用的统计信息。 但是,根据用户的需求,我们为节点和VM开发了一种新的在线监视系统。 它监视RAM,CPU和硬盘的消耗,并监视网络活动。 如果负载变得很关键,就不可能不注意到这一点-监视数据显示在节点和虚拟机列表以及这些实体的各个卡上。 在访问了节点列表之后,管理员可以立即注意到哪些服务器过载以及哪些指示器过载。 仪表板正在开发中,预计今年将出现在面板中。



VMmanager 6中的节点卡。这是有关已创建虚拟机的负载和统计信息的信息


邮寄


当面板报告当前事件或问题时,这很方便。 为此,它必须支持发送消息。


VMmanager 5中无法管理邮件。 只有管​​理员可以重设忘记的密码;您无法自动恢复它。 虚拟机创建通知由BILLmanager发送。 为警报添加新事件-整个过程。


VMmanager 6可以发送邮件。 关于创建和重新安装虚拟机(用于恢复密码的字母)的通知已经到来。 启用计费后,可以禁用从面板发送消息。 将来,将有关于VM节点上发生问题的通知。 还计划实现向即时通讯程序发送通知。


任务管理


仅了解问题还不够,您需要快速找到原因并加以解决。 为什么不创建虚拟机或不执行脚本,系统中哪些操作经常失败-所有这些都可以在VMmanager 6任务列表中找到。


VMmanager 5没有任务监视机制,因为本身没有任务机制(请参阅本文的第一部分)。 后台任务的部分执行可以在“系统状态”部分中进行监视。 您可以看到开始时间和结束时间以及状态-成功完成或出现错误。 挂起的长任务操作可以强制终止。 但是,如果尚未创建虚拟机,则无法从面板中找到原因:您必须获取ID并转到“抓取日志”控制台。



VMmanager 5中的任务管理。您可以查看开始时间和状态或完成脚本


VMmanager 6用户在“任务列表”中管理操作。 它存储有关在虚拟机,节点,操作系统模板上正在进行和已完成的操作的信息。 通过任务的持续时间,您可以跟踪模式:什么操作花费了什么时间,谁启动了它。 如果失败,日志是可见的-它显示在界面中。 如果脚本未执行,则错误代码将出现在界面中。 立即清除该怎么办。



VMmanager 6中的任务列表。您可以了解谁,什么时候做的。



错误完成的任务卡。 日志在面板上可见-您无需在控制台中“吃任何东西”


后备


这是在两个面板中以不同方式解决的任务之一。


VMmanager 5.您可以创建所有或特定虚拟机的副本。 备份存储在本地磁盘或一个或多个远程FTP存储上。 复制虚拟机的XML描述,创建其虚拟磁盘的副本,创建内存转储,并将所有这些打包到归档文件中。



在VMmanager 5中备份虚拟机


VMmanager 6 。 通常没有备份-一切都存储在数据库中。 如果面板失败,但是数据库已保存,则恢复系统将很困难。 虚拟机备份的角色由映像执行。 您可以根据需要从映像还原损坏的VM。 现在,在停止VM的情况下创建映像,但是将来可以不停止就制作映像并通过计费出售。



在VMmanager 6中创建映像


对Hetzner数据中心的本地支持


Hetzner是俄罗斯提供商中流行的数据中心。 它使用端口安全性进行保护,因此在使用它时,需要特殊的网络设置。


VMmanager 5中,必须手动配置Hetzner节点网络:编辑面板配置文件,配置服务器的网络接口和网络桥,并启用转发。 同时,一个面板只能管理一个群集-如果提供商拥有自己的服务器(而不是Hetzner租用的服务器),则需要在单独的面板中进行设置。


VMmanager 6具有本地Hetzner支持。 管理员添加一个Hetzner类型的群集并连接服务器。 此后,路由将遵循此数据中心的模型,VM设置将根据其所在的群集类型进行。 同时,在同一面板中可能存在具有其他网络设置的群集。 顺便说一句,管理多个群集是VMmanager 6的关键功能之一。



VMmanager 6中的Hetzner类型集群创建表单


本地存储


VMmanager 5支持文件存储和LVM。 在一个群集中,可能存在具有不同存储类型的节点(如时间所示,该机制被证明是无人认领的,并且需要大量资源)。 该面板还支持大量不同类型的网络连接存储。 在第六版中,在接下来的版本中,我们将实现对其中最受欢迎的Ceph存储的支持。


VMmanager 6支持文件存储和LVM。 在一个群集中,不可能有具有不同存储类型的节点。 这消除了迁移问题-如果某些磁盘在文件存储中,而某些磁盘在LVM中,则不可避免。


系统要求


VMmanager 5 :具有CentOS 6和7的干净服务器,根分区为100-150 GB。


VMmanager 6 :具有CentOS 7的干净服务器,具有3 GHz频率,4 GB RAM,40 GB磁盘空间的双核处理器。 服务器不必是铁的,而虚拟服务器则可以。


价格/过渡


VMmanager 5每月每个节点8欧元,80欧元-如果您购买一年。 每个新节点的费用为8欧元。 现在,只有那些已经购买了VMmanager 5许可证的人才能购买它。


VMmanager 6的成本包括两部分:节点价格和虚拟机软件包。


  • 节点一次出售一个,每个节点每月4欧元。
  • 虚拟机以软件包形式出售。 最低套餐包括20个VM,每月费用为8欧元。

对于拥有有效VMmanager 5许可证的客户,购买VMmanager 6的特别优惠有效,有关迁移的条件和详细信息,请参阅ISPsystem网站上的公告


结论


第五代和第六代VMmanager适合管理虚拟化。 但是它们之间的差异很大。 总结一下:


  • VMmanager 5应该用于解决非标准任务:当您需要ISO映像时。 并且-快照和网络存储(iSCSI,NFS,Ceph,GlusterFS)。
  • VMmanager 6更方便,更快捷,可承受重负荷,并且适合几乎所有任务。 到今年年底,我们计划增加对IPv6,Ceph存储以及管理员仪表板的支持,并向邮件和Messenger发送问题通知。

VMmanager 6已被30个提供商评估。 评论- ISPsystem网站上的公告中。


有关最大详细信息,请参见VMmanager 5VMmanager 6的文档。



VMmanager 6. 30 . , .

Source: https://habr.com/ru/post/zh-CN471886/


All Articles