在kvm中部署巢狀esxi6 7

2021-09-27 05:05:58 字數 4539 閱讀 1099

最近測試esxi6.7的vmotion功能,為了熟悉kvm決定在kvm上實現, 系統是ubuntu16.04, 啟動乙個kvm,發現esxi在遷移時會崩潰,無法進行遷移,查詢相關次料,解決方案如下:

首先安裝kvm

# apt install qemu-system-x86 qemu-kvm qemu libvirt-bin virt-manager virtinst bridge-utils cpu-checker virt-viewer
校驗kvm是否安裝,並檢測cpu的vt-x虛擬化有沒有開,出現以下資訊說明正常

# kvm-ok

info: /dev/kvm exists

kvm acceleration can be used

執行virt-host-validate檢視你的環境對kvm的技持,如果全部為pass,說明可以

# virt-host-validate 

qemu: checking for hardware virtualization : pass

qemu: checking if device /dev/kvm exists : pass

如果你想使普通使用者能夠使用kvm,可以新增當前使用者到libvirt組中

cat /etc/group | grep libvirt | awk -f':'  | xargs -n1 sudo adduser $user  

# add user to kvm group also

sudo adduser $user kvm

# relogin, then show group membership

exec su -l $user

id | grep libvirt

預設的,kvm會建立乙個虛擬的交換機名字為virbr0, 使用192.168.122.0/24
# ip addr show virbr0

17: virbr0: mtu 1500 qdisc noqueue state down group default qlen 1000

link/ether 52:54:00:d2:52:b5 brd ff:ff:ff:ff:ff:ff

inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

valid_lft forever preferred_lft forever

virbr0實際上是乙個nat模式,我們可以通過iptables看到實際的情況

# iptable -t nat -vnl

chain postrouting (policy accept 146 packets, 11359 bytes)

pkts bytes target prot opt in out source destination

0 0 return all -- * * 192.168.122.0/24 224.0.0.0/24

0 0 return all -- * * 192.168.122.0/24 255.255.255.255

0 0 masquerade tcp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535

0 0 masquerade udp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535

0 0 masquerade all -- * * 192.168.122.0/24 !192.168.122.0/24

定義儲存池,預設的儲存池是/var/lib/libvirt/images, 但你可以另外mount你想要的os磁碟

# virsh pool-list --all

name state autostart

-------------------------------------------

default active yes

$ virsh pool-define-as kvmpool --type dir --target /data/kvm/pool

pool kvmpool defined

$ virsh pool-list --all

$ virsh pool-start kvmpool

$ virsh pool-autostart kvmpool

$ virsh pool-list --all

name state autostart

-------------------------------------------

default active yes

kvmpool active yes

佈署乙個vm在你的kvm上,建立乙個1vcpu/1g ram使用預設的virbr0 nat網路和預設的pool storage

virt-install --virt-type=kvm --name=ukvm1404 --ram 1024 --vcpus=1 --virt-type=kvm --hvm --cdrom ~/downloads/mini.iso --network network=default --graphics vnc --disk pool=default,size=20,bus=virtio,format=qcow2 --noautoconsole

# open console to vm

virt-viewer ukvm1404

如果你想刪除這個vm,可以使用如下命令:
virsh destroy ukvm1404

virsh undefine ukvm1404

如你想要乙個全部圖形化的軟體管理kvm,可以使用virt-manager,當你沒安裝圖形介面時你可以使用x協議的ssh客戶端,如xshell, 或xming+ssh客戶端軟體

配置vt-x,你同樣需要在ubuntu中配置vt

# vi /etc/modprobe.d/qemu-system-x86.conf 

options kvm_intel nested=1 enable_apicv=n

options kvm ignore_msrs=1

重啟系統,執行下列命令,必須返回如下值

# want y to be returned

$ cat /sys/module/kvm/parameters/ignore_msrs

# want n to be returned

$ cat /sys/module/kvm_intel/parameters/enable_apicv

# want y to be returned

$ cat /sys/module/kvm_intel/parameters/nested

建立kvm虛擬機器
# virt-install --virt-type=kvm --name=esxi4 \

--ram 4096 --vcpus=4 \

--virt-type=kvm --hvm \

--cdrom /data/iso/vmware-vmvisor-installer-6.7.0.update03-14320388.x86_64.iso \

--network network:default,model=e1000 \

--graphics vnc --video qxl \

--disk pool=default,size=80,sparse=true,bus=ide,format=qcow2 \

--boot cdrom,hd --noautoconsole --force \

--cpu host-model-only

當然你也可以使用virt-manager來建立虛擬機器。

重複建立兩個虛擬機器,建立兩個esxi實現動態vmotion遷移,測試和建立步驟省略,經測試vmotion可以正常工作,不會出現崩潰現象。

vue在nginx中部署

本文主要介紹如何在nginx中部署vue前端。1 已經安裝好nginx,可以參考如下文章 2 已經打好vue的包,如果遇到問題,可以參考 好,下面上貨。1 首先把dist資料夾放在乙個路徑下,我放在這裡 2 修改nginx的配置檔案 新增如下server server root data xytes...

vue在nginx中部署

本文主要介紹如何在nginx中部署vue前端。本文閱讀前提 1 已經安裝好nginx,可以參考如下文章 2 已經打好vue的包,如果遇到問題,可以參考 好,下面上貨。1 首先把dist資料夾放在乙個路徑下,我放在這裡 2 修改nginx的配置檔案 新增如下server server root dat...

在docker中部署gitlab

docker pull gitlab gitlab ce 12.5.4 ce.0 2.在docker建立容器,讓gitlab跑起來 docker run d publish 8443 443 publish 10080 80 publish 1022 22 name gitlab restart a...