XCP-NG 安裝系統(tǒng)后需要做的操作:
xe-switch-network-backend bridge
sed -i 's/^PRODUCT_BRAND=.*$/PRODUCT_BRAND=XenServer/g' /etc/xensource-inventory
xe-toolstack-restart
提高宿主機(jī)網(wǎng)卡性能,由默認(rèn)的 OpenvSwtich 改為橋接模式
xe-switch-network-backend bridge
重啟系統(tǒng)后生效
XenCenter最新版連不上 XCP-NG 主機(jī)
解決辦法:
- 使用 XCP-Center 最新版
- 修改 XCP-ng 的 配置文件偿曙,并重啟服務(wù)祟印。 之后就可以正常連接了抱完。
將 PRODUCT_BRAND='XCP-ng' 修改為 PRODUCT_BRAND='XenServer'
sed -i 's/^PRODUCT_BRAND=.*$/PRODUCT_BRAND=XenServer/g' /etc/xensource-inventory
xe-toolstack-restart
手動(dòng)創(chuàng)建本地存儲(chǔ)
將 sdb 創(chuàng)建為 SSD 標(biāo)識(shí)的本地存儲(chǔ):
host=$(hostname)
disk='/dev/sdb'
uuid=$(xe host-list name-label=$host |grep uuid | awk '{print $NF}')
xe sr-create host-uuid=$uuid shared=false type=lvm content-type=user device-config:device=$disk name-label="Local storage SSD"
XenServer 無(wú)法啟動(dòng)高版本的內(nèi)核
XenServer 6.5 7.0 無(wú)法安裝 Ubuntu 18.04 ,啟動(dòng)后在第一屏按F6,選擇 edd=on 和 nolapic 谒出,之后可以繼續(xù)正常啟動(dòng)沪哺。
如果是已安裝的系統(tǒng)沈自,可以在 /etc/default/grub 文件中 GRUB_CMDLINE_LINUX 這一行加上
edd=on nolapic
不過(guò)使用這個(gè)參數(shù)后,虛擬機(jī)將變成單核辜妓。最好還是升級(jí) xenserver 的版本枯途。
參考:
https://askubuntu.com/questions/1029986/installation-of-18-04-bionic-fails-on-xenserver7
磁盤(pán)空間滿
常見(jiàn)于 XenServer 6.5 ,Dom0 只有 4G 空間籍滴,系統(tǒng)一不小心就寫(xiě)滿了酪夷。
尤其容易出現(xiàn)在 tapdisk 日志 logrotate 處理時(shí),程序容易卡死异逐,造成空間 100%捶索,從而引起虛擬機(jī) CPU 負(fù)載過(guò)高等異常。
處理方法:
#!/bin/bash
UUID=`xe host-list name-label=$HOSTNAME params=uuid --minimal`
threshold=78
diskUsage=`df -h | grep "/$" | head -n 1 | awk {' print $5 '} | sed -n -e "s/%//p"`
kill_hang_and_free_disk() {
ls -l /proc/[0-9]*/fd/* | grep -oP '(?<=/proc/).+(?=/fd/.+tapdisk.+deleted)' | xargs kill
rm -rf /var/log/*.gz
}
clean_old_patches() {
PATCHLIST=`xe patch-list | grep "uuid ( RO) " | awk '{print $5}'`
for UUID in $PATCHLIST; do echo "Cleanup patch $UUID"; xe patch-pool-clean uuid=$UUID; done
}
if [ $diskUsage -gt 75 ]; then
rm -rf /var/log/*.gz
clean_old_patches
fi
if [ $diskUsage -gt $threshold ]; then
kill_hang_and_free_disk
clean_old_patches
xe message-create host-uuid=$UUID name="ROOT DISK USAGE" body="Disk space use has exceeded $diskUsage on `echo $HOSTNAME` " priority="1"
fi
把此腳本加入到 crontab 灰瞻,每 10 分鐘檢測(cè)一次 腥例。
xen 6.5 還可以刪除 iso 文件,進(jìn)一步釋放空間
rm -rf /opt/xensource/packages/iso/*.iso
虛擬機(jī)無(wú)法關(guān)閉酝润,也無(wú)法強(qiáng)制關(guān)閉
檢查 dom0 的磁盤(pán)空間燎竖,如果發(fā)現(xiàn)磁盤(pán)空間滿,清理磁盤(pán)空間要销。
執(zhí)行 xe-toolstack-restart 命令重啟服務(wù)构回。
異常關(guān)閉虛擬機(jī),再次啟動(dòng)報(bào)錯(cuò): the uuid you supplied was invalid
解決辦法: xe-toolstack-restart 無(wú)效疏咐,重啟物理機(jī)后纤掸,虛擬機(jī)正常啟動(dòng)。
死活關(guān)不掉虛擬機(jī)浑塞,以上辦法都不管用
解決辦法: list_domains 命令借跪,根據(jù) uuid 查到 虛擬機(jī)對(duì)應(yīng)的 id編號(hào), 再執(zhí)行
/opt/xensource/debug/destroy_domain -domid 編號(hào)
vm 的 uuid 為 7a437137-d9a9-af48-a29c-eea847988911
[root@srv ~]# list_domains
id | uuid | state
0 | df6e45ba-99dc-4acd-b1f1-7b1a88394677 | R
1 | 38ba0dcc-90f6-3a8d-bcd6-563124f23d58 | B
2 | 0704c80f-3082-5a04-a643-317dee21c86e | B
72 | 45ec465c-9975-ceaf-6441-6fb83473fd71 | B H
91 | 6c478abb-8643-c257-a502-e980ccd63c11 | B H
92 | 7a437137-d9a9-af48-a29c-eea847988911 | S H
[root@srv ~]#/opt/xensource/debug/destroy_domain -domid 92
Xen dom0 swap 使用量偏高
xe-toolstack-restart
執(zhí)行此命令不影響正在運(yùn)行的虛擬機(jī)
XenServer 7.3 和以后的版本酌壕,免費(fèi)版只支持 3 臺(tái)物理機(jī)
解決辦法:
- 購(gòu)買授權(quán)
- 考慮遷移到 XCP-ng 7.6+
- 考慮遷移到 Ovirt掏愁、OpenStack歇由、ProxmoxVE
宿主機(jī)只接兩根網(wǎng)線做成綁定+ trunk 的高可用
(需 XenServer 7.4 或 XCP-ng 7.4.1 及以上版本)
宿主機(jī)接兩跟網(wǎng)線,做成綁定果港,同時(shí)打 trunk沦泌,接入到交換機(jī),這樣的好處可以做成網(wǎng)絡(luò)高可用辛掠,同時(shí)節(jié)省布線谢谦。
在可用性要求不高或是測(cè)試環(huán)境中,可以只接入eth0 一根網(wǎng)線公浪,操作步驟不變他宛。
實(shí)施步驟:
1. 統(tǒng)一規(guī)劃宿主主機(jī)的eth0 和 eth1 接入交換機(jī),打 trunk欠气。假設(shè)管理網(wǎng)段為 vlan 2 厅各。
2. 在每一臺(tái)宿主機(jī)正常安裝系統(tǒng),每臺(tái)網(wǎng)絡(luò)配置IP地址的時(shí)候预柒,選擇 eth0队塘,vlan 2。
3. 臨時(shí)將Master節(jié)點(diǎn)的管理網(wǎng)口接入 eth3宜鸯,并通過(guò) XenCenter 遠(yuǎn)程管理憔古。
將Master的 eth0 和 eth1 做成 bond0+1,并在 bond0+1 上增加vlan2 的網(wǎng)絡(luò)淋袖。
4. 在 XenCenter 上將Master的管理口從eth3 改到 bond0+1 的 vlan2鸿市。
此時(shí)會(huì)導(dǎo)致Master 短暫連接不上。操作成功后不再需要 eth3 的網(wǎng)線即碗。
5. XenCenter 重新連接Master后焰情,把其他從節(jié)點(diǎn)拖到此集群中。
加入之后剥懒,所有從節(jié)點(diǎn)網(wǎng)絡(luò)短暫不可用内舟,需要逐臺(tái)重啟系統(tǒng)。
以上步驟理論上通過(guò)命令行也可以實(shí)現(xiàn)初橘,具體方法如下:
xe network-create name-label=”Bond0”
xe network-list name-label=”Bond0”
xe bond-create mode=balance-slb network-uuid=<UUID-Bond0> pif-uuids=<UUID-eth2>,<UUID-eth3>,<UUID-eth4>
參考
https://support.citrix.com/article/CTX230616
PV 模式的虛擬機(jī)轉(zhuǎn)化為 HVM
如果虛擬機(jī)的硬盤(pán)無(wú)法啟動(dòng)验游,就只能掛光盤(pán)啟動(dòng)。但是 CentOS 6 的系統(tǒng)(PV模式)又沒(méi)有光盤(pán)啟動(dòng)的地方設(shè)置保檐,需要通過(guò)如下辦法來(lái)處理:先把 PV 模式變成 HVM 模式耕蝉,然后就可以通過(guò)光盤(pán)啟動(dòng)。
老的系統(tǒng)為 PV 模式夜只,如下命令可以轉(zhuǎn)化成 HVM 模式
https://xen-orchestra.com/forum/topic/260/convert-xen-orchestra-appliance-pv-to-hvm/3
name=centos-vm
xe vm-list name-label=$name params=uuid
uuid=c22396a2-9544-51d8-697b-b76a11378447
xe vm-param-set uuid=$uuid HVM-boot-policy="BIOS order"
xe vm-param-set uuid=$uuid PV-bootloader=""
xe vm-param-set uuid=$uuid PV-args=""
xe vm-disk-list uuid=$uuid
xe vm-disk-list uuid=$uuid | grep VBD -A1 | grep ^uuid| awk '{print $NF}'
# 系統(tǒng)盤(pán)的 vdb-uuid
xe vbd-param-set uuid=<vbd uuid> bootable=true
拯救無(wú)法啟動(dòng)的 CentOS6
CentOS 6 系統(tǒng)是 PV 模式赔硫,先轉(zhuǎn)化成 HVM模式,再掛載安裝盤(pán)的iso鏡像盐肃,屬性里面選擇優(yōu)先從光盤(pán)啟動(dòng)爪膊,進(jìn)入 rescure 模式。
將系統(tǒng)只讀掛載到 /mnt/sysimage 目錄砸王, 檢查磁盤(pán)問(wèn)題推盛。
chroot /mnt/sysimage
umount /dev/mapper/VolGroup_lv_root
# 只讀掛載時(shí),可以不卸載也可以 fsck
fsck -fy /dev/mapper/VolGroup_lv_root
exit
reboot
如果重啟后還是無(wú)法啟動(dòng)谦铃,則可以通過(guò)resucre 模式耘成, 設(shè)置網(wǎng)絡(luò),chroot 進(jìn)系統(tǒng)驹闰,把文件rsync 到遠(yuǎn)程服務(wù)器中瘪菌。
XOA 管理后臺(tái)的安裝
XenServer 系統(tǒng)里面自動(dòng)安裝: curl -sS https://xoa.io/deploy | bash
手動(dòng)下載:從 https://xoa.io/deploy 文件中得知 XOA_URL=http://xoa.io:8888/
wget -c http://xoa.io:8888 -O xoa_unified.xva
之后再手動(dòng)導(dǎo)入
登錄
默認(rèn)用戶名和密碼均為 xoa
配置靜態(tài)IP地址
默認(rèn) xoa 配置為 dhcp 方式獲取地址,通過(guò)下面的命令可以設(shè)置為靜態(tài)地址
xoa network static
sudo /etc/init.d/networking restart