从零搭建KVM虚拟服务器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c__chao/article/details/88804563

我们经常购买一些云服务器,几乎都是一台母机虚拟出来的,而现在虚拟技术参差不齐,主流的有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             引导主机时自动启动域

VNC连接

VNC连接

进入虚拟系统

#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

猜你喜欢

转载自blog.csdn.net/c__chao/article/details/88804563
今日推荐