最近測試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...