2014-03-25 52 views
2

我正在運行Stop-AzureVM命令並獲取以下錯誤。無法關閉Azure虛擬機 - 無法控制它並仍然收取費用

據我所知,關閉虛擬機並且不爲此付費的唯一方法是通過此PowerShell命令。

如何關閉和取消分配此虛擬機或以其他方式停止對其收費?

PS C:\Windows\system32> Stop-AzureVM -Name "SQL1" -ServiceName "my-svc-name" -Force -Verbose 
VERBOSE: 10:51:17 AM - Completed Operation: Get Deployment 
VERBOSE: 10:51:17 AM - Begin Operation: Stop-AzureVM 
Stop-AzureVM : InternalError : The server encountered an internal error. Please retry the request. 
At line:1 char:1 
+ Stop-AzureVM -Name "SQL1" -ServiceName "ec-spsvcname2" -Force -Verbose 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : CloseError: (:) [Stop-AzureVM], CloudException 
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.StopAzureVMCommand 

VERBOSE: 10:51:52 AM - Completed Operation: Stop-AzureVM 

我可以連接到虛擬機並關閉它,但它不會解除分配。 我試過重新啓動虛擬機,通過門戶關閉虛擬機,虛擬機也無法運行,但PowerShell仍然給出相同的錯誤。

更新
此鏈接指示狀態需要停止釋放。 http://social.msdn.microsoft.com/Forums/windowsazure/en-US/f608528e-a9f8-45b3-8d23-4211168cc087/stopped-deallocated

此鏈接 - http://www.windowsazure.com/en-us/pricing/details/virtual-machines/ - 規定 狀態If the VM status is "Stopped" you are still being billed. Only status "Stopped (Deallocated)" means that VM is no longer incurring charges.

但是,它也指出,你可以通過門戶停止VM停止充電,這個我相信是不正確 - 因爲據我所知,你不能通過門戶獲得「停止(釋放)」。只能通過PowerShell。

更新 我已經更新了問題的標題,因爲得到收取這只是問題的一部分,我想重新奪回控制權。

+0

如果您停止包含虛擬機的雲服務,這也會讓您「停止分配」。 (假設你想關閉雲服務中的所有虛擬機) – JuneT

+0

@JuneT - 試過了,對於那些失敗的雲服務,它沒有停止釋放,它只是將狀態設置爲停止狀態。 –

+0

使用門戶網站將虛擬機置於停止狀態是完全可能的,您不必爲此付費。我一直這樣做。 –

回答

0

我得到了來自Microsoft支持部門的回覆,確認爲避免計費狀態必須是Stopped (Deallocated)。(雖然從特雷弗·沙利文回答表明他已經看到了不同的行爲)

我還通過門戶網站停止了不同的虛擬機,並且狀態也去Stopped (Deallocated)

我也停止了不同的雲服務和虛擬機的所有云服務去Stopped (Deallocated)

一旦麻煩VM的鑽進了某種故障狀態,停止/通過門戶直接或通過PowerShell的任一沒有工作或didnt放入Stopped (Deallocated)狀態開始。

但是,在Azure中,時間似乎已經癒合了,過去幾天我試圖每天停止/開始幾次但沒有成功,但現在大約72小時後它又開始工作了。

0

您僅針對處於運行狀態的虛擬機開票。請參閱常見問題解答:http://www.windowsazure.com/en-us/pricing/details/virtual-machines/

現在通過用戶界面關閉它。

+0

從我的理解中,這個答案是不正確的 - 我已經用鏈接更新了這個問題。 –

+0

從您的鏈接中可以看到「如果虛擬機狀態爲」已停止「,您仍然被收費,只有狀態」停止(釋放)「意味着虛擬機不再收取費用。 - 它還說明你可以通過門戶阻止虛擬機停止收費,這一點是不正確的 - 據我所知,你不能通過門戶停止(解除分配)。只有通過PowerShell –

+0

我正在閱讀的內容是這樣的:*「虛擬機的計費時間取決於您的虛擬機的部署時間,如果您的虛擬機的部署時間少於一小時,或者多個小時加上幾小時,那麼您將僅在此期間收取費用。Windows Azure不會將部分小時計算爲整小時計費 - 您只需支付虛擬機處於「運行」狀態的時間。「* –

1

如果虛擬機處於「已停止(釋放)」狀態,您可以通過查看虛擬機在儀表板上的狀態從門戶網站看到此狀態。它會聲明「已停止(釋放)」。您可以通過門戶關閉虛擬機,將機器放入「已停止(釋放)」狀態。請注意,門戶網站會警告丟失IP地址。

如果您的虛擬機當前是「停止」而不是「停止(釋放)」,並且您正在爲它付費,那麼啓動它,然後立即通過門戶關閉該虛擬機應該將其置於「停止(釋放)「,這樣你就不會爲此付帳單。

您的機器或訂閱有什麼特別之處嗎?如果它是一個vanilla「Stopped」虛擬機,並且無法啓動它關閉它,請聯繫Windows Azure支持部門尋求幫助。如果您的虛擬機正在運行,並且在關閉時拒絕進入「停止(釋放)」,請聯繫支持部門尋求幫助。

+0

感謝您的回答。不幸的是,沒有標準訂閱的技術支持。你需要付錢。頁面建議在stackoverflow或相關的msdn論壇上提問。 –

0

如果您的虛擬機部署爲CloudService(使用cspkg),那麼您無法解除分配它們,只要CloudService存在,無論它處於何種狀態,都將始終收取費用。如果發生這種情況,您將無法使用在虛擬機選項卡上查看它們。

我不確定這是否適用於您的場景。