什么是虚拟化
虚拟化是指将一台计算机虚拟为多台罗杰计算机(对计算机物理资源的抽象,实现资源的模拟、隔离和共享)。在一台计算机上同时可以运行多个逻辑计算机,每个逻辑计算机可以运行不同的操作系统,并且应用程序都可以才相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件能过剩和老的硬件产能过低的重组,透明话底层物理硬件,从而最大化的利用物理硬件,对资源充分利用。虚拟化技术解决了两个问题:资源充分利用、缩短了交付时间
虚拟化类型
- 全虚拟化:将物理硬件资源全部通过软件的方式抽象化,最后进行调用,使用vmm软件,其原理是在底层硬件和服务器之间建立一个抽象层,而基于核心的虚拟机时是面向linux系统的开源阐明vmm可以捕捉cpu的指令。
- 半虚拟化:需要修改操作系统
- 首通:直接使用物理硬件资源
虚拟化特性
- 优势
- 集中化管理(远程管理、维护)
- 提高硬件利用率(物理资源利用率低,例如峰值)
- 动态调整机器配置(虚拟化把系统的应用程序和服务硬件分离、提高了灵活性)
- 高可靠(可部署额外的功能和方案,可一高透明负载均衡、迁移、恢复复制等应用环境)
- 劣势
- 前期高额费用(初期的硬件支持)
- 降低硬件利用率
- 更大的错误影响面(本地物理机挂掉会导致虚拟机均不可用,同时可能虚拟机中文件全部损坏)
- 实施配置复杂、管理复杂
- 一定的限制性(虚拟化技术涉及各种限制,必须与支持、兼容虚拟化的服务器、应用程序以及供应商结合使用)
- 安全性
kvm 三种模式
- 客户模式:客户机在操作系统中运行的模式
- 内核模式:模拟cpu、内存,实现客户模式切换
- 用户模式:为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O。
部署
[root@localhost ~]# mkdir /mount
[root@localhost ~]# vim /etc/fstab //永久性挂载镜像光盘
/dev/cdrom /mount iso9660 defaults 0 0
[root@localhost ~]# mount -a
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 197G 4.0G 193G 3% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 19M 892M 3% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 174M 841M 18% /boot
tmpfs tmpfs 182M 4.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 60K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mount
[root@localhost ~]# vim /etc/ssh/sshd_config //将sshd配置文件中的反解DNS设置为NO
[root@localhost ~]# systemctl restart sshd 重启
- 制作本地yum仓库
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv CentOS-* bak
[root@localhost yum.repos.d]# vim local.repo
[local]
name=kvm
baseurl=file:///mount
gpgcheck=0
enabled=1
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
[root@localhost yum.repos.d]# yum install -y qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager
#qemu-kvm为KVM模块
#qemu-kvm-tools是KVM调试工具
#virt-install是虚拟机的命令行工具
#qemu-img是qemu的组件
#bridge-utils桥接网络支持工具
#libvirt为虚拟机管理工具
#virt-manager图形界面管理虚拟机
[root@localhost yum.repos.d]# cat /proc/cpuinfo | grep vmx #看到又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 ht 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 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat pku ospke spec_ctrl intel_stibp flush_l1d arch_capabilities
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht 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 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat pku ospke spec_ctrl intel_stibp flush_l1d arch_capabilities
……………………………………………………
[root@localhost yum.repos.d]# lsmod | grep kvm //查看kvm模块是否安装
kvm_amd 2177212 0
kvm 586948 1 kvm_amd
irqbypass 13503 1 kvm
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 //创建桥接网卡
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=yes
BOOTPROTO=static
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=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.20.42
NETMASK=255.255.255.0
GATEWAY=192.168.20.2
DNS1=114.114.114.114
[root@localhost ~]# mkdir -p /data_kvm/iso
[root@localhost ~]# mkdir -p /data_kvm/store
[root@localhost iso]# pwd
/data_kvm/iso
[root@localhost iso]# ls
CentOS-7-x86_64-DVD-1810-7.6.iso
- 上传系统镜像
[root@localhost ~]# virt-manager //使用虚拟机管理器管理虚拟机
- 创建镜像
- 出现这个界面只要按装系统步骤继续即可