目前,我处于一种状态,即测试要花我很多时间和金钱...

背景:我正在softlayer上部署VM并使用将安装的部署后脚本(bash) VM就绪后我需要的每个软件。
问题是,我只能通过部署一个VM来测试此脚本,并且目前大约需要4小时才能完成脚本...因此,我所做的每个更改我需要创建一个新的VM(需要花钱),并等待大约4个小时,以查看脚本是否损坏...这变得越来越混乱,如果我保持这种方式,我将无法前进。 br />
我需要一种新的方式来处理这种情况,并且能够更快地测试配置脚本,而无需每次都部署新的VM。

你们好吗?知道一些可以在这种情况下为我提供帮助的工具吗?

评论

无法通过在本地运行VM来在本地dev VM上测试您的预配置(bash)脚本?

这是一个私有云闪耀的地方。购买并设置它的成本可能低于目前的水平。运行数字。看看什么对您有意义。

#1 楼

我可以看到一些选项:


使用Vagrant创建虚拟机;它将创建VM(包括基本OS)和实际配置的过程分开。它还具有一些选项,可以仅在某些情况下运行某些配置步骤。
使用Ansible,Puppet或类似方法切换到配置模式,在这种模式下,您不必每次都做相同的事情,而只需要做些事情。这意味着您可以开始工作,并且在第一个失败的部分停止。修复该部分,然后继续。
使用Docker。这与Vagrant / Ansible方法略有不同,因为它创建了容器(就我所知,您实际上并不需要)。除了Ansible方法之外,它的好处是,它为您提供了非常精细的逐步开发过程。即,如果某个步骤失败了,那么您仍然需要所有的图像,因此在开发过程中,只要有一点纪律,您的速度就会变得非常非常快。

所有这些工具都可以做很多超出了您的需求,但所有这些都为您提供了一种逐步完成工作的方式。就我而言,Vagrant,Ansible和Docker非常易于学习(只要您处于开发/测试模式,那么“有趣”的部分就会在您投入生产时开始)。 Ansible非常简约,除了ssh连接外什么都不需要。您很快就会发现,Vagrant和Docker在您的基础架构中可能不可行。

#2 楼

http://www.vagrantup.com

您可以使用vagrant在本地笔记本电脑上部署VM。

还可以检查是否可以在以下位置拆分脚本较小的零件,因此将不需要四个小时对其进行测试。

#3 楼

如果不能在本地进行测试,那么最直接的方法是利用磁盘卷快照/备份来发挥自己的优势。这些仍将花费$$$,但从长远来看将节省您的时间。然后,您应该将bash脚本分为不同的工作段/脚本,可以分别对其进行测试。设置服务器后,运行脚本,然后拍摄快照。如果成功,请运行下一个脚本,拍摄快照,然后冲洗并重复。如果您的脚本失败,请修改脚本,还原到上一个成功的快照,然后重试。

注意:我不确定您是否可以在IBM Cloud / Softlayer中拍摄虚拟机磁盘的快照,但是看起来您可以非常轻松地创建VM映像。


备份虚拟机映像

您可以在实例中备份虚拟机映像。此功能创建虚拟机映像和云配置的副本,可在以后还原。
另外,您可以管理这些备份映像。有关
备份映像的详细信息如下:

备份映像是
虚拟机映像和云配置的精确副本。没有执行图像清理



备份映像无法部署为新实例。它
仅可用于还原关联的虚拟机映像和
云配置。
只有项目所有者(或管理员)具有
恢复备份虚拟机映像和备份虚拟机的权限。
如果使用的是OpenStack云,则一次只能进行一次实例备份
。如果另一个用户正在运行
备份,并且您在同一实例上启动一个备份,则会收到错误消息
,指出存在冲突的请求。要执行备份,您必须
等到另一个备份完成。
OpenStackPowerVM®和
z /VM®实例不支持此操作。
如果通过将IBM®Cloud Manager与OpenStack一起使用来删除实例
,则关联的备份也会被删除。




https ://www.ibm.com/support/knowledgecenter/zh-CN/SST55W_4.1.0/liacb/liacbsaverestorevsvmw.html