一、虚拟化应用
目前常用的虚拟机应用主要有KVM、xen、vmware。
KVM、Xen、VMWare的对比如下:
二、KVM安装
2.1查看CPU是否支持KVM
egrep 'vmx|svm' /proc/cpuinfo --color=auto
可以看到grep出来的内容,就说明支持kvm
2.2安装kvm
yum install -y qemu-kvm libvirt virt-install virt-manager virt-viewer
2.3启动并设置开机自启
systemctl start libvirtd
systemctl enable libvirtd
2.4创建ISO系统镜像存放目录
mkdir /iso
2.5上传镜像到/iso目录下
2.6创建虚拟机
--name 指定虚拟机的名称
--memory 指定分配给虚拟机的内存资源大小
maxmemory 指定可调节的最大内存资源大小,因为KVM支持热调整虚拟机的资源
--vcpus 指定分配给虚拟机的CPU核心数量
maxvcpus 指定可调节的最大CPU核心数量
--os-type 指定虚拟机安装的操作系统类型
--os-variant 指定系统的发行版本
--location 指定IS0镜像文件所在的路径,支持使用网络资源路径,也就是说可以使用URL
--disk path 指定虚拟硬盘所存放的路径及名称,size 则是指定该硬盘的可用大小,单位是G
--bridge 指定使用哪一个桥接网卡,也就是说使用桥接的网络模式
--graphics 指定是否开启图形
--console 定义终端的属性,target type 则是定义终端的类型
--extra-args 定义终端额外的参数
我这里是创建8c16g磁盘空间为100G的虚拟机
virt-install --name=app1 --memory=16384 --vcpus=4,maxvcpus=4 --os-type=linux --os-variant=rhel7 --location=/iso/CentOS-7-x86_64-DVD-2009.iso --disk path=/data2/kvm_data/app1.img,size=100 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
进入设置界面
其中[x]表示已经配置,但可以修改,[!]表示未配置,需要配置
输入1进行语言设置
输入回车后输入68选择chinese
输入1选择简体中文
输入2进行时区设置
输入1设置时区
输入2选择亚洲
输入65选择上海
输入5选择磁盘安装
输入1选择100G磁盘
默认选择use all space 输入c继续
输入1选择标准分盘
输入c继续
输入8设置root用户密码
输入b开始安装
配置KVM虚拟机网络
可以看到拥有一个网卡eth0,目前是访问不了宿主机和外网的,要让该虚拟机可以访问网络,采用桥接模式,将该KVM虚拟机与原宿主机网卡进行桥接,我们知道宿主机的桥接网卡是br0,因此需要将eth0桥接到br0上,需要配置与br0相同的网络号,网卡,dns等。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置好以后重启网卡systemctl restart network
再次查看网络,重启网卡生效
但是现在还是无法跟宿主机联通,因为还没有桥接
桥接首先要创建网桥,然后把物理机和虚拟机的网卡分别接入到网桥上面,实现宿主机和虚拟机的联通
2.7宿主机创建网桥
在宿主机执行brctl addbr br0
ifconfig发现已经多出一个网桥网卡,说明网桥创建成功了
2.8 将物理网卡绑定到网桥
brctl addif br0 eno1
2.9 将虚拟网卡绑定到网桥
brctl addif br0 vnet0
2.10查看绑定情况
说明已经绑定成功了
2.11配置网桥网卡
vi /etc/sysconfig/network-scripts/ifcfg-br0
vi /etc/sysconfig/network-scripts/ifcfg-eno1
重启网卡systemctl restart network
2.12测试
虚拟机ping宿主机,ping得通说明网络已经联通了
虚拟机ping www.baidu.com,ping得通说明可以使用外网
三、虚拟机管理
3.1克隆虚拟机
#克隆前需要将要克隆得虚拟机关闭
#关闭虚拟机
virsh shutdown app1
#克隆虚拟机
参数说明:
-o :指定源虚拟机
-n :命名新克隆的虚拟机
-f :指定新克隆虚拟机的位置
virt-clone -o app -n app2 -f /data2/kvm_data/app2.img
【后续有时间再继续更新】
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。