顯示具有 VMware 標籤的文章。 顯示所有文章
顯示具有 VMware 標籤的文章。 顯示所有文章

2024年5月23日 星期四

Nutanix平台虛擬機(UBUNTU),利用Veeam備份移轉至VMware平台,安裝套件、系統更新出現錯誤

 mount: /var/lib/grub/esp: special device /dev/disk/by-id/scsi-SNUTANIX_VDISK_NFS_4_0_7672_2d41cbaa_025e_4fac_849c_9e620eff5bff-part1 does not exist.
Errors were encountered while processing:
 grub-efi-amd64-signed
 shim-signed

出現上面的訊息,可以試著刪除config.dat cache檔案:

sudo rm /var/cache/debconf/config.dat

再執行 sudo dpkg --configure -a 試試能否解決問題。


移除 nutanix guest tools:

sudo python3 /usr/local/nutanix/ngt/python/bin/uninstall_ngt.py


UBUNTU系統更新 apt update && apt upgrade 出現錯誤訊息:
E: Method https has died unexpectedly!
E: Sub-process https received signal 4.

編輯 .bashrc 檔案,在第1行增加:export  GNUTLS_CPUID_OVERRIDE=0x1


停用VEEAM備份軟體服務:
sudo systemctl stop veeamtransport.service veeamdeployment.service

sudo systemctl disable veeamtransport.service veeamdeployment.service


2019年11月19日 星期二

VMWare ESXi 6.5 VLAN 串接 CISCO Port-channel 設定

CISCO Switch 設定
設定 Port-channel 時最好不要接網路線或者把一個 Port shutdown,以免造成 loop
#config terminal
(config)#interface gi1/0/1
(config-if)#channel-group 1 mode on
(config-if)#switchport mode trunk

(config-if)#interface gi1/0/2
(config-if)#channel-group 1 mode on
(config-if)#switchport mode trunk

(config-if)#interface po1
(config-if)#switchport mode trunk

檢查 Switch witch 設定,確認 interface gi1/0/1、interface gi1/0/2 和 Port-channel1 是否為 up
#show ip interface brief

#show etherchannel summary
Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)          -        Gi1/0/1(P)  Gi1/0/2(P)

#show interface po1
Port-channel1 is up, line protocol is up (connected) 
  Hardware is EtherChannel, address is 2222.3333.4444 (bia 2222.3333.4444)
  Description: VM_LAB
  MTU 1500 bytes, BW 2000000 Kbit/sec, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Full-duplex, 1000Mb/s, link type is auto, media type is unknown
  input flow-control is off, output flow-control is unsupported
  Members in this channel: Gi1/0/1 Gi1/0/2


VMware ESXi vSwitch 設定
新增 vSwitch 設定,按【新增上行】可加入多張網路介面到 vSwitch

負載平衡 欄位需選擇【根據 IP 雜湊進行路由】


VMware ESXi  VLAN ID 設定
新增 VLAN 連接群組

要新增多個連接埠,重複上圖步驟即可加入多個VLAN到Trunk_vSwitch裡。

設定好的 VLAN 欄位值



如果沒有其他設備的問題,依上面步驟就可設定好 VMWare ESXi VLAN 串接 CISCO Port-channel

我自己是遇到 CISCO Switch 的 VTP mode 被設定為 Server,找了好久才找到問題!!!!!!!!!




2017年5月26日 星期五

VMware OVF Tool 指令模式 匯出、匯入 OVA

指令模式匯出 OVA:

使用指令模式需要到 VMWare 官網下載 VMWare Tool:
https://my.vmware.com/web/vmware/details?downloadGroup=OVFTOOL400&productId=353

下載安裝後,開啟一個<命令提示字元>視窗,並切換路徑到 VMWare Tool 安裝目錄下:
C:\Users\user> cd "C:\Program Files\VMware\VMware OVF Tool\"

執行匯出指令:
./ovftool --noSSLVerify vi://root@192.168.1.200/<guest os 名稱> D:\<匯出的OVA檔名>

vi://  --> ESXi / vCenter特有的路徑

匯出時, guest os 必須 shutdown 狀態

./ovftool --noSSLVerify vi://root@192.168.1.200/CentOS7 D:\CentOS7.ova


指令模式匯入 OVA:

切換路徑到 VMWare Tool 安裝目錄下:
C:\Users\user> cd "C:\Program Files\VMware\VMware OVF Tool\"

執行匯入指令:
./ovftool --datastore=<datastore> --name=<vm name> D:\CentOS7.ova vi://root@192.168.1.200/





2017年4月12日 星期三

Windows 10 Hyper-v 與 VMWare 共存



整理一下網路上大家分享的方法,當作自己的備忘錄,避免之後又找一次。


1.打開具有 系統管理員 權限的 命令提示字元 視窗

2.新增一個開機選項,並會顯示一串機碼
bcdedit /copy {current} /d "Windows 10 關閉 Hyper-V"

出現:
已順利將項目複製到 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}。

3.設定開機時關閉 Hyper-V
bcdedit /set {貼上剛才顯示的機碼} hypervisorlaunchtype OFF

重新開機後就多出一個 "Windows 10 關閉 Hyper-V" 的開機選項。



之後,測試完要怎麼刪除不要的開機選項咧???

使用 bcdedit 指令:
1.先查詢開機項目的機碼,開啟有 系統管理員 權限的 命令提示字元 視窗,輸入:
bcdedit

找到要刪除開機選項,複製 identifier 後面的機碼:

2.刪除開機選項
bcdedit /delete {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

3.再查詢看是否刪掉了
bcdedit


2016年12月26日 星期一

ESXI 開啟 SNMP 服務

先在 vSphere Client ESXI 主機開啟 SSH Service:


利用 SSH 登入開啟 SNMP Service:
esxcli system snmp set --communities public
esxcli system snmp set --enable true

或編輯 snmp.xml 設定檔:
vi /etc/vmware/snmp.xml
內容:
<?xml version="1.0"?>
<config><snmpSettings><enable>true</enable><port>161</port><EnvEventSource>indications</EnvEventSource><loglevel>info</loglevel><communities>public</communities><targets>192.168.1.1@161 public</targets><largestorage>true</largestorage><engineid>00000063000000a100000000</engineid></snmpSettings></config>

註:
<targets>192.168.1.1@161 public</targets>    #指定接收 traps 的 snmp 監控伺服器 IP。
因我是採用 Cacti ESXI Template (http://forums.cacti.net/viewtopic.php?f=12&t=52122),
所以可省略不設定。

設定 Firewall:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true    #允許全部IP連線
esxcli network firewall ruleset set --ruleset-id snmp --enabled true
或者:
esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.1.0/24    #限制連線的 IP
esxcli network firewall ruleset set --ruleset-id snmp --enabled true

或者:


重啟 SNMP 服務:

/etc/init.d/snmpd restart


Cacti 伺服器上測試:
snmpwalk -v2c -c public 192.168.1.1
snmpwalk -v2c -c public 192.168.1.1 .1.3.6.1.2.1.25.3.3.1.2    #取得 CPU 資訊

遇到的問題:
Cacti 連線 ESXI SNMP 有時會出現 :
它在 query 時會有 time out 的現象,但馬上再 query 一次就可以取到資料。
有可能我的主機問題或這個 ESXI Template 版本支援到 5.x 而已,而我的 ESXI 是 v6.5 版本的問題。
解決方式:
把 SNMP Timeout 時間調長一點(調多久自行測試)





2016年12月16日 星期五

ghettoVCB 備份 ESXI Guest OS

還原:ghettoVCB 還原 ESXI Guest OS

ghettoVCB 備份篇:
1.打開 ESXI 伺服器的 SSH Service


2.必須先修改 ESXI 伺服器可安裝非原廠的額外套件
esxcli software acceptance set --level=CommunitySupported
如不修改,安裝 ghettoVCB 時將無法成功安裝

3.下載 ghettoVCB 套件

4.將 ghettoVCB 上傳到 ESXI 伺服器:
如用 vSphere Client 上傳,在儲存區 datastore1 按【右鍵】、【瀏覽資料存放區】
按上傳檔案即可將 ghettoVCB 上傳到伺服器(存放路徑,預設是在: /vmfs/volumes/datastore1)。

5.SSH 工具連線進入 ESXI 伺服器
安裝 ghettoVCB 時,必須輸入完整的檔案路徑,否則安裝時會出現:

esxcli software vib install -v /vmfs/volumes/datastore1/vghetto-ghettoVCB.vib -f
安裝成功的訊息:

6.確認程式正確安裝
在 /opt/ghettovcb/bin/ 下會有兩個檔案:
ghettoVCB-restore.sh
ghettoVCB.sh

7.新增一個 ghettoVCB.conf
ESXI Guest OS 備份到另一個儲存區:
VM_BACKUP_VOLUME=/vmfs/volumes/DataAndBackup/GuestOSBackup    #備份到本機的另一個儲存區
DISK_BACKUP_FORMAT=thin     #建議保留預設值,採用精簡佈建
VM_BACKUP_ROTATION_COUNT=2    #保留幾份 Guest OS 備份檔案
ENABLE_COMPRESSION=0    #備份時是否要壓縮 1啟動 , 0關閉
ENABLE_NON_PERSISTENT_NFS=0    #是否啟用自動掛載及卸載NFS儲存設備機制
UNMOUNT_NFS=0    #執行完就缷載NFS 資料夾 1啟動 , 0關閉
NFS_SERVER=192.168.1.1    儲存設備
NFS_MOUNT=/nas_share    #儲存設備(NAS) 分享的資料夾
NFS_VERSION=nfs    #NFS版本,nfs / nfs4
NFS_LOCAL_NAME=nfs_dir    #掛載到 /vmfs/volumes/ 下的名稱
NFS_VM_BACKUP_DIR=guest_os_backup     #esxi guest os 備份檔放到 guest_os_backup 裡
SNAPSHOT_TIMEOUT=15   
EMAIL_LOG=1    #是否開啟 E-Mail 寄送 LOG。 1啟動 , 0關閉,如要寄送LOG必須再設定打開 SMTP 25PORT 及 FIREWALL
EMAIL_SERVER=msr.hinet.net
EMAIL_SERVER_PORT=25     
EMAIL_DELAY_INTERVAL=1     #是否延遲寄信
EMAIL_TO=example@gmail.com
EMAIL_ERRORS_TO=example@gmail.com
EMAIL_FROM=esxi@gmail.com

8.執行備份
測試備份時出現說我的ESXI版本符合,但我的是 ESXI 6.5.0 版啊!!!!!!!

只好自己動手修改 ghettoVCB.sh 了!

chmod 755 ghettoVCB.sh
chmod +t ghettoVCB.sh
vi ghettoVCB.sh

在紅框處新增 6.5.0 存檔(作者已修改可以支援 6.5.0 版本)
修改後,記得改回原來的檔案權限
chmod 555 ghettoVCB.sh

備份到 NAS NFS 還要修改 ghettoVCB.sh 約在第 769 行,新增支援 6.5.0 版本才能正常備份到 NAS NFS。


ESXI Guest OS 備份到 NFS:
esxi mount 指令先掛載備份的 NAS NFS 資料夾:
手動測試備份到 NAS NFS 資料夾時,需要先把 NAS Share 出來的資料夾掛載到 ESXI 的 /vmfs/volumes 下,所以要先執行:
esxcfg-nas -a -o 192.168.1.1 -s /nas_share nfs_dir    #把 NAS 的 nas_share 資料夾掛載到 ESXI 主機的 /vmfs/volumes/nfs_dir

缷載  NAS、NFS 目錄(有時無法正常缷載,如果有 vSphere Client 建議用它缷載比較OK):
esxcfg-nas -d nfs_dir

修改 ghettoVCB.conf 設定檔為使用 NFS 備份設定:
vi /opt/ghettoVCB/ghettoVCB.conf
內容:
#VM_BACKUP_VOLUME=/vmfs/volumes/DataAndBackup/GuestOSBackup    #備份到本機的另一個儲存區
DISK_BACKUP_FORMAT=thin     #建議保留預設值,採用精簡佈建
VM_BACKUP_ROTATION_COUNT=2    #保留幾份 Guest OS 備份檔案
ENABLE_COMPRESSION=0    #備份時是否要壓縮 1啟動 , 0關閉
ENABLE_NON_PERSISTENT_NFS=1    #是否啟用自動掛載及卸載NFS儲存設備機制
UNMOUNT_NFS=1    #執行完就缷載NFS 資料夾 1啟動 , 0關閉
NFS_SERVER=192.168.1.1    儲存設備
NFS_MOUNT=/nas_share    #儲存設備(NAS) 分享的資料夾
NFS_VERSION=nfs    #NFS版本,nfs / nfs4
NFS_LOCAL_NAME=nfs_dir    #掛載到 /vmfs/volumes/ 下的名稱
NFS_VM_BACKUP_DIR=guest_os_backup     #esxi guest os 備份檔放到 guest_os_backup 裡
SNAPSHOT_TIMEOUT=15   
EMAIL_LOG=1    #是否開啟 E-Mail 寄送 LOG。 1啟動 , 0關閉,如要寄送LOG必須再設定打開 SMTP 25PORT 及 FIREWALL
EMAIL_SERVER=msr.hinet.net
EMAIL_SERVER_PORT=25     
EMAIL_DELAY_INTERVAL=1     #是否延遲寄信
EMAIL_TO=example@gmail.com
EMAIL_ERRORS_TO=example@gmail.com

EMAIL_FROM=root@esxi


9.測試備份 Guest OS:
在 ESXI 主機上輸入: vim-cmd vmsvc 可得看到所有可用的指令
在 ESXI 主機上輸入: vim-cmd vmsvc/getallvms 看到所有的 Guest OS

/opt/ghettovcb/bin/ghettoVCB.sh -g /opt/ghettovcb/ghettoVCB.conf -m VM_NAME      #備份單一個 ESXI Guest OS, VM_NAME指的是在 vSphere Client 看到的 Guest OS 名稱

備份特定 Guest OS :
/opt/ghettovcb/bin/ghettoVCB.sh -g /opt/ghettovcb/ghettoVCB.conf -f /opt/ghettovcb/vmlist -l /tmp/vmbackup_$(date +%F_%H-%M).log      #備份特定 ESXI Guest OS,每個 Guest OS 名稱一行

備份全部 Guest OS :
/opt/ghettovcb/bin/ghettoVCB.sh -g /opt/ghettovcb/ghettoVCB.conf -a -l /tmp/vmbackup_$(date +%F_%H-%M).log     #備份全部 ESXI Guest OS

10.排程備份
修改 root 的排程檔:
vi /var/spool/cron/crontabs/root

新增排程:
30 1 * * * /opt/ghettovcb/bin/ghettoVCB.sh -g /opt/ghettovcb/ghettoVCB.conf -a -l /tmp/vmbackup_$(date +%F_%H-%M).log > /dev/null
或者:
30 1 * * sun,mon,tue,wed,thu,fri,sat /opt/ghettovcb/bin/ghettoVCB.sh -g /opt/ghettovcb/ghettoVCB.conf -f /opt/ghettovcb/vmlist -l /tmp/vmbackup_$(date +%F_%H-%M).log > /dev/null
或者:
30 1 * * 2,4,6 /opt/ghettovcb/bin/ghettoVCB.sh -g /opt/ghettovcb/ghettoVCB.conf -f /opt/ghettovcb/vmlist -l /tmp/vmbackup_$(date +%F_%H-%M).log > /dev/null

存檔時要強制寫入:
wq!



ESXi 再重新啟動後會清除多數的設定檔,包括 root(crontab)、rc.local、service
所以將已修改後的 root crontab 複製一份到 datastore1 並變更檔名為 crontabsroot :

cp /var/spool/cron/crontabs/root /vmfs/volumes/datastore1/crontabsroot

cat /vmfs/volumes/datastore1/crontabsroot

#min hour day mon dow command
1    1    *   *   *   /sbin/tmpwatch.py
1    *    *   *   *   /sbin/auto-backup.sh
0    *    *   *   *   /usr/lib/vmware/vmksummary/log-heartbeat.py
*/5  *    *   *   *   /bin/hostd-probe.sh ++group=host/vim/vmvisor/hostd-probe/stats/sh
00   1    *   *   *   localcli storage core device purge
#30 1 * * mon,tue,thu,fri /opt/ghettovcb/bin/ghettoVCB.sh -g /opt/ghettovcb/ghettoVCB.conf -f /opt/ghettovcb/vmlist -l /tmp/vmbackup.log > /dev/null
30 1 * * 2,4,6 /opt/ghettovcb/bin/ghettoVCB.sh -g /opt/ghettovcb/ghettoVCB.conf -f /opt/ghettovcb/vmlist -l /tmp/vmbackup.log > /dev/null

建立 crondtab.sh :
vi /vmfs/volumes/datastore1/crondtab.sh

#!/bin/sh
#add backup crond shell
/bin/kill $(cat /var/run/crond.pid)
cp /vmfs/volumes/datastore1/crontabsroot /var/spool/cron/crontabs/root
/usr/lib/vmware/busybox/bin/busybox crond

設定防火牆開放 25 port outbound 以及 建立 firewall.sh :
直接修改 /etc/vmware/firewall/service.xml
或新增一個:

vi /vmfs/volumes/datastore1/smtp.xml

<ConfigRoot>
  <service id='id_number'>
  <id>SMTP client</id>
  <rule id='0000'>
  <direction>outbound</direction>
  <protocol>tcp</protocol>
  <porttype>dst</porttype>
  <port>25</port>
  </rule>
  <enabled>true</enabled>
  <required>true</required>
  </service>
 </ConfigRoot>

PS: id_number 不要和 service.xml 裡的 id number 重覆

手動複製到 /etc/vmware/firewall :

cp /vmfs/volumes/datastore1/smtp.xml /etc/vmware/firewall/
esxcli network firewall refresh

可利用 vSphere Client 確認 SMTP 25 Port 是否已開放:


建立 firewall.sh :
vi firewall.sh

#!/bin/sh
#Open SMTP OutBound 25 port
#Firwall rules
cp /vmfs/volumes/datastore1/smtp.xml /etc/vmware/firewall/
esxcli network firewall refresh

將 crondtab.sh 和 firewall.sh 加入開機設定檔 /etc/rc.local.d/local.sh :
vi /etc/rc.local.d/local.sh
新增:
#backup crond
/vmfs/volumes/datastore1/crondtab.sh

#Open firewall SMTP
/vmfs/volumes/datastore1/firewall.sh


重啟 ESXI 後,發現 ghettoVCB.sh、ghettoVCB-restore.sh 居然還原成未修改前的狀態,以及設定檔、OS 備份列表也清除了(是單一事件嗎???????????????????????)

重設完備份起來,以防下次再發生!!!




參考資料:
 :

ghettoVCB 還原 ESXI Guest OS

備份:ghettoVCB 備份 ESXI Guest OS


ghettoVCB 還原篇:
新增、修改 Guest OS 還原列表:

從 NAS 還原系統時,要先掛載備份的目錄,查看要還原的 image 完整路徑:
esxcfg-nas -a -o 192.168.1.1 -s </nas_share_DirName> <nfs_dir>
例:
esxcfg-nas -a -o 192.168.1.1 -s /esxi nfs_dir

### nas_share_DirName 可查看備份時的 ghettoVCB.conf 設定檔 NFS_MOUNT= 所設定的 nas share 目錄名稱。
### esxi_mount_Dir 不須建立,當ESXI掛載時會自動產生,系統還原後會再自動缷載。

修改 re-vmlist 內容:
vi /opt/ghettovcb/re-vmlist

# DISK_FORMATS
# 1 = zeroedthick  (一次給足全部的硬碟大小,需要時才初使化未使用的空間)
# 2 = 2gbsparse  (將硬碟分割成多個 2G 的硬碟)
# 3 = thin  (隨著使用量而增加硬碟大小,達到設定上限時就不會在增加)
# 4 = eagerzeroedthick  (一次給足全部的硬碟大小(刪除所有的資料),已初始化可直接使用)

從本地磁碟還原:
"/vmfs/volumes/datastore1/GuestOSBackup/Windows7/Windows7-2016-12-15_07-57-17;/vmfs/volumes/datastore1;3"

或者
從 NAS 還原:
"/vmfs/volumes/nfs_dir/guest_os_backup/Ubuntu_Postfix/Ubuntu_Postfix-2017-03-21_01-30-01;/vmfs/volumes/datastore1;3"

###nfs_dir 是 ESXI 的掛載目錄
###guest_os_backup 是存放 Guest OS 的目錄


測試還原:
說明:
-c 要還原備份的列表
-l 指定存放路徑及LOG檔名 /tmp/vmrestore.log
-d [1|2]用來測試或是Debug還原看是否有誤
Dryrun/Debug Info [1|2]
Dryrun(模擬執行):
/opt/ghettovcb/bin/ghettoVCB-restore.sh -c re-vmlist -d 1
Debug:
/opt/ghettovcb/bin/ghettoVCB-restore.sh -c re-vmlist -d 2

模擬執行:
/opt/ghettovcb/bin/ghettoVCB-restore.sh -c /opt/ghettovcb/re-vmlist -d 1

出現錯誤:

先將 ghettoVCB-restore.sh 移出原資料夾再修改,增加 6.5.0 版本。存檔時用強制寫入: wq!

再測試一次,可正確執行了。


執行還原動作:

/opt/ghettovcb/bin/ghettoVCB-restore.sh -c /opt/ghettovcb/re-vmlist -l /tmp/vmrestore.log



備份:ghettoVCB 備份 ESXI Guest OS

2016年12月2日 星期五

ESXI Server Config 備份與還原

備份與還原 ESXI 伺服器的主機設定,需要用 VMware vSphere CLI,可到 VMware 官方網站下載。

VMware vSphere CLI 6.0 套件官方下載網址:

備份步驟:
命令視窗切換到:
cd "C:\Program Files (x86)\VMware\VMware vSphere CLI\bin"

執行備份指令:
.\vicfg-cfgbackup.pl --server=ESXI_HOST_IP --username=root --password=PASSWORD -s "D:\ESXI_config_Backup.tgz"




還原步驟:
命令視窗切換到:
cd "C:\Program Files (x86)\VMware\VMware vSphere CLI\bin"

執行還原指令:
.\vicfg-cfgbackup.pl --server=ESXI_HOST_IP --username=root --password=PASSWORD -l "D:\ESXI_config_Backup.tgz"
(還原時,建議還原的目的端 ESXI 伺服器版本與備份時的版本相同)

若要略過版本檢查可以加 -f 略過版本的檢查:
.\vicfg-cfgbackup.pl --server=ESXI_HOST_IP --username=root --password=PASSWORD -f  -l "D:\ESXI_config_Backup.tgz"

還原時注意事項:
執行還原指令時 ESXi Host 將會 自動進入維護模式,當還原設定完成 ESXi Host 重新啟動後會自動回到操作模式。

所以不須要手動執行進入【維護模式】



CubeCOS 虛擬機刪除網路介面,且主機內沒有 virtio 驅動程式成為孤島主機時,進行 virtio iso 掛載流程

 # 當 CubeCOS 虛擬機刪除網路介面,且主機內沒有 virtio 驅動程式成為孤島主機時,進行 virtio iso 掛載流程。 # 步驟一:確認目標虛擬機的底層名稱 # 在 Compute Node(計算節點)上列出運行中的 instance,並反查對應的 OpenSt...