SCVMM中“云”属性的备份和恢复

简介:

昨天快下班收到一个噩耗,SCVMM2012 SP1中的300多虚拟机的”云”属性没了……具体表现就是在各个已经存在的云中,看不到一台虚拟机,具体表现就是,查看虚拟机的时候,云这块是空的。

出现这种问题到底有多坑爹呢?那就是最终的租户无法啊在SCAC以及SCVMM的控制台的云中看到任何虚拟机,而虚拟机实际上是存在的。

所以现在的做法是要想办法恢复这些属性。

第一个操作,你需要导入VMM的模块

Import-Module virtualmachinemanager

 

首先拉个表,看看当前的用户组吧

1
Get-SCUserRole  -VMMServer sc-vmmsp1  |select  name


再看看有哪些云

1
Get-SCCloud  -VMMServer sc-vmmsp1  |select  name

好了,基本得到这两个属性,比较运气好的是,虚拟机的云属性虽然没了,但是虚拟机的用户属性还是存在的,所以可以用PowerShell慢慢倒回去,原则就是这个虚拟机属于这个用户,那就放到这个用户的云中。

我们用两条命令解决

1
2
3
$Cloud  Get-SCCloud  -VMMServer sc-vmmsp1 | where { $_ .Name  -like  "这里写云的名字" }
  
get-vm | where { $_ .UserRole  -like  "这里写用户组的名字" } |Set -SCVirtualMachine -cloud  $cloud |select  name

因为这是用管道来实现的,所以速度不会很快……当然怎么都不人工做这个事情好很多。

这里其实也用到了一些筛选的方法,比如用到了and方法,类似下面这样

1
2
3
4
5
#方法是这样的(1 -eq 1) -or (1 -eq 2)
  
#那么具体是怎么写的呢?看下面的一个范例
  
get-vm |?{ $_ .userrole  -like  "管理员" } |?{( $_ .vmhost  -like  "hahv1*" -or  ( $_ .vmhost  -like  "hahv2*" -or  ( $_ .vmhost  -like  "hahv3*" -or  ( $_ .vmhost  -like  "hahv4*" )} |select  name,userrole,vmhost

 

根据不同的用户组和云,多运行几次脚本,慢慢的就解决了这个问题,但是还有下文啊,以后再出现这个问题咋办?所以我的想法是,备份云、用户组、虚拟机的关系,以后坏了好恢复。【虽然没有具体验证,不过只针对”服务”可能是有些问题的。】

通过get-vm,可以得到虚拟机的具体属性,我列出一些人为比较重要的属性

 

HostName : 这里是虚拟机所在的物理主机名

VMHost : 这里是虚拟机所在的物理主机名

SelfServiceUserRole : 这里是创建者的组名

CloudId : 8cc833e1-a5e4-45fb-bb0a-bb38aaa41f2a

Cloud : 云名

GrantedToList : {授权访问的用户组}

UserRoleID : 7746c9da-a011-4cdc-9cb2-7b835f42c918

UserRole : 用户组

Owner : 指定的创建者

StartAction : 是不是自动开机

StopAction : 停电之后是关机还是怎么地

CreationSource : 服务的信息

ComputerTier : 服务的信息

 

这里主要用到了两个命令,一个是Set-SCVirtualMachine 一个是Get-SCVirtualMachine 我们先看一下它支持的参数


1
2
3
4
5
6
-cloud 指定私有云的名称
-ComputerTier  指定计算机层对象
-name  指定虚拟机名称
-service  指定服务名称  #使用方法 Get-SCService ,然后管道传递
-vmhost  指定物理主机
-vmmserver  指定vmm服务器


使用”服务”作为参数的方法稍微特殊一点,如下图所示。

设置这块可以设置的属性很多,我先给一个谷歌版的翻译,可以凑合看看

 

详细说明

在Set-SCVirtualMachine小命令改变由虚拟机管理器(VMM)管理的虚拟机的一个或多个属性。 您可以更改的属性包括以下内容:

- 与云相关联的虚拟机。
- 名称,所有者和虚拟机的说明。
- BIOS启动顺序(如果部署Hyper-V主机上)。
- 资源的使用的虚拟机的主机上金额。 这些包括:
- 主机的CPU资源,一个虚拟机可以使用的最大数量。
- 由虚拟机使用的预期主机的CPU。
- 主机的CPU资源量在同一台主机上使用一个虚拟相对于其他虚拟机的机器。
- 主机内存量,一个虚拟机可以使用。
- 带宽量主机的网络上的虚拟机可以使用。
- 对无关的资源承载虚拟机的硬件设置。 这些包括:
- CPU的数量。
- 的CPU的类型。
- 磁盘输入/输出操作每秒(IOPS)的数量。
- 限制(对于较旧的操作系统,如Windows NT 4.0)CPU的功能。
- 成本中心,用标准来筛选虚拟机的标签,和自定义设置。
- 设置,使各种可选功能,包括:
- 启用或禁用库对象,以使其可用,或暂时不可用,给用户。
- 启用备份虚拟机的Hyper-V主机卷影复制服务上。
- 启用一键/值对虚拟机及其Hyper-V主机之间的数据交换。
- 从Hyper-V的控制台启用的虚拟机的关机。
- 启用虚拟机的Hyper-V主机之间的时间同步。
- 启用对NumLock键BIOS的价值为Hyper-V主机上的虚拟机。
- 设置标识虚拟机是否具有高可用性,也就是虚拟机部署在Hyper-V主机群集或思杰XenServer主机群集的节点上。
- 设置,确定是否虚拟化来宾服务安装部署Hyper-V主机上的虚拟机上。
- 秒数启动虚拟机之前延迟。
- 环境标识用于一个虚拟机操作系统。
- 启动和停止虚拟机的操作。
- 环境限制虚拟机的自助服务用户可以创建数。
- 设置用于开关,谁属于多个角色自助服务用户用来管理虚拟机的角色。
- 设置的ESX主机到VMware资源池分配上的虚拟机。

如果你想改变一个虚拟软驱,虚拟光驱,虚拟网络适配器,或与特定虚拟机相关联的虚拟SCSI适配器的属性,使用Set-SCVirtualFloppyDrive,设置SCVirtualDVDDrive,设置SCVirtualNetworkAdapter,或Set-SCVirtualScsiAdapter cmdlet的分别。

 

 

导出部分,这里导出的属性角度,但是导入部分只写了云,如果说意外情况发生,用户权限部分也丢了,那也是可以修改一下恢复的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Import-Module  virtualmachinemanager
  
$vmmserver  "sc-vmmsp1"
  
$date1  = date
  
$extime  = ( Get-Date  -Format  'yyyyMMddHHmm' )
  
$filename  "d:/vmmreport"  $extime  ".txt"
  
$filename2  "d:/hvcloud"  $extime  ".csv"
  
echo  "<#记录用户组" |out -file  -Encoding utf8 -Force  $filename
  
Get-SCUserRole  -VMMServer sc-vmmsp1 |select  name |out -file  -Append -Encoding utf8 -Force  $filename
  
echo  "#记录云" |out -file  -Append -Encoding utf8 -Force  $filename
  
Get-SCCloud  -VMMServer sc-vmmsp1  |select  name |out -file  -Append -Encoding utf8 -Force  $filename
  
echo  "#>" |out -file  -Append -Encoding utf8 -Force  $filename
  
get-vm  -name *|?{ $_ .HostName  -notlike  "hv-re-bj*"  -and  $_ .cloud  -ne  $null } |select  name,hostname,cloud,owner,operatingsystem,computernamestring,startaction,stopaction,hostgrouppath,description,cpucount  |Export -Csv -Encoding utf8 -Force  $filename2



导入部分,需要手动定义一下csv文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$filenamecsv  "d:/hvcloud201508071645.csv"
  
$vmmserver  "sc-vmmsp1"
  
Import-Csv  -Path  $filenamecsv  foreach  {
  
$cloud2  $_ .cloud
  
$cloud  Get-SCCloud  -VMMServer  $vmmserver  |?{  $_ .name  -eq  $cloud2 }
  
$name  = $_ .name
  
$hostname  = $_ .hostname
  
$VM  Get-SCVirtualMachine  -VMMServer  $vmmserver  -Name  $name | where { $_ .VMHost.Name  -eq  $hostname }
  
set-vm  -vm  $vm  -cloud  $cloud  |select  name,vmhost
  
}

本文转自 九叔 51CTO博客,原文链接:http://blog.51cto.com/jiushu/1683154,如需转载请自行联系原作者

相关文章
|
23天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
3月前
|
存储 SQL 数据挖掘
虚拟化数据恢复—EXSI虚拟机误还原快照的数据恢复案例
虚拟化技术原理是将硬件虚拟化供不同的虚拟机使用,一台物理机上可以有多台虚拟机。人为误操作或者物理机故障会导致上层虚拟机不可用,甚至虚拟机里的重要数据丢失。下面给大家分享一个vmware虚拟化误操作还原快照的数据恢复案例。 虚拟化数据恢复环境: 一台由物理机迁移到EXSI上面的虚拟机,迁移完成后做了一个快照。该虚拟机上运行SQL Server数据库,记录了几年的数据。 EXSI虚拟化平台上一共有数十台虚拟机,EXSI连接了一台EVA存储,所有的虚拟机(包括故障虚拟机)都放在EVA存储上。
|
5月前
|
存储 SQL 运维
服务器数据恢复—Isilon存储误删除vmware虚拟机的数据恢复案例
Isilon存储使用的是分布式文件系统OneFS。在Isilon存储集群里面每个节点均为单一的OneFS文件系统,所以Isilon存储在进行横向扩展的同时不会影响数据的正常使用。Isilon存储集群所有节点提供相同的功能,节点与节点之间没有主备之分。当用户向Isilon存储集群中存储文件时,OneFS文件系统层面将文件划分为128K的片段分别存放到不同的节点中,而节点层面将128K的片段分成8K的小片段分别存放到节点的不同硬盘中。用户文件的Indoe信息、目录项及数据MAP则会分别存储在所有节点中,这样可以确保用户不管从哪个节点都可以访问到所有数据。Isilon存储在初始化时会让用户选择相应的
79 12
|
6月前
|
存储 数据管理 数据处理
网络的备份系统
【6月更文挑战第21天】网络的备份系统
105 2
|
7月前
|
存储 SQL 数据库
虚拟化数据恢复—ESXI虚拟机误还原快照的数据恢复案例
虚拟化技术原理是将硬件虚拟化给不同的虚拟机使用,利用虚拟化技术可以在一台物理机上安装多台虚拟机。误操作或者物理机器出现故障都会导致虚拟机不可用,虚拟机中的数据丢失。 虚拟化数据恢复环境: 有一台虚拟机是由物理机迁移到ESXI上面的,迁移完成后为该虚拟机做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了5年左右的数据。 该ESXI上共有二十几台虚拟机,EXSI连接一台某品牌EVA存储,所有的虚拟机(包括故障虚拟机)都存放在该EVA存储上。
|
7月前
|
存储 虚拟化 索引
虚拟机数据恢复-虚拟机还原快照原理和误还原快照的数据恢复方案
由一台物理服务器迁移到ESXI上的虚拟机,虚拟机迁移完成后做了一个快照,该ESXI上面一共运行了数十台虚拟机。某天工作人员不小心将快照进行了还原,虚拟机内的数据还原到了数年前刚迁移过来时的状态,迁移过来后的这几年更新的数据全部被删除。
虚拟机数据恢复-虚拟机还原快照原理和误还原快照的数据恢复方案
|
弹性计算 缓存 Ubuntu
VMware备份文件即时恢复功能全新发布
HBR的VMware备份/恢复都是整机维度的,但是有些时候,我们或许只想要恢复备份中的某个文件,这样在恢复一个完整的虚拟机就有点高射炮打蚊子了。我们能不能直接从备份的数据里捞出来想要的文件呢?文件级恢复的功能便应运而生。
507 0
VMware备份文件即时恢复功能全新发布
|
存储
阿里云混合云备份如何还原虚拟机备份?
前面我们介绍了混合云备份服务如何进行虚拟机备份,这次我们再来介绍一下,如何还原虚拟机备份。 当被保护虚拟机需要从备份点还原的时候,打开客户端控制台找到要还原的备份直接恢复数据就可以了。 下面我们来介绍如何还原一个虚拟机备份。
908 0
|
存储 数据中心 虚拟化
阿里云混合云备份发布vSphere虚拟机备份服务
阿里云发布了vSphere虚拟机备份上云服务(HBR for vSphere),利用混合云备份服务可以将虚拟机镜像备份上云,避免了传统备份方案复杂的软件部署,存储资源规划,异地备份保护等难点,客户在网络带宽有限的条件下依然能够有效地保护vSphere虚拟机数据。
3412 0