SCVMM中「雲」屬性的備份和恢復

2021-09-05 03:56:16 字數 4275 閱讀 6641

昨天快下班收到乙個噩耗,scvmm2012 sp1中的300多虛擬機器的」雲」屬性沒了……具體表現就是在各個已經存在的雲中,看不到一台虛擬機器,具體表現就是,檢視虛擬機器的時候,雲這塊是空的。

出現這種問題到底有多坑爹呢?那就是最終的租戶無法啊在scac以及scvmm的控制台的雲中看到任何虛擬機器,而虛擬機器實際上是存在的。

所以現在的做法是要想辦法恢復這些屬性。

第乙個操作,你需要匯入vmm的模組

import-module virtualmachinemanager

首先拉個表,看看當前的使用者組吧

再看看有哪些雲

好了,基本得到這兩個屬性,比較運氣好的是,虛擬機器的雲屬性雖然沒了,但是虛擬機器的使用者屬性還是存在的,所以可以用powershell慢慢倒回去,原則就是這個虛擬機器屬於這個使用者,那就放到這個使用者的雲中。

我們用兩條命令解決

$cloud = get-sccloud -vmmserver sc-vmmsp1 | where 

get-vm| where |set-scvirtualmachine -cloud $cloud|select name

因為這是用管道來實現的,所以速度不會很快……當然怎麼都不人工做這個事情好很多。

這裡其實也用到了一些篩選的方法,比如用到了and方法,類似下面這樣

#方法是這樣的(1 -eq 1) -or (1 -eq 2)

#那麼具體是怎麼寫的呢?看下面的乙個範例

get-vm|? |?|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

我們先看一下它支援的引數

-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,設定scvirtual***drive,設定scvirtualnetworkadapter,或set-scvirtualscsiadapter cmdlet的分別。

匯出部分,這裡匯出的屬性角度,但是匯入部分只寫了雲,如果說意外情況發生,使用者許可權部分也丟了,那也是可以修改一下恢復的。

import-module virtualmachinemanager

$vmmserver = "sc-vmmsp1"

$date1 = date

$extime = (get-date -format 'yyyymmddhhmm')

$filename = "d:/vmmreport" + $extime + ".txt"

$filename2 = "d:/hvcloud" + $extime + ".csv"

echo "

get-vm -name *|?|select name,hostname,cloud,owner,operatingsystem,computernamestring,startaction,stopaction,hostgrouppath,description,cpucount |export-csv -encoding utf8 -force $filename2

匯入部分,需要手動定義一下csv檔案

$filenamecsv = "d:/hvcloud201508071645.csv"

$vmmserver = "sc-vmmsp1"

import-csv -path $filenamecsv | foreach 

$name =$_.name

$hostname =$_.hostname

$vm = get-scvirtualmachine -vmmserver $vmmserver -name $name| where 

set-vm -vm $vm -cloud $cloud |select name,vmhost

}

微軟雲方案高階頂級群分享成就牛b之路

SCVMM中「雲」屬性的備份和恢復

昨天快下班收到乙個噩耗,scvmm2012 sp1中的300多虛擬機器的 雲 屬性沒了 具體表現就是在各個已經存在的雲中,看不到一台虛擬機器,具體表現就是,檢視虛擬機器的時候,雲這塊是空的。出現這種問題到底有多坑爹呢?那就是最終的租戶無法啊在scac以及scvmm的控制台的雲中看到任何虛擬機器,而虛...

mysql備份和恢復 mysql備份和恢復

目標 備份和恢復的3種方法,掌握mysqldump命令匯出資料,source命令匯入資料 備份必要性 重要資料不丟失 資料轉移 mysqldump客戶端 作用 轉儲資料庫 搜尋資料庫進行備份 將資料轉移到另乙個sql伺服器 不一定是mysql伺服器 mysqldump h 主機名 u使用者名稱 p ...

MySQL的備份和恢復

mysql的備份和恢復 一 備份 工具 mysqldump 1.將資料庫db1備份到mydata.txt mysqldump的絕對路徑 mysqldump db1 user 使用者名稱 password 密碼 絕對路徑 mydata.txt 2.將資料庫db1裡的name表和address表備份到m...