KVM 简介 搭建部署

实验:

虚拟化有两种类型:

Hypervisor直接在安装在宿主机的逻辑上:
Hypervisor 直接安装在物理机上,多个虚拟机在 Hypervisor 上运行。Hypervisor 实现方式一般是一个特殊定制的 Linux 系统。Xen 和 VMWare 的 ESXi 都属于这个类型。

Hypervisor安装在宿主机的操作系统上:
物理机上首先安装常规的操作系统,比如 Redhat、Ubuntu 和 Windows。Hypervisor 作为 OS 上的一个程序模块运行,并对管理虚拟机进行管理。KVM、VirtualBox 和 VMWare Workstation 都属于这个类型。

KVM是什么?

KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor:

它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购。
它支持 x86 (32 and 64 位), s390, Powerpc 等 CPU。
它从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中。
它需要支持虚拟化扩展的 CPU。
它是完全开源的。

KVM相关命令:

一、查看当所有运行的kvm虚拟主机   virsh list --all

二、关机                            virsh shutdown kvm1.amber.com

三、开机 virsh start kvm1.amber.com

四、强制关闭电源                    virsh destroy kvm1.amber.com

五、设置虚拟机伴随宿主机启动        virsh autostart kvm1.amber.com

六、导出虚拟机配置                  virsh dumpxml kvm1.amber.com>/导出的目录

七、删除虚拟机                      (1)virsh destroy 虚拟机名称

(2)virsh undefine 虚拟机名称

八、虚拟机克隆                virt-clone -o 克隆的主机 -n 克隆后的主机名 -f 克隆的的虚拟机存放的位置。

九、删除克隆的虚拟机同删除虚拟机步骤一样

十、虚拟机磁盘格式转换(raw转qcow2)                    

       Yum -y install libguestfs-tools      //libhuestfs-tools gongju 实现转换

       Virsh shutdown 虚拟机名称      //转换前需要关闭虚拟机

    qemu-img convert -f raw -O qcow2 /data_kvm/centos1/centos-1.img /data_kvm/centos1/centos-1.qcow2 //转换时间可能有些长,耐心等待

十一、创建快照(创建快照磁盘格式必须是qcow2,否则无法创建)

 virsh snapshot-create centos1
列出快照
 virsh snapshot-list 虚拟机名称
恢复快照
virsh snapshot-revert 虚拟机名 快照号
如:# virsh snapshot-revert centos1 1457180938
删除快照
virsh snapshot-delete 虚拟机名 快照号
virsh snapshot-delete centos1 1457180938

一. 搭建环境

	centos7系统安装完成后,需要勾选上KVM虚拟化功能

在这里插入图片描述

[root@localhost ~]# hostnamectl set-hostname kvm
[root@localhost ~]# bash

ssh环境优化

设置DNS反向解析
#是否反解DNS,设置为NO可以让客户端连接服务器更快
[root@kvm ~]# vim /etc/ssh/sshd_config 
UseDNS no	#取消DNS注释,改为NO

防火墙优化

[root@kvm ~]# systemctl stop firewalld
[root@kvm ~]# setenforce 0

已完成所有开局优化,重启系统

[root@kvm ~]# reboot

二、 安装KVM

安装KVM基本组件

[root@kvm ~]# yum -y groupinstall  "GNOME Desktop"  #安装 GNOME 桌面环境  如果装了图形界面不需要装了
[root@kvm ~]# yum -y install qemu-kvm  #安装KVM 模块
[root@kvm ~]# yum -y install qemu-kvm-tools    #KVM 调试工具,可不安装
[root@kvm ~]# yum -y install virt-install     #构建虚拟机的命令行工具
[root@kvm ~]# yum -y install qemu-img    #qemu 组件,创建磁盘、 启动虚拟机等
[root@kvm ~]# yum -y install bridge-utils   #网络支持工具
[root@kvm ~]# yum -y install libvirt   #虚拟机管理工具
[root@kvm ~]# yum -y install virt-manager   #图形界面管理虚拟机

[root@kvm ~]# reboot	#重启

设置开启启动界面的显示模式

[root@kvm ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

**将 系 统 的 默 认 运 行 target 更 改 为graphical.targe。 重启后系统将进入图形化界面**

进行一些检查

[root@kvm ~]# cat /proc/cpuinfo | grep vmx	# 检测CPU是否支持虚拟化
[root@kvm ~]# cat /proc/cpuinfo | grep vmx
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec ibpb ibrs stibp arat spec_ctrl intel_stibp arch_capabilities
[root@kvm ~]# lsmod | grep kvm	#查看KVM模块是否已安装
kvm_intel             170086  0 
kvm                   566340  1 kvm_intel
irqbypass              13503  1 kvm

[root@kvm ~]# systemctl start libvirtd	#开启libvirtd服务
[root@kvm ~]# systemctl enable libvirtd	#开机启动libvirtd服务


设置KVM网络为桥接

宿主服务器安装完成 KVM, 首先要设定网络, 在 libvirt 中运行 KVM 网络有两种方法: NAT 和 Bridge, 默认是NAT。
1.用户模式, 即 NAT 方式, 这种方式是默认网络, 数据包由 NAT 方式通过主机的接口进行 传送, 可以访问外网,但是无法从外部访问虚拟机网络。
2.桥接模式, 这种模式允许虚拟机像一台独立的主机一样拥有网络, 外部的机器可以直接 访问到虚拟机内部, 但需要网卡支持,一般有线网卡都支持。 这里以 Bridge(桥接) 为例。
修改ens33网卡

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none  #原本的修改为none
#IPADDR=192.168.40.111
#NETMASK=255.255.255.0
#GATEWAY=192.168.40.2
#DNS=192.168.40.2
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=59555b6e-bcf4-4fe0-9454-efa54bf2f877
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0     

新建桥接网卡

[root@kvm ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
OTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.40.111
NETMASK=255.255.255.0
GATEWAY=192.168.40.2

[root@kvm ~]# systemctl restart network	#重启网卡

**

创建KVM存储和镜像数据的目录、上传centos7镜像

[root@kvm ~]# mkdir -p /data_kvm/store    #镜像位置和虚拟机存储,如果想分开也可以在创建一个目录

[root@kvm ~]# ls /data_kvm/store/
CentOS-7-x86_64-Everything-1804.iso

[root@kvm ~]# virt-manager      #图形界面敲,打开虚拟系统管理器

在这里插入图片描述

安装步骤

创建存储池
在这里插入图片描述
在这里插入图片描述
创建存储卷
在这里插入图片描述

创建虚拟机
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
剩下的就和正常安装虚拟机一样的步骤了


安装完成后记得查看有没有网

[root@localhost ~]# ifconfig   
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.40.143  netmask 255.255.255.0  broadcast 192.168.40.255
        inet6 fe80::5f3:ac6e:ef76:f14d  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:8b:cc:c3  txqueuelen 1000  (Ethernet)
        RX packets 17193  bytes 89142321 (85.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15105  bytes 871102 (850.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:0b:2f:7d  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

没网的话网卡改成dhcp动态

[root@kvm ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
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=eth0
UUID=96855a60-dc02-4f66-8fd0-df0cc6fa38bc
DEVICE=eth0
ONBOOT=yes

重启网卡
systemctl restart network

通过vnc或者xshell等远程工具连接
在这里插入图片描述

用shell部署一个lnmp环境测试一下虚拟机的功能是否可以正常使用

https://blog.csdn.net/weixin_54632015/article/details/113465122

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值