KVM虚拟化的概述和部署__Pikachu的博客-程序员宅基地_kvm虚拟化文件系统

技术标签: kvm  linux  操作系统  

什么是虚拟化

虚拟化是指将一台计算机虚拟为多台罗杰计算机(对计算机物理资源的抽象,实现资源的模拟、隔离和共享)。在一台计算机上同时可以运行多个逻辑计算机,每个逻辑计算机可以运行不同的操作系统,并且应用程序都可以才相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件能过剩和老的硬件产能过低的重组,透明话底层物理硬件,从而最大化的利用物理硬件,对资源充分利用。虚拟化技术解决了两个问题:资源充分利用、缩短了交付时间

虚拟化类型

  • 全虚拟化:将物理硬件资源全部通过软件的方式抽象化,最后进行调用,使用vmm软件,其原理是在底层硬件和服务器之间建立一个抽象层,而基于核心的虚拟机时是面向linux系统的开源阐明vmm可以捕捉cpu的指令。
  • 半虚拟化:需要修改操作系统
  • 首通:直接使用物理硬件资源

虚拟化特性

  • 优势
  1. 集中化管理(远程管理、维护)
  2. 提高硬件利用率(物理资源利用率低,例如峰值)
  3. 动态调整机器配置(虚拟化把系统的应用程序和服务硬件分离、提高了灵活性)
  4. 高可靠(可部署额外的功能和方案,可一高透明负载均衡、迁移、恢复复制等应用环境)
  • 劣势
  1. 前期高额费用(初期的硬件支持)
  2. 降低硬件利用率
  3. 更大的错误影响面(本地物理机挂掉会导致虚拟机均不可用,同时可能虚拟机中文件全部损坏)
  4. 实施配置复杂、管理复杂
  5. 一定的限制性(虚拟化技术涉及各种限制,必须与支持、兼容虚拟化的服务器、应用程序以及供应商结合使用)
  6. 安全性

kvm 三种模式

  • 客户模式:客户机在操作系统中运行的模式
  • 内核模式:模拟cpu、内存,实现客户模式切换
  • 用户模式:为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O。

部署

[[email protected] ~]# mkdir /mount
[[email protected] ~]# vim /etc/fstab     //永久性挂载镜像光盘
/dev/cdrom /mount iso9660 defaults 0 0
[[email protected] ~]# mount -a
mount: /dev/sr0 写保护,将以只读方式挂载
[[email protected] ~]# 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
[[email protected] ~]# vim /etc/ssh/sshd_config    //将sshd配置文件中的反解DNS设置为NO

在这里插入图片描述

[[email protected] ~]# systemctl restart sshd  重启
  • 制作本地yum仓库
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# mkdir bak
[[email protected] yum.repos.d]# mv CentOS-* bak
[[email protected] yum.repos.d]# vim local.repo

[local]
name=kvm
baseurl=file:///mount
gpgcheck=0
enabled=1

[[email protected] yum.repos.d]# yum clean all
[[email protected] yum.repos.d]# yum makecache
[[email protected] 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图形界面管理虚拟机
[[email protected] 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
……………………………………………………

[[email protected] yum.repos.d]# lsmod | grep kvm       //查看kvm模块是否安装
kvm_amd              2177212  0 
kvm                   586948  1 kvm_amd
irqbypass              13503  1 kvm
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33            

在这里插入图片描述

[[email protected] ~]# 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

[[email protected] ~]# mkdir -p /data_kvm/iso
[[email protected] ~]# mkdir -p /data_kvm/store
[roo[email protected] iso]# pwd
/data_kvm/iso
[[email protected] iso]# ls
CentOS-7-x86_64-DVD-1810-7.6.iso

  • 上传系统镜像
    在这里插入图片描述
[[email protected] ~]# virt-manager     //使用虚拟机管理器管理虚拟机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 创建镜像
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 出现这个界面只要按装系统步骤继续即可
    在这里插入图片描述
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_56422027/article/details/119789216

智能推荐

RichEdit 小结_weixin_30609287的博客-程序员宅基地

一般性问题1. 代码编译通过了,运行后RichEdit控件不显示,在InitInstance中添加BOOL CWinApp::InitInstance (){…AfxInitRichEdit(); - RichEdit 1.0或 AfxInitRichEdit2(); - RichEdit 2.0…}2. 升级默认的RichEdit版本,默认的版本有BUG,在InitInstance...

C# 虹软SDK视频人脸识别和注册_weixin_30570101的博客-程序员宅基地

一,准备工作1.Afoge视频参数类代码using AForge.Video.DirectShow;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Face...

根据折线经纬度获取的折线平行线_diuyanchang6435的博客-程序员宅基地

/** * @Title: main * @Description: TODO(经纬度根据获取折线的平行线) * @param list 平行线* @param angle (公里数)距离真实线范围 经纬度大概按照0.0011为100米进行计算* @return List<Double[]> 平行线坐标数组{0:lon,1:lat}* @...

pythonmkdir语法错误_解决python os.mkdir创建目录失败的问题_weixin_39617685的博客-程序员宅基地

起因今天使用 python os.mkdir创建目录时遇到的一个小问题:feature_dir = os.path.join(os.getcwd(), 'system', 'feature')if not os.path.exists(feature_dir):os.mkdir(feature_dir)结果提示错误: OSError: [Errno 2] No such file or direc...

AOS V1.1 发布,JavaEE 应用基础平台_weixin_34082789的博客-程序员宅基地

2019独角兽企业重金招聘Python工程师标准>>> ...

随便推点

rlwrap工具使用_ctcml02642的博客-程序员宅基地

以往使用secureCRT或其他工具登陆sqlplus,进行命令的输入时,按键盘上下左右和退格都会出现乱码。今天在回顾公司的数据库检查流程里,看到一个以前没有注意过的工具: rlwrap...

Android monkey测试提高稳定性_FrancisBingo的博客-程序员宅基地

1. 打开设置其他高级设置开发者选项启用严格模式2. 连接电脑,在命令提示符下执行以下命令:adb shell monkey -p +被测apk的包名 -v -v --throttle 300 --pct-touch 30 --pct-motion 20 --pct-nav 20 --pct-majornav 15 --pct-appswitch 5 --pct-anyevent ...

android retrofit2.0教程,Retrofit2.0添加Header的方法总结(推荐)_杨小荷的博客-程序员宅基地

最近在项目里面需要添加header,然后就想大家分想一下retrofit添加header的方法(1)使用注解的方式添加一个header参数public interface ApiService {@Headers("Cache-Control: max-age=560000")@GET("/data")Call> getData();}(2)使用注解的方式添加多个header参数public...

工具类中使用@Autowired注入为null的问题_κ青橘柠檬的博客-程序员宅基地_autowired注入mapper为null

这里遇到的问题是:1、一般工具类中的方法都是静态的,而在静态方法中又不能直接使用注入的mapper。如://注入@Autowiredprivate SmsLogMapper mapper;//方法public static String sendSms(String mobile) {//这里不能直接用mapper,因为mapper不是静态}2、第二个问题是,如果把mapper改为静态的,则在方法中使用时,mapper就是null。解决方法在工具类上添加@Component注解将工具类

ubuntu下chrome每次关闭都显示2次创建钥匙环_ubuntu20.04的博客-程序员宅基地

[email protected]:~/.local/share/keyrings$ ls -a. .. 默认密钥环.keyring [email protected]:~/.local/share/keyrings$ cd [email protected]:~/.local/share$ ls -a. grilo-plugins shotwell..

python tkinter教程-事件绑定_weixin_30780649的博客-程序员宅基地

一个Tkinter主要跑在mainloop进程里。Events可能来自多个地方,比如按键,鼠标,或是系统事件。Tkinter提供了丰富的方法来处理这些事件。对于每一个控件Widget,你都可以为其绑定方法function。widget.bind(event,handler)如果相应的event发生了,就会调用handler处理事件。举个例子:捕获鼠标点击事件:from Tkinte...