问题

关闭所有Nutanix-Clone虚拟机脚本

  • 2020年7月2日
  • 4回复
  • 2216的浏览量

徽章

你好,

Nutanix CLI非常新,我正在对DR Cluster进行大量PD测试,并使用默认前缀恢复它们。

我在想,如果有人可以帮助我一个脚本关闭所有的虚拟机的名称开始' nutanix克隆- "。

我发现

对于“acli vm”中的vm_name。list power_state=on | grep -v ^'虚拟机名' | awk '{print $1}' ';做acli vm。关闭$vm_name; done

这是优秀的,但我不确定如何进一步过滤虚拟机名称?

任何帮助表示赞赏。

注意:我也感谢任何帮助的脚本,然后删除任何虚拟机和关联的快照开始与' nutanix克隆- ' -通过web控制台做80左右是困难的工作。

谢谢你的时间,

亚伦


4回复

Userlevel 6
徽章 +5

@arboundy给我一些时间,我会在其中一个测试集群中尝试它,并将结果反馈给你。与此同时,这里有一个卫城cmdline指南对虚拟机执行操作。上面的脚本也使用这些命令对虚拟机执行操作:

https://portal.nutanix.com/page/documents/details/?targetId=Command-Ref-AOS-v5_17%3Aacl-acli-vm-auto-r.html

在这个脚本中,您可以在这里指定虚拟机名称“grep -v虚拟机名称' ",但使用不同的通配符- v'这里是用于反转匹配的,也就是不匹配"中指定的给定字符串虚拟机名称”。所以这个脚本关闭了所有虚拟机,除了名称为'的虚拟机虚拟机名称'在参数中指定。也正则表达式模式指定一行的开始。这可以在grep中用于匹配以给定字符串或模式开头的行。

对于“acli vm”中的vm_name。list power_state=on | grep -v ^'虚拟机名' | awk '{print $1}' ';做acli vm。关闭$vm_name; done


下面是一个在Linux中使用grep的好指南:https://www.geeksforgeeks.org/grep-command-in-unixlinux/

在您的场景中,您可以做的是使用

grep - i ^ ' Nutanix-Clone - '

给我一些时间,我会在我的实验室集群中进行实验,然后再回复你。同时,你也可以尝试使用卫城指南和脚本。

如果你还需要什么就告诉我。微笑:

徽章

谢谢 @AnishWalia20-由于我还没有痊愈(确切地说是几天),我期待你的回复,并真诚地感谢你的帮助。

Userlevel 6
徽章 +5

@arboundy所以我尝试和试验了剧本,下面是你可以做的:

  1. 关闭所有名称为“Nutanix-Clone-”的虚拟机:登录集群中的一个cvm,运行以下脚本:

    Cvm $ for vm_name in ' acli vm。list power_state=on | grep -i ^'Nutanix-Clone-' | awk '{print $1}' ';做acli vm。force_off vm_name美元;完成
    以上的输出
    这将关闭所有以name开头的虚拟机。”Nutanix-Clone -”。

  2. 删除任何以' Nutanix-Clone '开头的虚拟机:
    Cvm $ for vm_name in ' acli vm。list power_state=off | grep -i ^'Nutanix-Clone-' | awk '{print $1}' ';删除$vm_name delete_snapshots="true";完成
    以上的输出


    在上述场景中,以name '开头的虚拟机Nutanix-Clone -这些都在关闭和他们一起快照被删除。选择“delete_snapshots = " true删除虚拟机关联的快照。

您需要做的唯一一件事就是为每个虚拟机输入“yes”,因为将会有一个确认删除的提示符。:笑:

如果你还有其他需要帮助的地方请告诉我,我很乐意帮忙。笑脸:

Userlevel 6
徽章 +5

@arboundy,只是跟进一下,你能执行上面的脚本并实现上面的吗?

如果你有任何疑问,请告诉我,我非常乐意为你解答。微笑:

回复


Baidu