Linux的正常關機

2021-06-22 12:25:09 字數 1987 閱讀 7296

azure

上的iaas

虛擬機器可使用多種方式關閉,例如通過

azure

管理門戶、

azure powershell cmdlet

或cli

工具,甚至還可以由互動式登入的使用者關閉。

azure

平台本身甚至也能關閉虛擬機器以執行平台維護。執行在本地裸機中的

linux

系統的關閉流程很好理解,但是這一切到了雲上如何執行呢?

在azure

上啟動正常關機

在azure

中關閉linux

虛擬機器的流程與本地模式基本一樣。當使用者登入並執行

「/sbin/shutdown now」

後,正常結果是系統將立即開始停止任何正在執行的服務,並最終關閉整個系統。當然,具體機制在一定程度上取決於使用的

linux

版本和init

系統(通常是

sysv

、upstart

或systemd

),但結果是一樣的。

然而從門戶**或

azure

平台啟動關機時又會發生什麼呢?簡單來說,答案會是,會發生幾乎相同的事情。在這些情況下,

azure

將會與主機通訊,啟動對來賓

linux

系統的正常關機。在

hyper-v

和azure

環境下,執行正常關機的訊號來自於虛擬化管理程式,由

hv_utils

驅動程式處理。該驅動程式是我們包含在

linux

核心中的

linux

整合服務的一部分。該功能稱為整合關機。

收到虛擬化管理程式的訊號後,

hv_utils

驅動器將啟動

linux

來賓作業系統的正常關機,所啟動機制與使用者手動執行

「/sbin/shutdown now」

基本相同。在

hv_utils

收到虛擬化管理程式發出的訊號後,將向日誌(通常是

/var/log/messages

或ubuntu

系統中的

/var/log/syslog

)傳送以下資訊,表明

linux

系統已由虛擬化管理程式關閉:

需要注意的是,正常關機過程開始後,

azure

平台不會一直等下去。此平台會留出

5

分鐘時間,等待虛擬機器正常關機。如果

5 分鐘過後虛擬機器仍在執行,此平台將強制關閉虛擬機器。這一點非常重要,一定要確保您的

vm 執行的所有指令碼都能在既定時間內完成隨後徹底關機。

管理關機流程

azure

中linux

使用者的乙個共同要求是,當

azure

啟動vm

正常關機時,他們的應用程式能夠正常關閉。現在我們已了解手動關機和虛擬化應用程式啟動關機使用相同的機制,我們只需使用現有

linux init

系統就能確保應用程式正常關閉。

大多數情況下,現有

sysv

、systemd

或upstart

指令碼將足以正常關閉應用程式。但是在這些指令碼尚不足以正常關閉應用程式或需要執行額外流程來「清理

」應用程式時,可以執行以下操作:

不過就像

linux

本身一樣,這裡可能不會有乙個適合所有版本和工作負荷的萬全之策。重點在於,儘管有很多的解決方法,要在

hyper-v

或azure

上徹底關閉我們的

vm,我們需要採取的做法並無特別之處。我們仍然能夠使用特定

linux

版本上的常規程式和機制,同時還能享受將這些系統託管至

azure

的優勢。

本文翻譯自:



ZT 無法正常關機?

來自 http soft.deepin.org read.php?tid 639783 我有個老師跟我說他的電腦有點問題,就是電腦無法正常關機,也就是說 開始 關閉計算機 關閉 後,沒有任何反應,反而還能做其他的事情 就是等於沒按一樣 試試以下方法 方法一 方法二 1.點 開始 設定 控制面板 電源...

電腦不能正常關機

經常有朋友反映,自己的電腦安裝後關閉計算機總是提示 你現在可以安全關閉計算機了 然後要按下電源才能徹底關機。出現這種現象的windows xp基本都是使用ghost轉殖安裝的,而產生這種問題的根本原因是電源的設定不正確所導致的。出現這種問題之後,很多朋友採取了最極端 效率最低的處理方法,那就是換一張...

非正常關機導致的開機很慢

前些天,我正在高興的上網,沒辦法,只得生開,這網還是要上的.麻煩來了,機子在要彈出那方熟悉的滾動條,即載入應用程式設定前,就為這個畫面,機子用了二十幾分鐘.當有這個畫面的時候,在彈出登入對話方塊的時候又用了十幾分鐘.我一般相信機子遇到這要的問題一般是軟體問題,所以判斷是中病毒了,或是有什麼外掛程式的...