esxi轉centos 5 到pve失敗,出現 mount could not find system /dev/root

咖啡偶最近進行一系列從esxi轉到pve的工作, 其中出現轉CentOS 5這種老舊vm失敗的狀況, 錯誤如下:

Unable to access resume device (LABEL=SWAP-hda3)

mount: could not find filesystem ‘/dev/root’

測試過很多方式, 例如改ide, sata, scsi 等方式都不行,  最後終於找到重建開機程序 initrd 的方式解決,

解決方式如下:

  1. 下載相對應大版本OS , Centos 5.x 都可以
  2. 掛載 Centos 5開機片開機, 輸入 linux rescue(救援模式)
  3. 輸入 chroot /mnt/sysimage 讓系統暫時恢復成原系統的狀態
  4. 刪除/boot/initrd-xxx.img 開機檔案 xxx代表原系統開機時的版本號碼
  5. 查詢一下 /lib/module 是否有xxx版本號碼
  6. 重建開機檔案  mkinitrd /boot/initrd-xxx.img   xxx
  7. 重開機, 卸載Centos 5開機片, ,改由原系統開機測試是否能成功

clonezilla再生龍超好用

自從決定要捨棄vmware esxi 改用 proxmox ve之後 , 連帶思考 vmware converter 的替代方案,

剛好想起clonezilla 再生龍 , 使用後讓我很驚訝, 很棒的一個備份解決方案, 最重要是免費.

再生龍真的是台灣之光, 由台灣的國家高速網路與計算中心所開發.

我試用了兩個作法, 包括:

1. p2p 異機還原(筆電轉桌機)

我的筆電lenovo x230安裝win10, 再由再生龍備份到隨身硬碟, 然後再由隨身硬碟還原到桌機,

還原完畢之後,桌機的win10出現裝置重新設定的訊息,過一陣子再改一下網路設定就能正常使用了.

我想若原機備份還原, 應該就不會出現重新設定訊息,有點類似早期的norton ghost方式.

2. p2v 筆電轉virtualbox vm

筆電已安裝virtualbox , 然後新增一個win10 vm, 該vm含一個虛擬硬碟(還原用途),

vm啟動時, 使用再生龍開機, 掛載隨身硬碟(含x230的備份檔案), 再將隨身硬碟中的x230還原到vm的虛擬硬碟中,

還原成功後, 讓vm重新啟動, win10 一樣會出現裝這重新設定的訊息, 最後完成開機, 成功實現實體主機轉換成虛擬的作法.

再生龍開機後能提供很多功能, 也能連上網路, 掛載網路磁碟機, 再將網路備份的系統還原至新裝置, 非常方便, 剛好偶有一個512MB的隨身碟, 拿來再利用, 非常合適!

安裝Proxmox VE 5.3 注意事項

這陣子積極將vmware esx 轉成 pve 5.3 , 以後遇到安裝注意事項就寫在這裡.安裝

額外安裝套件

1. 查看iscsi設備

  apt-get install  lsscsi

可使用 lsscsi 查看目前iscsi 設備

2. 安裝multipath-tools

 apt-get install multipath-tools

這方式原本是想要讓系統使用iscsi MPIO 的功能,能夠自動切換線路,但似乎設定上很麻煩, 不過還是先安裝起來.
因為這作法可以解決pve若有兩個不同網段網卡連接到Nas的兩個網卡, 造成pve出現兩個相同device的錯誤,

WARNING: PV Lk4DU4-4HO7-of10-g9cR-tsK4-f9Ka-s2FqfC on /dev/sdd was already found on /dev/sdc.

安裝 multipath-tools 之前 , 執行 pvscan 會出現

PV /dev/sdd    VG LVM-FreeNasVM   lvm2

但是安裝之後, 會出現

PV /dev/mapper/36589cfc000000e54a909f483d8485fb6   VG LVM-FreeNasVM

掛載NFS可考慮使用soft的方式掛載,以免因斷線或是線路不穩造成災難:

編輯 /etc/pve/storage.cfg , 在NFS區塊找出 options vers=3 最後面加上 ,soft 參數

列出/刪除cluster的node

1. 列出 pvecm nodes 
2. 刪除 pvecm delnode "Node Name" , 最後記得刪除相關檔案(也可以備份) rm /etc/pve/nodes/"Node Name"

移轉esxi vm至pve

1.  esxi匯出 ova 檔案或是ovf檔案, 並且注意該vm的硬體配置

2. 將ova檔案移至pve能存取的storage 上

3. ssh 登入pve, 使用tar vfx 方式解開ova檔案

4. ssh 登入pve, 將解開的檔案裡面的vmdk轉成qcow2

 qemu-img convert -f vmdk xxx.vmdk -O qcow2 xxx.qcow2

5. 到pve新增vm, 並且確認esxi vm的硬碟, 使用sata或是ide(這部份弄錯會導致無驅動程式,而無法開機)

等到vm新增完畢, 再將步驟4的qcow2檔案覆蓋過去pve上新的vm檔案

 

如何取消ESXi 6.7的密碼複雜度政策

哎呀, 麻瓜公司安裝了ESXi 伺服器, 可是密碼要求非常複雜, 因此麻瓜公司很難接受, 只好想辦法停用密碼複雜度的設定.

  1. 啟用ESXi的ssh,並且登入
  2. 備份/etc/pam.d/passwd , 然後開始編輯
  3. 如圖, 第一行與第三行加上#, 然後將第二行的use_authtok拿掉.

這樣就能改成簡單密碼了, 改完之後,再把備份的檔案還原回去

esxi 6.5 虛擬機器無法開機 File system specific implementation of LookupAndOpen

因為無預警停電,造成esxi server關機 , 其中一個winxp虛擬機器無法開機, 錯誤訊息為:

File system specific implementation of LookupAndOpen

找了很久,終於找到解決方式,步驟如下:

步驟1. 確保 esxi 6.5 更新至 update 2
步驟2. 使用ssh登入esxi server, 進行vmdk檢查
vmkfstools -x check  /path_to/xxx.vmdk
若發現問題, 進行修復
vmkfstools -x repair /path_to/xxx.vmdk

步驟1所述如何更新esxi, 更新方式如下:

1. 使用ssh登入esxi server
2. 開放防火牆
esxcli network firewall ruleset set -e true -r httpClient
3. 查詢esxi可用版本(以6.5為例)
esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep -i ESXi-6.5
4. 更新
esxcli software profile update -p ESXi-6.5.0-4564106-no-tools -d http://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
5. reboot

安裝 esxi 6.x 事前準備工作

巧婦難為無米之炊, IT人員再萬能,沒有虛擬主機服務器, 無法決勝千里之外.
因此IT很需要非專業人員, 將服務器安裝起來, 安裝esxi服務器其實也不難.

情境如下:
服務器有兩個網路卡, 一個對外, 一個對內. 服務器有8G 記憶體以上, 以及兩個usb 4G以上磁碟, 其他如Nas或是使用內部磁碟就配合IT人員指示即可.
目標:
讓服務器能成功安裝esxi虛擬系統, 不須設定對外網路卡, 只需要設定對內ip, 讓IT人員能透過安裝人員的電腦連進去處理後續作業.

1. 下載esxi 6.x 安裝片與下載 rufus
使用rufus 將esxi 6.x的 iso檔案寫進去usb磁碟(4G以上), 讓該磁碟當作開機碟使用
2.安裝esxi
將兩個usb磁碟插入服務器(一個安裝用,一個開機用), 服務器進入bios, 設定步驟1準備好的usb磁碟開機,接下來就照著安裝即可.安裝方式可參考這裡
3. 安裝完畢, 要記得設定管理ip(也就是對內ip), 不需要設定對外ip, 然後讓安裝人員的電腦執行teamviewer或是google遠端桌面, 讓IT人員接手處裡即可.

esxi 6.5 怎麼利用下指令的方式將vm備份下來(ova格式)

1. 確認你的電腦有powershell 5.1以上 ,可到以下網址確認後更新 , 確認指令為 $PSVersionTable

https://docs.microsoft.com/zh-tw/powershell/scripting/setup/installing-windows-powershell?view=powershell-6

2. 第一次執行的時候, 請用管理者身分, 執行powershell

3. 安裝 VMware PowerCLI 

install-Module -Name VMware.PowerCLI

4.  解除安全限制

 Set-ExecutionPolicy RemoteSigned

4. 忽略證書

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

5.連上server

Connect-VIServer  <IP>

系統會要求輸入帳號密碼

6. 執行Get-VM取得所有VM名稱

7.. 匯出 vm (以ova格式)

Get-VM  "VM名稱" | Export-VApp -Destination "C:\vapps\"  -Format Ova

紅色部分是上一個指令下錯

1 2