如何使用xen pocalypse(bash)免费备份citrix xen vms

您是否曾经需要备份您的Citrix Xen虚拟机(VM),但不想破坏银行这样做?HTG为您提供了xenpocalypse的bash脚本。...

如何使用xen pocalypse(bash)免费备份citrix xen vms

您是否曾经需要备份您的Citrix Xen虚拟机(VM),但不想破坏银行这样做?HTG为您提供了xenpocalypse的bash脚本。

图片由h.koppdelaney,卡在自定义和Hotfortech。

Citrix Xen的优点之一是它的许多特性都是免费的。也就是说,如果您想要“自动VM保护和恢复”功能,就必须开始为“Advance”许可证付费。即使这样,您也只需支付磁盘级备份的费用,这对于许多类型的工作负载(如Active directory、数据库等)是不够的。要解决这一问题,您可能需要“实时内存快照和还原”,它可以保存整个机器状态,包括RAM的内容。不过,这一功能是“企业版”和“白金版”的一部分,后者甚至更贵。这并不是说我们HTG不重视真正备份软件的价值,但是如果您的预算很紧,并且不介意备份操作的一些停机时间,那么在您做出预算承诺之前,您可能会发现Xen pocalypse是一个非常合理的解决方案。

概述

“用例”:您有几个需要备份的vm。使用右键单击“Xen Center”中的“关闭VM并将其导出为文件”可以正常工作,但您希望此过程自动并按计划进行。这个Bash脚本使用“XE”命令来执行其职责。XE是Xen命令行界面(CLI),自动等效于在“Xen中心”中发出“右键单击”。我们将从Cron调用脚本,它将提供“调度”部分。在最简单的形式中,备份流是:

  • 关闭目标VM。
  • 将VM作为文件导出到备份位置。
  • 如果VM在备份开始之前已打开,则它将重新打开。

让我们开始吧:)

获取脚本

xenpocalypse可以使用常规git方法从github免费获得。也就是说,如果你还不精通git,你可以通过这个链接获取zip文件。由于脚本需要在一个Xen服务器上运行,因此应该在那里提取它,以便保留执行权限。

wget https://github.com/aviadra/Xen-pocalypse/archive/master.zip unzip master

虽然上面的方法可行,但是建议您使用GIT方法,这样您就可以从将来的更新中受益。

获取sendemail(可选)

我们以前写过sendmail perl程序,所以这里不需要重复。可以说,它在Linux上的工作方式与在Windows上的工作方式相同。

虽然启用电子邮件是可选的,但强烈建议这样做,因为这样脚本将能够:

  • 开始和结束运行时通知您。
  • 提醒您它能够检测和处理的任何错误。
  • 通知因空间问题导致的备份不合格。(如果不需要,可以禁用此行为)

下载到Xen服务器并解压缩。

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar xvzhf sendEmail-v1.56.tar.gz

请注意将其提取到的位置。设置文件需要它。

定义标记

Citrix Xen使您能够为过滤功能配置“自定义字段”。我们将创建字段,然后用xenpocalypse使用的信息填充它们。xenpocalypse识别3个控制标记,它们指定了备份标记的名称和父子关系。如果不打算使用文件输入法,则必须至少创建backup tag name字段。

为此,请打开服务器甚至虚拟机的属性。在导航窗格中,选择“自定义字段”。

如何使用xen pocalypse(bash)免费备份citrix xen vms

If this is the first time you define a relati***hip (as in the example above), you will not have any fields to input data into, so you need to create them. To do this, click on “Edit Custom Fields” in the dialog box that pops up, click on “Add…” 如何使用xen pocalypse(bash)免费备份citrix xen vms

创建三(3)“文本”类型字段。一个叫做“BackupTAG”,另一个叫做“Parent”和“Children”。

注意:自定义字段的名称已经“硬编码”到脚本中,因此您不能偏离上面的拼写,除非您也更改了相关代码。

创建完所有字段后,您将看到:

如何使用xen pocalypse(bash)免费备份citrix xen vms

关闭窗户。你呢现在应该有“BackupTAG”、“Parent”和“Children”字段来填充,如下图所示。

如何使用xen pocalypse(bash)免费备份citrix xen vms

现在,您所要做的就是指定哪些vm属于哪个“BackupTAG”。例如,在开发脚本的公司中,我们的vm将在星期四和星期五每周备份一次,我们的Atlassian产品vm的时间表以及一些仅每月备份一次的vm。因此,我们的概述如下:

如何使用xen pocalypse(bash)免费备份citrix xen vms

例如,“weekly fri”是我们输入到“BackupTAG”“Custom字段”中的文本。干净利落啊?:)

父母和子女(可选)

这个脚本的真正优点在于它支持“父”到“子”的关系。也就是说,可以设置将在父级之前关闭和备份的“子”vm列表,并且这些子vm只有在父级完成备份并重新打开后才能重新打开。这在关闭父VM会导致子VM中的服务不可用的情况下非常有用。这种情况意味着子VM上的服务将两次不可用,一次用于子VM的备份进程,一次用于父VM的备份进程。创建这种关系可以克服这个问题。

例如,我们所有的Atlassian VM都使用一个数据库(DB)VM,它也被设置为备份。因此,通过注意dbvm是其他VM的“父级”,可以确保关机->备份->启动的正确顺序。

在撰写本文时,此函数有几个注意事项:

  1. 具有这种关系的虚拟机的名称不能包含空格。您必须从VM名称中删除空格,因为它们将以空格分隔,如下例所示。
  2. 只能有一个家长。指定不止一个甚至没有计划,更不用说测试。

要创建此关系,请进入VM的属性。如果这是一个“父母”,写下他的孩子是谁,如果这是一个“孩子”,写下他的父母是谁。例如:

如何使用xen pocalypse(bash)免费备份citrix xen vms

注意:不为子级指定父级可能会导致子级在其父级就绪之前启动,并可能导致备份两次。

文件方法(可选)

出于历史原因,xenpocalypse还支持将要备份的vm列表作为文本文件。虽然“代码”仍然存在,但功能严重不如TAGs方法,因此不建议使用它。也就是说,如果出于某种原因您更喜欢使用list方法,那么将应用以下限制:

  1. 虚拟机的名称不能包含任何空格或特殊字符。
  2. 每行只能有一个VM名称。
  3. 不允许使用空行。

要生成列表,请从Xen中心复制VM的名称,或在Xen主机上执行:

xe vm-list | grep name-label | awk '{ print $4 }' | sort

将上面的列表复制到常规文本文件中。

备份位置

在Citrix Xen中随机浏览时,我发现存储库(SRs)可以在“/var/run/sr mount/%UUID%”下使用,其中UUID是sr的唯一标识符,可以从GUI获得。

这意味着我们可以使用常规的“下一步->下一步->完成”向导来创建到所需备份位置的装载,然后让脚本使用该路径(就像从命令行装载一样),但是这样做超出了本指南的范围。

要创建新的“mount”,请右键单击服务器名称并选择newsr。

如何使用xen pocalypse(bash)免费备份citrix xen vms

在本例中,我们将Xen指向windows共享,因此选择“windows文件共享(CIFS)”:

如何使用xen pocalypse(bash)免费备份citrix xen vms

完成下一步->下一步->完成。

获取SR的UUID

要获得SR的UUID,只需在Xen中心单击它的名称并转到“General”选项卡。

如何使用xen pocalypse(bash)免费备份citrix xen vms

要复制UUID,只需右键单击它并选择“copy”。

如何使用xen pocalypse(bash)免费备份citrix xen vms

有了这些信息,您就可以编辑设置文件了。

配置设置文件。

xenpocalypse项目附带了一个“设置”文件模板。应编辑此模板以反映您的设置,并将其作为第一个参数传递给脚本。设置文件指定以下内容:

获取要备份的vm的方法–默认方法是TAGs。您可以将此更改为文件,但不建议这样做。

备份目标的位置—如果您按照指南中的说明进行操作,只需将%UUID%替换为从上面获得的SR即可。

sendmail的位置–如果您选择启用Email,则需要在此处输入提取perl可执行文件的位置。

电子邮件详细信息–同样,如果已启用电子邮件,则需要定义详细信息,例如:收件人、发件人、服务器名/IP等。

压缩–这在默认情况下设置为“否”,因为启用它会生成较小的备份文件,但也会导致备份过程运行相当长的时间。

检查目标上的可用空间–这将使脚本检查进行VM备份不会导致备份位置的可用空间低于10GB。这样做是为了确保备份最多的虚拟机,而不是只备份一个非常大的虚拟机。计算是使用与VM相关联的所有hd的总磁盘大小来完成的。

调试–默认情况下,使用值“0”(零)关闭调试。您不需要打开它,但如果打开了,更多信息将在故障排除部分中显示。

执行/调度

在最简单的形式中,Xen pocalypse的调用如下所示:

./Xen-backup.sh settings.cfg weekly-fri

在上面的例子中,我们在保存脚本和设置文件的目录中。脚本将寻找的“标签”是“每周星期五”。

如上所述,我们将使用Cron来安排执行。在我们进入配置之前,强烈建议您在Xen服务器上配置已经安装的SSMTP包。虽然这是一个可选步骤,但这样做会给您一个反冲洗收集器。拥有这样一个“反冲洗收集器”可能会提醒您脚本无法做到的事情。

通过发布以下命令进入cron的编辑:

crontab -e

如果您已按照上述说明进行操作,并且希望添加星期五18:01(下午6:01)的定时备份,请输入以下内容:

01 18 * * fri /root/Xen-pocalypse-master/Xen_Backup.sh /root/Xen-pocalypse-master/settings.cfg weekly-fri

假设您的脚本和设置文件都在“/root/Xen pocalypse master/”下,上述内容是正确的。

故障排除

虽然我花了很多精力使脚本尽可能简单易用,尽可能简单,但“世界是一个更大的实验室”。下面的信息可以帮助你确定你的麻烦的来源。

进展

您可能希望使用这一行代码快速“监视”所有正在进行的任务,看看它们是否真的在进行,或者它们是否真的被卡住了。

while [ -e /dev/null ]; do for VM in "$( xe task-list | grep uuid | awk '{print $5}' )" ; do  xe task-param-get  param-name=progress uuid=$VM ;sleep 1; done; done

要停止监视,请使用Ctrl+C来停止“while循环”。

登录中

所有“日志记录”都由运行syslog机制中脚本的Xen主机收集。当然,可以通过以下方式查看:

less +F /var/log/messages

你在找关键字“Xen pocalypse”。

注意:Citrix为其服务器的syslog设置了两(2)天保留策略。你可能想在验尸时记住这一点。

调试

如设置文件段中所述,有一个指令用于启用调试。启用调试将导致脚本将详细日志记录输出到控制台,并禁止它发送电子邮件和实际执行导出,除非还设置了相关标志。可能的标志在设置文件模板中有注释,它们使您能够精确地定义要调试的内容。

我希望你不需要任何调试,你正在收获我的劳动成果:)


冲啊,伙计,你就要成为霸天虎的头号人物了…

  • 发表于 2021-04-12 01:55
  • 阅读 ( 115 )
  • 分类:互联网

你可能感兴趣的文章

云计算(cloud computing)和虚拟化(virtualization)的区别

...IT基础设施资源优化的相关术语。虚拟化是云计算概念中使用的一种技术。虚拟化是根据需求使用相同的硬件基础架构来构建多个虚拟服务器。例如,假设您需要一个Windows服务器和一个Linux服务器用于不同的用途,您可以使用虚...

  • 发布于 2020-10-25 17:01
  • 阅读 ( 324 )

qubes os 3.2:最安全的linux操作系统

... 但与在虚拟机中运行操作系统不同,Qubes使用虚拟化来隔离应用程序。例如,web浏览器与文件浏览器处于不同的环境中。这样,如果漏洞被利用并在系统上执行命令,攻击就会被遏制。 ...

  • 发布于 2021-03-14 14:08
  • 阅读 ( 504 )

如何在手机或平板电脑上打开excel文件

... 如何以本机方式打开电子表格 ...

  • 发布于 2021-03-17 01:08
  • 阅读 ( 248 )

linux下如何使用rclone备份google驱动

googledrive仍然没有正式的Linux客户端,但是您可以直接从命令行使用rclone实用程序备份到googledrive。我们教你怎么做。 linux上的google drive在哪里? 尽管2012年承诺Linux支持“很快就会到来”,但没有迹象表明Google会为GoogleDrive生产...

  • 发布于 2021-04-02 18:51
  • 阅读 ( 206 )

如何在windows中访问ubuntu bash文件(以及bash中的windows系统驱动器)

...分大小写,所以你需要“下载”而不是“下载” 相关:如何在Linux的Windows子系统中安装可移动驱动器和网络位置 您还可以装载外部驱动器和网络位置,以便从Linux环境中访问更多文件。 请注意,在访问Windows系统文件时,bashshel...

  • 发布于 2021-04-06 16:05
  • 阅读 ( 223 )

如何在virtualbox中转换固定磁盘和动态磁盘

VirtualBox允许您在创建新的虚拟硬盘文件时选择动态分配的磁盘或固定大小的磁盘。动态分配的磁盘创建速度更快,并且可以扩展到更大的大小。固定大小的磁盘使用起来可能更快,但一旦填满磁盘就不能再大了。如果您愿意,...

  • 发布于 2021-04-07 14:48
  • 阅读 ( 272 )

什么是虚拟机管理程序?

...器。你可能每天都用一个,甚至都不知道。如果你现在不使用,你会在不久的将来。 hypervisor是存在于客户操作系统之外的软件,用于拦截发送到计算机硬件的命令。术语“hypervisor”来自操作系统内核的不同级别;它以比“superv...

  • 发布于 2021-04-09 01:56
  • 阅读 ( 206 )

如何从windows10的文件资源管理器快速启动bashshell

...,如果您以前从未使用过它,请考虑在开始之前阅读有关如何使用注册表编辑器的内容。一定要备份注册表(和你的电脑!)在进行更改之前。 首先,按Windows键,在“开始”菜单中键入“regedit”,然后按“回车”,打开注册表...

  • 发布于 2021-04-09 05:16
  • 阅读 ( 191 )

你如何找到一个安装在房子里一个未知位置的路由器?

...tt Beale(Flickr)提供。 问题 超级用户读者西蒙斯想知道如何找到一个路由器,之前已经设置在一个“未知”的位置在房子里: I want to install a WLAN repeater in my father’s holiday house that he rents out to other people. My father is not that well-vers...

  • 发布于 2021-04-09 17:51
  • 阅读 ( 391 )

如何使用xen phoenix(bash)免费恢复citrix xen vms

...来源:Ryan McCurdy via Compfight cc 正如我们在“如何使用Xen pocalypse免费备份Citrix Xen VMs”中提到的,Citrix Xen的优点之一是它的许多特性都是免费的。也就是说,如果您想要“自动VM保护和恢复”功能,就必须开始为“Advance”许可证...

  • 发布于 2021-04-11 20:17
  • 阅读 ( 143 )
h3d1axzao29c28
h3d1axzao29c28

0 篇文章

相关推荐