從零搭建KVM虛擬服務器

我們經常購買一些雲服務器,幾乎都是一臺母機虛擬出來的,而現在虛擬技術參差不齊,主流的有OpenVZ、Xen、KVM等技術,它們有什麼區別,各有什麼優勢呢?

1.OpenVZ

OpenVZ是操作系統級別的虛擬化技術,是底層操作系統上的一層應用,這意味着易於理解和低權重開銷,一般來說也意味着更優的性能。但是OpenVZ配置起來比較靈活,給黑心服務商改低限制的機會。
優勢:現在外面賣的這種類型,許可的內存都超大,CPU也強勁,而且賣家很多,可比性也很強。性價比超高。
劣勢:超賣,沒有不超賣的,導致各種石頭盤,鑽石盤。連帶的cpu也被過度分割導致性能升值不如其標明的1/10。再有就是內存,基本上OpenVZ技術沒有獨佔的,都是共享,別人多了你就少了,而且這種技術最大的劣勢就是內存下來後直接就是當機。還有開設vpn各種不方便。

2.Xen

Xen是半虛擬化技術,它並不是一個真正的虛擬機,而是相當於自己運行了一個內核的實例,可以自由的加載內核模塊,虛擬的內存和IO,穩定而且可預測。分Xen+pv+和Xen+hvm,區別就是pv只支持linux,而hvm支持win系統。
優勢:內存獨佔,雖然小但是保證分配的到。部分虛擬技術決定了就算是超賣也不會超太離譜。所以一般的母雞就算超了,也很少導致石頭盤。當然小雞有pt就除外了。另外就是即使內存再低也不會當掉,只是會無響應一段時間。
劣勢:內存小,硬盤小,帶寬小(以上3點均和同價位的openvz對比)。因爲沒法超賣了,爲了賺錢只能把這3個基本配置降下來了。還有就是供應商殘次不齊,而且大部分在說xen的時候都木有明說是pv還是hvm,其實pv的性能是優於hvm的。

3.KVM

優勢:和xen類似,比xen更好的一點是,kvm是完全虛擬的,所以不分pv和hvm的區別,所有的kvm類+型的虛擬技術都可以裝各種linux的發行版和各種win的發行版,不管供應商在主頁有沒有寫明是否支持win,只要你配置夠win運行,那就肯定可以裝+的上去,只是方法的問題而已。
劣勢:恰恰因爲kvm可以裝任意類型的操作系統,導致了折騰帝甚至在128m的機器上裝了win2003(上去+後直接所有的cpu和內存都用於硬盤IO了,不明白這些人想幹神馬)。其結果就是所有的kvm鄰居都得看你周圍鄰居的臉色。這麼說把,一個node下只要+有5、6臺這種折騰帝,對不起,你的硬盤基本就是石頭盤了。

由於本人更傾向於KVM,所以這裏只折騰了KVM,具體流程如下

執行以下命令

準備工作,創建橋接網卡
#在末尾新增一行,同時要把網卡的IP相關參數去掉
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="5c80ab72-ebfd-49f3-86b1-e4687a44ede0"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"
#IPADDR="192.168.31.169"
#PREFIX="24"
#GATEWAY="192.168.31.1"
#DNS1="192.168.31.1"
BRIDGE="br0"
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
BOOTPROTO=static
#NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.31.169
NETMASK=255.255.255.0
PREFIX="24"
GATEWAY="192.168.31.1"
DNS1="192.168.31.1"
[root@localhost ~]# service network restart
[root@localhost ~]# ifconfig
#安裝epel源
yum install epel-rpm-macros.noarch
#安裝kvm環境:
#qemu-kvm    ----模擬計算機的工具,爲KVM虛擬機提供IO設備
#libvirt    ----管理虛擬機
#virt-install    ----命令行的虛擬機創建安裝工具
#bridge-utils   ----網橋工具
yum install qemu qemu-img qemu-kvm  libvirt libvirt-python libguestfs-tools virt-install
#安裝圖形化工具
yum install virt-manager virt-viewer
systemctl enable libvirtd
systemctl start libvirtd
#檢查KVM模塊是否安裝
lsmod |grep kvm
#創建一個虛擬機目錄
mkdir /kvm
#創建一個qcow2格式的磁盤文件
qemu-img create -f qcow2 /kvm/vm.qcow2 20G
#創建一臺指定配置的虛擬機
virt-install -n vm  -r 1024  --vcpus 1  -l /kvm/CentOS-7-x86_64-Minimal-1810.iso --disk path=/kvm/vm.qcow2,format=qcow2  --graphics vnc,listen=0.0.0.0,port=5924,  --noautoconsole --accelerate  --autostart

命令解釋

[root@localhost ~]# virt-install -n vm \     定義虛擬機名

> -r 1024 \         內存大小

> --vcpus 1 \       CPU數量

> -l /kvm/CentOS-7-x86_64-Minimal-1810.iso \      ISO位置

> --disk path=/kvm/vm.qcow2,format=qcow2 \      磁盤文件位置及格式

> --graphics vnc,listen=0.0.0.0,port=5924, \         vnc安裝,使用5924端口

> --noautoconsole  \      不要自動嘗試連接到客戶端控制檯

> --accelerate \          提速安裝

> --autostart             引導主機時自動啓動域

#KVM的相關命令
#退出虛擬機
ctrl + ]
#進入虛擬機
virsh console centos74
#查看虛擬機的狀態
virsh list
virsh list --all
#啓動虛擬機
virsh start vm
#關閉虛擬機
virsh shutdown vm
#強制關閉虛擬機
virsh destroy vm
#刪除虛擬機
virsh shutdown vm
virsh undefine vm
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章