Code Section

Tuesday, July 31, 2018

VMware 小技巧 - 縮小 Workstation 的虛擬機 Virtual Disk 來釋放磁碟空間

VMware Workstation 可以安裝在 Windows 或 Linux 上,可用來建立各種作業系統的 Guest OS ,做 Lab 使用非常方便,從以前到現在的版本 14.1,一路走來應該超過 15 年有囉,算是相當老牌且執行穩定的虛擬軟體。

在使用 VMware Workstation 在 New Virtual Machine 新建虛擬機時,如果是選擇 Custom (advanced),在過程中精靈會詢問 Virtual Disk 的建立格式:

Virtual Disk 選項說明:
(勾選) ✔ Allocate all disk space now.:建立為 Thick Virtual Disk,建立速度較慢,需等待數十秒至數分鐘的建立時間。
(不勾) □ Allocate all disk space now.:建立為 Thin Virtual Disk,建立速度較快,不需等待。

Thick Virtual Disk:會一開始就取得 disk size 的磁碟空間,設定的數字是多少,就佔多大的磁碟空間。
Thin Virtual Disk:一開始先不取得磁碟空間,待 Guest OS 真的要放入資料時再向 Host 要求磁碟空間。
因為 Workstation 上的環境多半為測試性質,不需要太好的寫入效能,通常建議採用 Thin Virtual Disk 會比較恰當,可節省磁碟空間,也可以用來建立較多個 VM 及 Virtual Disk。

Store virtual disk as single file:存為單一個 VMDK。
Split virtual disk into multiple files:存成多個 VMDK,每個檔案最大為 2GB,寫滿 2GB 之後再產生一個新檔案繼續寫入。這個選項當初應該是為了 FAT32 檔案格式,單檔無法超過 2GB 而生,不過在 Win7 之後普遍是採用 NTFS 或 exFAT 格式,FAT32 已經較少使用,而且對於空間較大的磁碟,Win7 在格式化選項也會把 FAT32 藏起來,所以現在比較少會遇到這個問題。

今天來討論的是如何善用磁碟空間,讓你可以在有限空間內,建立更多個 Virtual Machine。主要是針對 Thin Virtual Disk 才會有壓縮 (Compact) 或清理 (Clean Up) 功能,Thick Virtual Disk 並不提供,因此 Thick 種類不在此次討論內。

Virtual Disk 狀態說明:
Current size:目前佔用的實際容量。
System free:存放此VM及虛擬硬碟的磁碟可用空間。
Maximum size:可存放的最大容量,也就是在建立虛擬硬碟時指定的容量。

Thin Virtual Disk 的特性,是在 Guest OS 寫入資料時,才會真實佔用 Host 的磁碟空間,但在 Guest OS 刪除資料時,並不會自動歸還 Host 的磁碟空間。所以我們的目的,就是縮小 Virtual Disk 的 Current size,讓它與 Guest OS 內存放的真實資料容量接近,以節省 Host 不必要的磁碟空間消耗。

要釋放 Thin Virtual Disk 佔用的磁碟空間有兩種方法,注意虛擬機必須是 Power Off 狀態:
(1) Defragment (重組虛擬硬碟) >>> Compact (壓縮虛擬硬碟)。
(2) VM >>> Manage >>> Clean Up Disks...,會提供使用空間 (used by this VM)及可回收空間 (Reclaimable space)資訊,確定要做按下 Clean Up now 就會開始進行。
[註1] 方法(2) 只適用 Windows Guest OS,且需安裝 VMware Tools。
[註2] 在更久之前的版本 (before VMW 8.x),VM 要在 Power On 狀態,先在 Guest OS 內做磁碟重整後,再利用 VMware Tools 來進行 Shrink disk,但這個舊方法已被淘汰,而且通常只有 Windows 才有提供磁碟重組工具。

方法(1) Defragment → Compact:

方法(2) Windows Guest OS 做 Clean Up Disks:

方法(2) Linux Guest OS 沒有 Clean Up Disks 功能:

Clean Up Disks 是在 VMware Workstation 9 之後的新功能,包括 VMware Fusion 及 VMware Player 也有提供,幾個原因推薦大家使用:
(1) 提供預估可回收空間 (Reclaimable space)這點我覺得很貼心,可以讓你判斷效果後再決定是否要做。
(2) Clean Up Disks 的壓榨效果會比 Compact & Shrink 更好,而且連同 Snapshots 也會一併壓榨。
(3) Clean Up Disks 可直接對現有 VMDK 進行處理,不需要額外磁碟空間做 Virtual Disk 的搬移運作。
(4) 稍嫌可惜的是僅適用於 Windows Guest OS。
(詳細可看<<參考資料>>的 VMware Documentatoin 說明)


<<參考資料>>
Clean Up a Virtual Hard Disk on Windows Hosts - VMware Workstation Documentation Center

How to Shrink a VMware Virtual Machine and Free Up Disk Space

幫 VMware 9 磁碟檔減肥 & 阿伯ㄚ的部落格 - lan14 # 天空部落 TIAN #

Defragmenting and shrinking VMware Workstation virtual machine disks (2019649)

Reduce the Size of Virtual Machine Disk in VMware Workstation


〈本文同步刊載於痞客邦部落格〉
VMware 小技巧 - 縮小 Workstation 的虛擬機 Virtual Disk 來釋放磁碟空間 @ 狸貓先生愛廢話講堂 :: 痞客邦 ::

Symantec 動手做 - SEP Manager 12.1.x 忘記密碼之非官方重設方法

★★!!警告!!★★
此種重設密碼的解決方式不被 Symantec 官方承認,也不鼓勵此方法,除非官方建議方法都沒辦法執行,否則請勿嘗試,若有風險請自行負責。

〔名詞說明〕
SEP = Symantec Endpoint Protection,賽門鐵克端點防毒方案。
SEPM = Symantec Endpoint Protection Manager,端點防毒的管理中心。

以往在 Symantec Endpoint Protection 12.1.1 (12.1 RU1)之前的版本,在 \Symantec Endpoint Protection Manager\Tools 安裝目錄下,有個批次檔 resetpass.bat 可以協助重設 Symantec Endpoint Protection Manager 的管理者密碼。

但 Symantec 為了加強安全性機制,在 SEP 12.1.1.1 (12.1 RU1 MP1) 之後的版本,安裝目錄內不再提供 resetpass.bat。之前討論區有人說開 Case/Ticket,Symantec Support 便會寄送 resetpass.bat 給使用者,但此方式可能僅為過度期,目前的官方說法是不提供此方法,並且使用此種方法可能會造成資料庫毀損等嚴重後果。(Symantec no longer supports the script. In versions later than 12.1 RU1 MP1 (12.1.1.1), the script may cause damage to Symantec Endpoint Protection Manager or to the database.)

Symantec 在 SEP 12.1.1.1 後的版本提供幾種方法,協助管理者在忘記密碼時,能夠重設密碼:
(1)按登入畫面的「Forgot your password?」,會透過電子郵件發送臨時密碼 (Temporary Password)給管理者。
(2)還原 SEPM 資料庫,請詳閱<<參考資料>>的 Restoring the database。
(3)重新安裝或重新設定 SEPM,請詳閱<<參考資料>>的 Reinstalling or reconfiguring Symantec Endpoint Protection Manager。

方法(1) 可查看以下檔案,確認管理者的電子郵件設定值:
檔案 \Symantec\Symantec Endpoint Protection Manager\tomcat\etc\sepm_settings.properties
設定值 adminMailReciptants=xyz@aaa.bbb

其實方法(1)是比較方便的,但如果 SEPM 的 SMTP Server 並無正確設定的話,當然臨時密碼信件是怎麼樣都無法收到的。不過方法(2)及方法(3)會較為複雜,建議需要有經驗的 SEP 管理者來做會比較妥當,當然平時的 SEPM database and policy files 備份工作也不可少,在需要用到時也會降低救援的困難度。

下圖為方法(1) Forgot your password 的操作方法。

<<非官方解法>>
★★!!警告!!★★
此種重設密碼的解決方式不被 Symantec 官方承認,也不鼓勵此方法,除非官方建議方法都沒辦法執行,否則請勿嘗試,若有風險請自行負責。

執行前確讀確認安裝目錄如下:
C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager

將檔案放在 \Symantec Endpoint Protection Manager\Tools 下,以管理者權限執行。

在網路上找到的兩個 batch 檔都放在<<附檔收錄>>提供給需要的人下載:
(1) sepm_resetpass:舊版 SEP 12.1 的 resetpass.bat,討論區上有人說在 12.1.x 執行也有效果。
(2) sepm_dbtools-resetpass:網路上有神人從 SEPM 內的 dbtools 修改而來,<<參考資料>>內有網站連結,有朋友在 12.1.6 上執行後驗證有效。

因為我手上沒有 SEP 環境可以驗證,請大家做任何動作前請先備份系統 (或是做系統快照),以免造成無法預期後果。
執行後會將管理者密碼重設為以下資訊:
Username: admin
Password: admin

<<參考資料>>
Resetting a forgotten Symantec Endpoint Protection Manager password

Restoring the database

Reinstalling or reconfiguring Symantec Endpoint Protection Manager

How to Reset Symantec Endpoint Protection Manager Console password in SEP 12.1 | Symantec Connect Community

how to reset admin password on SEPM 12.1.x? | Symantec Connect Community

Symantec Endpoint Protection Manager 12.1 Password Reset | What Kat Did

Symantec Endpoint Protection Manager 12 admin密碼忘記且無法通過郵件重設

<<附檔收錄>>
sepm_resetpass.zip
sepm_dbtools-resetpass.zip


〈本文同步刊載於痞客邦部落格〉
Symantec 動手做 - SEP Manager 12.1.x 忘記密碼之非官方重設方法 @ 狸貓先生愛廢話講堂 :: 痞客邦 ::

Monday, July 30, 2018

Fortinet FGT 動手做 - 整合免費的 Google Authenticator 兩步驟驗證 Part 2

因此我不禁思考,FortiGate 可以採用自家產品 FortiToken 作為 OTP Token 來進行兩階段驗證,但是我們能不能改成使用 Google Authenticator 來作為我們 FortiGate 的「兩步驟驗證」工具呢?

原先我有幾個想法 (Theory):
(T-1) FortiGate 可支援透過 Radius 通訊協定,與 3rd Party 的認證設備做身份驗證的溝通。(如下圖說明)
[✖] (T1-A) Google Authentication 並未提供 Radius 的溝通方式。

下圖為 T1 的實踐方式,FortiGate 與 RSA Authentication Manager 透過 Radius 通訊協定整合,使用者輸入帳號及 Passcode 登入。
<註>登入時先查看 Token 產生的動態密碼,並將原先的密碼 (Password)與 Token 動態密碼 (Token Code)合併為 Passcode。

(T2) 利用 Radius Server 作為 FortiGate 的遠端認證主機,由 Radius Server 往外將第二道認證拋給 Google Authentication。
[✖] (T2-A1) 原本考慮 Radius Server 採用 Microsoft NPS (Network Policy Server) on Windows,視窗介面較好操作,但 NPS 不直接支援這種做法。(下段有說明原因)
[✔] (T2-A2) Radius Server 採用 FreeRADIUS on Linux,再由 FreeRADIUS 拋給 Google Authentication 作動態密碼驗證。

來說說 T2-A1 的原因,Microsoft NPS 無法自由調整設定或客制,但 NPS 能設定條件,將符合條件的往外丟給其他 Remote Radius Server 作驗證:
(1) 如同文章開頭提到的,Google Authentication 並無提供 Radius 溝通方式,所以此路不通。
(2) 有些商用的 2-Factor Authentication 設備可支援 Radius 通訊協定,同樣也有提供 App 下載可作為 Mobile Token,就可與 NPS 做到 2FA 認證整合,至於授權計費方式就不細究,因為已經背離此篇的討論方向。

所以就朝 T2-A2 的方向,在 Linux 上安裝 FreeRADIUS,加上 Google Authenticator 認證機制,用這台來當作 FortiGate 的外部 Radius Server,看是否能達到使用 Google Authenticator 作為 FortiGate 的「兩步驟驗證」工具。

首先準備好 CentOS 6.7 64-bit 環境,為什麼是這個版本呢?因為我手上剛好有之前安裝好的 VM,不需要從頭開始安裝,而且 CentOS 也很容易安裝,這邊就不贅述如何安裝 Linux 作業系統,當然你要採用更新的 CentOS 7 應該也是沒問題的。

至於如何安裝 FreeRADIUS 及 Google Authenticator Module 做到 2FA 整合呢?下一篇我會再來詳細說明。



<<參考資料>>

Fortinet FGT 動手做 - 整合免費的 Google Authenticator 兩步驟驗證 Part 1

在現在的數位生活時代,Google 服務也漸漸成為密不可分的一部分,每天都會收發信件的 GMail、存在檔案及分享給別人的 Google Drive、排定每天行程的 Google Calendar、與手機通訊錄同步的 Google Contacts、上傳照片分享相簿的 Google Photos,當然還有每天要用幾百次搜尋的 Google Search,幾乎是每天一睜開眼睛就需要 Google。我常會開玩笑說,有很多網站幾天連不上都沒關係,但是如果哪天突然連不上 Google 服務,會不知道今天排定什麼事、沒有那麼多好用的工具,要怎麼樣開始一天的工作,感覺超恐慌的。

Google 的雲端服務是如此的方便,在任何時間、任何地點、任何裝置,只需要輸入帳號和密碼登入後,就能存取你要的資料、使用你要的服務,而帳號和密碼當然就是最重要的鑰匙,保護著你的所有重要資料。雖然這樣的機制看起來似乎很安全,但其實不然,如果使用習慣不好,或是常在非個人的裝置上登入,其實帳號和密碼很容易會被有心人取得。

Google 希望盡可能提供更安全的方法來保護使用者的帳戶,在幾年前推出「兩步驟驗證」(或叫做 兩階段驗證、雙重驗證、雙因子驗證)就是一個不錯的解決方案。在啟動兩步驟驗證後,在使用者輸入帳戶和密碼後,會多加一個驗證動作,需要輸入你手機上看到的動態驗證碼,來驗證登入者是否為本人。

「兩步驟驗證」在以往智慧型手機還不普遍的時候,是採用 SMS 簡訊方式,傳送到當初註冊時所填寫的手機號碼,但使用者需自行支付簡訊傳送費用。在智慧型手機普及後,Google 開發出 Google Authenticator 的 App,安裝在 Android/iOS 手機上,經過簡單的設定之後,它就會產生你的帳號「兩步驟驗證」的隨機驗證碼,不需要額外的費用。

Google Authenticator 是一種方便又免費的「兩步驟驗證」工具,因此後來有許多雲端服務,也都陸續支援採用 Google Authenticator 作為他們的「兩步驟驗證」工具,以加強用戶的安全性,讓使用者不需要在手機上安裝多個隨機驗證碼 App,也省下自行開發及維護驗證服務的費用。

因此我不禁思考,FortiGate 可以採用自家產品 FortiToken 作為 OTP Token 來進行兩階段驗證,但是我們能不能改成使用 Google Authenticator 來作為我們 FortiGate 的「兩步驟驗證」工具呢?下一篇我們來看這個構想該要如何進行。

Tuesday, July 24, 2018

VMware 豆知識 - 虛擬環境的 Virtual Machine 組成元件有哪些

在實體的世界中,眼睛看得到的都是就是各個硬體元件,例如一台電腦,拆開之後看得到就是主機板 (包含內建的顯示卡、磁碟控制器、網路卡、音效卡…等)、處理器、記憶體、硬碟等組成元件。

而轉換到了虛擬世界,由於每台實體機器都變成了虛擬機 (Virtual Machine, VM),不論是 Host OS 型態或是 Hypervisor 型態的虛擬化,在虛擬化平台上,每個虛擬機都只是由底層執行的一個程序 (Process),所以每台虛擬機就變成了一個資料夾,裡面有著這個虛擬機的許多組成檔案,對應到實體環境所看到的各個硬體組成元件。

Host OS 型態的 Virtualization,在原來的作業系統上,執行虛擬化軟體,模擬出數個 VM。(如下圖)

Hypervisor 型態的 Virtualization,這層 Hypervisor 就是底層的作業系統,它本身具備虛擬化功能,可直接模擬出數個 VM。(如下圖)

簡單來說,實體與虛擬的常用零組件對照方式為:
(實體)處理器 CPU --> (虛擬)描述設定檔
(實體)記憶體 Memory --> (虛擬)描述設定檔
(實體)顯示卡 VGA --> (虛擬)描述設定檔
(實體)磁碟控制器 --> (虛擬)描述設定檔
(實體)網路卡 NIC --> (虛擬)描述設定檔
(實體)音效卡 Audio --> (虛擬)描述設定檔
(實體)光碟機 DVD-ROM --> (虛擬)描述設定檔
(實體)硬碟 Hard Disk --> (虛擬)虛擬硬碟檔案 Virtual Disk File
也就是虛擬機的組成元件,主體就是一個描述設定檔,以及一個或數個的虛擬硬碟檔。

談到 Virtual Machine 的各項組成元件,在 VMware vSphere/ESXi 環境下,各種的組成檔案包括 (依副檔名說明):
vmx:configuration files,虛擬硬體元件組成設定檔。
vmdk:virtual disk,虛擬硬碟。
nvram:virtual BIOS state,BIOS狀態檔。
vswp:virtual swap file,虛擬記憶體交換檔。
vmsd:snapshot infomation database,快照資訊資料庫。
vmsn:snapshot state file,快照狀態檔。
-xxxxx.vmdk、-xxxxx-delta.vmdk:delta disk,作完快照後新產生的差異硬碟。
.lck:lock file,目前被系統鎖定禁止從外部更動的檔案 (通常是在執行中會鎖定),會產生檔名對應的.lck。

一般在操作或管理時不需要瞭解這麼多,但有些元件在操作時的變動,會跟儲存空間的消耗息息相關,這就需要管理者多多注意。
佔據較多儲存空間的檔案類型有以下幾種 (通常空間消耗是 GB 等級起跳):
(1)vswp:在 Power on VM 後就會產生的檔案,與該台 VM 的 virtual memory 的大小相同。
(2)vmsn:如果 Take Snapshot 時,勾選 Snapshot the virtual machine's memory,則產生的檔案會包含該 VM 的 configuration+active state+memory,也就是說會比 virtual memory 的大小還要大一些。
(3)-xxxxx.vmdk、-xxxxx-delta.vmdk:在快照後的資料變動,都會改寫到 delta disk,如果這個 VM 的資料異動量大,就會讓 delta disk 的尺寸激升。

上述的情況 (2) 提到,在Take Snapshot 時,勾選 Snapshot the virtual machine's memory。(如下圖)

另外關於 VMware Snapshot 快照還有很多可以談的,會再另開文章來寫,敬請期待。


<<參考資料>>
What Files Make Up a Virtual Machine?

What Files Make Up a Virtual Machine in ESXi 5.5? … in VMware Workstation 10? | TechRant


〈本文同步刊載於痞客邦部落格〉
VMware 豆知識 - 虛擬世界中的 Virtual Machine 是什麼? @ 狸貓先生愛廢話講堂 :: 痞客邦 ::

Sunday, July 22, 2018

HPE Server 硬知識 - ProLiant 的同樣硬體零件竟然會有不同料號?

伺服器是由許多零件組合起來的,但在不同場合我們對料號組成會有不同的需求,所以在「訂購」及「維修」時,雖然是一樣的機器與配件,但在零件的組成清單 (BOM, Bill of Materials)就會有很大的不同。不只是在伺服器的世界,甚至是資訊的世界中,料號 (Part Number)是一個很重要的東西,它能幫助我們與供貨商之間,在溝通時有一致的語言,不然當遇到不同品項的描述或規格很相似,如果沒有用料號作確認,常會遇到雞同鴨講的局面。

HPE 同樣也對伺服器的所有零件訂定料號,對於「訂購」及「維修」的用途及面向不同,作出以下的管理區分:
(1) 有些零件只會出現在「訂購」時所需要的 Option Parts (訂購料件),而有些只會出現在「維修」時所需要的 Spare Parts (備品料件)。〔詳見文章中段的<<訂購 = 買機器>>、<<維修 = 修機器>>〕
(2) 若同樣的零件在兩個場合都有,則會有依場合有不同 Option Parts Number 及 Spare Parts Number 兩種料號。〔詳見文章後半段的 <<同樣零件於訂購/維修時不同料號>>〕

<<訂購 = 買機器>>
當在「訂購」時的機器零件清單,主要以大型組件為基礎,再加上擴充零件。實際情況會比例子複雜,要因應需求加上相對應的零件,像是要購買 PCI-E 卡片,可能需要加買一張 PCI-E Riser Board 才能安裝…等等,但這裡不再繼續往下探討,以免過度複雜,盡量以簡化型號及規格,讓大家容易瞭解。

以 DL380 Gen9 舉例,假設需要的是 1 CPU、64GB Memory、5 x 300GB SAS 2.5 10K Hard Drive、2 Power Supply,那組成清單可拆解為:
(1) 1 x DL380 Gen9 Base Model (1 CPU, 16GB Memory, 1 Power Supply, No Hard Drive)
(2) 3 x 16GB Memory
(3) 5 x 300GB SAS 2.5 10K Hard Drive
(4) 1 x Power Supply

所以 Option Parts 的料號列表就會是:
(1) 1 x 826682-B21:HPE ProLiant DL380 Gen9 E5-2620v4 1P 16GB-R P440ar 8SFF 500W PS Base Server
(2) 3 x 726719-B21:HP 16GB (1x16GB) dual rank x4 PC4-2133P-R (DDR4-2133) registered memory kit
(3) 5 x 872475-B21:HPE 300GB SAS 12G Enterprise 10K SFF (2.5 in) SC 3 yr warranty DS firmware HDD
(4) 1 x 720478-B21:HPE 500W Flex slot platinum hot plug power supply kit

如上圖所示,(1) 就會是一個料號,雖然裡面包含許多零件,一般不會將裡面所有的零件料號列出,如果真要攤開詳細列出,會以大型零件組為主,例如 CPU、Memory、Power Supply、Motherboard 上的附加零件、Rack Rails (滑軌)…等等。

欲知 DL380 Gen9 詳細的 Option Parts,可自行查看文章後的參考資料的官方網站連結:HPE ProLiant DL380 Gen9 Server - Option Parts。

<<維修 = 修機器>>
但如果是在「維修」時,看待這些零件的角度就不同了,在伺服器發生故障時,查看並判斷出故障零件後,不可能是直接更換整台機器或整個機箱 (因為這麼蝦搞會瘋掉!),所以是針對故障的零件或模組 (大部分是指能拆下的最小單位)作更換,因此維修時的 Spare Parts,是針對每個硬體零件的細部料件。

拿 RAID 卡來說,以 DL380 Gen8 常用的卡片 Smart Array P420i/1GB FBWC 舉例,相關的 Spare Parts 維修料件可能會有:
(1) Smart Array P420i 卡片本體 (不含快取模組、電容組,633538-001)
(2) Capacitior Pack (電容組,660093-001)
(3) 1GB FBWC (寫入快取模組,633542-001)
(4) Capacitor pack holder (電容組放置架,687957-001)
(5) Mini-SAS storage cable for 8-bay SFF (2.5 吋硬碟背板 Mini-SAS 接線,675610-001)

欲知 DL380p Gen8 詳細的 Spare Parts,可自行查看文章後的參考資料的官方網站連結:HP ProLiant DL380p Gen8 Server - Spare Parts。

<<同樣零件於訂購/維修時不同料號>>
以上面的訂購的 HPE DL380 Gen9 的 Power Supply 為例子:
[訂購] Option Part Number:720478-B21 HPE 500W Flex slot platinum hot plug power supply kit
[維修] Spare Part Number:754377-001 500 W Flex Slot Platinum hot-plug power supply - Installs in computer chassis as primary or redundant supply (94% efficiency) - Requires 100-240 V ac at 50/60 Hz

可自行於文章後的參考資料的官方網站連結查看更詳細資料:
HPE ProLiant DL380 Gen9 Server - Option Parts
HPE ProLiant DL380 Gen9 Server - Spare Parts


Wednesday, July 18, 2018

HPE Server 動手做 - ProLiant Gen9 的 Embedded Flash 故障造成 Intelligent Provisioning 無法啟動問題

這次來聊聊 Intelligent Provisioning 功能的神秘消失事件。

關於什麼是 Intelligent Provioning,可以看我之前的介紹文:
HPE Server 基礎知識 - 什麼時候要用 Intelligent Provisioning

最近一段時間,在幾台 ProLiant Gen9 發生類似的問題:
(1)無法進入 Intelligent Provisioning,開機時無 F10 訊息提示。

(2)在 iLO 的 Event Log 出現以下錯誤訊息:
Embedded Flash/SD-CARD: Embedded media manager failed initialization.
Embedded Flash/SD-CARD: Embedded media manager failed media attach.
Embedded Flash/SD-CARD: Failed restart.

(3)懷疑 Intelligent Provisioning 功能被 Disabled,按 F9 進入 UEFI System Utilities 或 RBSU,發現 Intelligent Provisioning 啟動選項消失。

<<升級及修復/載點請見下方的"【下載連結集合】>>
(1)升級 iLO 版本,建議升到 iLO 4 2.55 以上。
可以由 iLO https 頁面 Administration → Firmware,直接使用檔案進行升級,或是在 OS 內執行修正檔進行升級。
需升級到 iLO 2.42 版以上,才能夠支援步驟(3)將內建媒體格式化。

(2)在 OS 上安裝 iLO 設定工具,Windows/Linux/VMware ESXi 及版號,各有不同對應版本。
VMware ESXi 6.0: HP ESXi Utilities Offline Bundle for VMware vSphere 6.0 2.4 (Oct 2015)
Windows: HP Lights-Out Configuration Utility for Windows 1.5.0 (Oct 2016)
Linux: HP Lights-Out Online Configuration Utility for Linux x86_64 4.6.0 (Nov 2015)

(3)使用以下 XML 及 iLO 工具,將 embedded flash 格式化清除,作完後需要 Reset iLO 才會生效,確認錯誤訊息是否有再度出現。
用來格式化 flash 的參數檔:
RIBCL Scripts - Fortmat embedded media (flash) for iLO 4 version 2.42 or later
<!-- RIBCL Sample Script for HP Lights-Out Products -->
<!--Copyright (c) 2016 Hewlett-Packard Enterprise Development Company,L.P. -->
<!-- Description: This is a sample XML script to force format all -->
<!-- the iLO partitions. -->
<!-- iLO resets automatically for this operation to take effect -->

<!-- Warning: This command erases all data on the partition(s) -->
<!-- External providers will need to be re-configured if -->
<!-- partition is formatted -->
<!-- Input: VALUE tag: all - format all available partitions -->

<!-- NOTE:You will need to replace the USER_LOGIN and PASSWORD values -->
<!-- with values that are appropriate for your environment -->

<!-- See "HP Integrated Lights-Out Management Processor Scripting -->
<!-- and Command Line Resource Guide" for more information on -->
<!-- scripting and the syntax of the RIBCL XML -->

<!-- Firmware support information for this script: -->
<!-- iLO 4 - Version 2.42 or later. -->
<!-- iLO 3 - None. -->
<!-- iLO 2 - None. -->

<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="Administrator" PASSWORD="">
<RIB_INFO MODE="write">
<FORCE_FORMAT VALUE="all" />
</RIB_INFO>
</LOGIN>
</RIBCL>

在 ESXi 下執行格式化指令:
[root@esx29:~] /opt/hp/tools/hponcfg -f /tmp/format-flash
HP Lights-Out Online Configuration utility
Version 4.0-13 (c) Hewlett-Packard Company, 2011
Firmware Revision = 2.55 Device type = iLO 4 Driver name = hpilo
iLO IP Address: 10.40.2.39
Forcing a format of the partition after the iLO reset.
Script succeeded

清除成功後,在 iLO Event Log 會看到訊息 "storage device have been formatted."。

在 System Information → Firmware Version Info 會看到版本為 N/A。

(4)使用 Intelligent Provisioning Recovery Media 開機,重新寫入 embedded flash。
使用 Recovery Media 開機,按 Enter 選擇第一個選項 Intelligent Provisioning Recovery Media 後,會進行 embedded flash 寫入。

開始在 flash 寫入 Intelligent Provisioning 軟體。

(5)重新開機進入 OS 後,從 iLO 檢查 flash 的 firmware 版本狀態是否正常,並檢查 iLO Event Log 的錯誤訊息是否有再度出現。



<<下載連結集合>>
Integrated Lights-Out 4 2.55 (Sep 2017)
Online ROM Flash Component for Windows - HPE Integrated Lights-Out 4 2.55 (15 Sep 2017)

Online ROM Flash Component for Linux - HPE Integrated Lights-Out 4 2.55(15 Sep 2017)

Online ROM Flash Component for ESXi - HPE Integrated Lights-Out 4 2.55(15 Sep 2017)

Lights-Out Configuration Utility
Windows: HP Lights-Out Configuration Utility for Windows 1.5.0 (Oct 2016)

Linux: HP Lights-Out Online Configuration Utility for Linux x86_64 4.6.0 (Aug 2015)

VMware ESXi 6.0: HP ESXi Utilities Offline Bundle for VMware vSphere 6.0 2.4 (Nov 2015)

Intelligent Provisioning Recovery Media
Intelligent Provisioning Recovery Media 1.70 (Oct 2017)

<<參考資料>>
Advisory: (Revision) HPE Integrated Lights-Out 4 (iLO 4) - HPE Active Health System (AHS) Logs and HPE OneView Profiles May Be Unavailable with iLO Firmware Earlier Than 2.42 Causing iLO Self-Test Error 8192, Embedded Media Manager and Other Errors

HP ProLiant Gen8 Server Series - How to Enable or Disable Intelligent Provisioning (IP)?

Activating Intelligent Provisioning
Press F9 to access the UEFI System Utilities.
From the System Utilities screen, select System Configuration → BIOS/Platform Configuration (RBSU) → Server Security → Intelligent Provisioning (F10 Prompt) and press Enter.
Select Enabled.

HP ProLiant Gen8 Server series - How to Reinstall or Upgrade Intelligent Provisioning

VMware vSphere on HP ProLiant Server: How to update online firmware and drivers using Service Pack (SPP)? | Settlersoman - A settler in the SDDC world.

<<附檔收錄>>
RIBCL Scripts - Fortmat embedded media (flash) for iLO 4 version 2.42 or later


〈本文同步刊載於痞客邦部落格〉
HPE Server 動手做 - ProLiant Gen9 的 Embedded Flash 故障造成 Intelligent Provisioning 無法啟動問題 @ 狸貓先生愛廢話講堂 :: 痞客邦 ::

HPE Server 基礎知識 - 什麼時候要用 Intelligent Provisioning

HPE ProLiant Server 在 Gen8 之後,加入新的 Intelligent Provisioning 功能,用以取代原先的 SmartStart。這些軟體都是伺服器的前導軟體,其中一項重要的功能,就是在安裝作業系統前,需要用它來作引導安裝流程。而兩者之間最大的不同點在於,SmartStart 是光碟,在機器紙箱內隨附一同出貨,而 Intelligent Provisioning 是存放在機器內建的 Flash 內,無法拔掉也無法擴充容量,但此功能可以啟用或停用。

緬懷一下 SmartStart CD 的光碟外觀,最後一版於 2011 年底釋出,版本為 8.70B,還有區分 x86/x64 兩個版本。

採用 Intelligent Provisioning 內建機制,可以讓工程師不會忘記帶 SmartStart 光碟出門,或是要陪著客戶東翻西找光碟,找不到還得要到官網重新下載。除了這個之外,個人猜測可能有幾個原因:
(1)因應各家伺服器在 Rack 機型開始拿掉光碟機的趨勢,省下光碟片少砍兩顆樹(咦)。
(2)因應未來 SmartStart 改版逐漸成長,到有天可能胖到連 DVD D5 都裝不下,燒片會變成另一種麻煩,看微軟的 Windows Server 2012 R2 安裝光碟早就超越 D5 的 4.7 GB 容量 。
(3)光碟讀取速度太慢,拿來作 Bootable Disk 狀況會更糟糕,連現在的遊戲機都要先把光碟的內容複製到硬碟讀取,就知道大量讀取是光碟的致命傷,更別說讀取頭雷射功率衰退,或是片子刮傷造成讀取錯誤等狀況。

要進入 Intelligent Provisioning 的方法很簡單,當開機訊息畫面下方出現提示時,按 F10 進入。

進入 Intelligent Provisioning,選擇 Configuration and Install 安裝作業系統。

可經由 Intelligent Provioning 安裝的作業系統包括:Microsoft Windows Server、Red Hat Linux Enterprise、SUSE Linux Enterprise、VMware ESXi。

廠商會針對自家各伺服器機型,提供作業系統支援列表 (詳情可看參考資料),其實這些 Certification and Support 包含了幾項重要訊息:
(1)針對這些支援的作業系統提供驅動程式 (例如 Microsoft Windows Server)。
(2)部分作業系統已內建此機型的硬體的驅動程式 (例如 Red Hat Enterprise Linux)。
(3)當使用這些支援的作業系統時,遇到不穩定或其他問題 (例如 OS 會突然無法動作,需重開機才能恢復),可以登入原廠 Support 頁面建立 Ticket 或 Case,請支援部門協助查看問題。

使用 Intelligent Provisioning 安裝作業系統的好處,除了可以前導軟體可以協助載入完整驅動程式之外,更可以做到 Unattended Install (一般說的無人值守安裝),透過簡單幾個步驟,先行填寫資料及選擇選項,以省下原本標準安裝步驟的等待及資料填寫。

選擇及填寫各項目,包括作業系統版本、語言、分割區大小、電腦名稱、管理者密碼、時區、單位名稱、擁有者名稱。

最後再確認選擇及資訊填寫是否正確,下一步就會開始安裝。

快樂的 Unattended Install (無人值守安裝),包括分割硬碟、複製檔案、重開機進入安裝程序、到 OS 安裝完成,一氣呵成不需要使用者介入。

所以再次提醒,不管是各個廠牌的伺服器,請注意:
(1)作業系統的安裝,請務必透過前導軟體來安裝,直接安裝作業系統,會造成驅動程式安裝不完整,或是以相容模式執行,都可能會造成運作不穩定或其他問題。
(2)若該型號不支援的作業系統,如果用其他手段讓它能在機器上安裝,支援部門有權不受理問題。