虚拟化
硬件虚拟化:
一台物理机虚拟出多台逻辑上的计算机
cpu,内存可分配给多个虚拟机
软件虚拟化:
一个LAMP平台支撑多个网站
桌面虚拟化
......

虚拟机:通过软件平台模拟出的计算机
对最终用户来说,感受不到与物理计算机的差异
根据虚拟化程度不同,所需的修改也不同

虚拟化实现程度:
完全虚拟化,Full Virtualization
由平台软件来模拟实现,客户机的操作系统代码几乎不做修改
版虚拟化,Para Virtualization
平台软件只提供最核心的虚拟机功能,需要修改客户机的系统内核,兼容性较差
KVM,完全虚拟化------支持各种OS
XEN,部分虚拟化------不支持windows

硬件辅助虚拟化:
将实现虚拟化技术的部分功能硬件化,主要指intel/amd等cpu支持

常见的虚拟化软件
主要厂商及产品
—————————————————————————————
系列 pc/服务版代表 |
vmware vsphere平台 vmware workstartion |
microsoft virtualpc hyper-v |
redhat kvm ,rhev平台 |
citrix xen |
oracle oracle vm virtualbox |
—————————————————————————————

KVM虚拟化
基于内核的完全虚拟化解决方案
红帽5.4版本开始推出,可替代早先的xen产品
需要intel vt或amd v处理器技术支持
支持linux/unix/windows客户机

host os与guest os
host os———》物理机/宿主机
运行kvm虚拟化平台的物理机的操作系统
guest os——》虚拟机。客户机
虚拟机上运行的操作系统

虚拟网络类型
桥接模式:虚拟机能够与真实机互相通信(相同网段)
隔离模式:虚拟机不能够与真实机互相通信(不同网段)

网络访问模式(隔离的虚拟机与真实网络通信)
nat模式:kvm服务器作为网关,连接的虚拟机组成一个内网,
这些虚拟机共用kvm服务器的外网地址去访问外部真机
路由模式:kvm服务器作为路由器,手动设置路由记录

————————————————————————————————————————-
搭建KVM平台
安装虚拟化相关包组
Virtualization,Virtualization Client,
Virtualization Tools,Virtualization Platform
启动libvirtd服务,并设为开机自启
[root@pc205 ~]# yum -y groupinstall Virtualization,Virtualization Client,Virtualization Tools,Virtualization Platform
(支持中文安装[root@pc205 ~]# yum -y groupinstall 虚拟化 虚拟化客户端 虚拟化工具 虚拟化平台)
[root@pc205 ~]# service libvirtd restart
[root@pc205 ~]# chkconfig libvirtd on
[root@pc205 ~]# ifconfig virbr0(会多出一个网卡)
(常见错误:libvirtd服务无法启动。原因:需要调用dnsmasq服务可能与dhcp,dbs冲突,停用冲突的服务dhcpd,named)

kvm服务器提供的虚拟网络
隔离+nat:virbr0
桥接:br0
(注意停用NetworkManager)
建立虚拟接口br0的配置
把真实接口eth0加入到桥接
[root@pc205 ~]# cd /etc/sysconfig/network-scripts
[root@pc205 network-scripts]# cp ifcfg-eth0 ifcfg-br0(复制网卡配置到虚拟接口)
[root@pc205 network-scripts]# vim ifcfg-br0
DEVICE=br0(网卡名)
TYPE=Bridge(桥接)
[root@pc205 network-scripts]# vim ifcfg-eth0(把真实接口eth0加入到桥接)
BRIDGE=br0(添加)
[root@pc205 network-scripts]# service network restart(重启服务,测试桥接结果)
正在关闭接口 eth0: bridge br0 does not exist!
[确定]
正在关闭接口 eth1: [确定]
正在关闭接口 eth2: [确定]
正在关闭接口 eth3: [确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth0: [确定]
弹出界面 eth1: [确定]
弹出界面 eth2: [确定]
弹出界面 eth3: [确定]
弹出界面 br0: Determining if ip address 192.168.4.205 is already in use for device br0...

——————————————————————————————————————————————————————

kvm虚拟机的硬件设备
配置文件(cpu,内存,显卡...)
虚拟磁盘文件
[root@room1pc01 /]# mkdir /opt/images(创建虚拟机磁盘)
[root@room1pc01 ~]# dd if=/dev/zero of=/opt/images/hydra1.img bs=10M count=1000 (创建10G的虚拟机的磁盘)
记录了1000+0 的读入
记录了1000+0 的写出
10485760000字节(10 GB)已复制,303.181 秒,34.6 MB/秒

ssh免密码验证的实现
[root@room1pc01 桌面]# ssh-keygen(创建一对密钥)
[root@room1pc01 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
[root@room1pc01 .ssh]# ssh-copy-id root@192.168.4.6(把公钥部署到远程用户的家目录)

一个私钥——》多份公钥(把公钥分别发送到不同的主机上)
多分私钥——》一个公钥(不常见)

————————————————————————————————————————————————

linux虚拟化概述的更多相关文章

  1. <Mastering KVM Virtualization>:第一章 了解Linux虚拟化

    本章为读者提供了Linux虚拟化中流行技术的深刻见解,以及相较于其他同类技术的优势特点.本书共有14章,囊括了KVM虚拟化中的各个方面,从KVM的内部构造开始,并包括了诸如软件定义网络(SDN),性能 ...

  2. 【原创】Linux虚拟化KVM-Qemu分析(三)之KVM源码(1)

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9 ...

  3. 【原创】Linux虚拟化KVM-Qemu分析(五)之内存虚拟化

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9 ...

  4. 关于Linux虚拟化技术KVM的科普

    虚拟化技术应用越来越广泛,虚拟化技术需求越来越强劲.KVM.XEN.Docker等比较热门,尤其是KVM技术越来越受欢迎. 基于此背景,了解一下KVM+QEMU就有点必要了. 从网上收集了一些资料进行 ...

  5. Linux学习笔记之三————Linux命令概述

    一.引言 很多人可能在电视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完成了窃取资料的任务. Linux 刚出世时没有什么图形界面,所有的操作全靠命令完成, ...

  6. Linux的概述与分类

    1.Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的, ...

  7. My way on Linux - [虚拟化&云计算] - 云计算概述&KVM虚拟化基础

    思维导图

  8. KVM虚拟化概述与安装

    虚拟化是构建云计算基础架构不可或缺的关键技术之一,云计算的云端系统,其实质上就是一个大型的KVM分布式系统,虚拟化通过在一个物理平台上虚拟出更多的虚拟平台,而其中的每一个虚拟平台则可以作为独立的终端加 ...

  9. 【原创】Linux虚拟化KVM-Qemu分析(一)

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9 ...

随机推荐

  1. Shader 入门笔记(二) CPU和GPU之间的通信

    渲染流水线的起点是CPU,即应用阶段. 1)把数据加载到显存中 2)设置渲染状态,通俗说这些状态定义了场景中的网格是怎样被渲染的. 3)调用DrawCall,一个命令,CPU通知GPU.(这个命令仅仅 ...

  2. curl与grep的使用

    [root@nhserver1 ~]# curl -s www.163.com | grep hot_pop_js.js | sed 's/www.[[:digit:]]*.com/111/'    ...

  3. python3中的进程

    由于GIL的存在,python中的多线程并不是真正的多线程. 如果想要充分的使用多核CPU的资源,在python中大部分情况需要使用多进程. 在计算机中,进程与进程这之间在内存中是相互独立的,是两块完 ...

  4. 安装RRDtool 1.4.5

    安装rrdtoolRrdtool安装需要cairo.libxml2.pango库支持,可通过yum安装安装libart_lgpl-devel这个包yum -y install libart_lgpl- ...

  5. iOS-xcode代码统计

    作为开发者,想不想知道自己写了多少行代码吗,打开终端,进入项目文件夹,然后进入想统计的某个文件夹,也可以直接在当前项目文件夹,然后终端输入下面的代码就可以了 find . "(" ...

  6. CentOS7修改SSH远程连接端口

      CentOS7修改SSH远程连接端口              

  7. quartz的一些记录

    定时任务总会遇到任务重叠执行的情况,比如一个任务1分钟执行一次,而任务的执行时间超过了1分钟,这样就会有两个相同任务并发执行了.有时候我们是允许这种情况的发生的,比如任务执行的代码是幂等的,而有时候我 ...

  8. Spring单元测试

    1.基于AbstractDependencyInjectionSpringContextTests Spring的单元测试可以使用AbstractDependencyInjectionSpringCo ...

  9. iconfont 怎么在项目中使用图标库

    iconfont是很多设计以及前后端人员编写页面时经常用到的网站,阿里不仅为我们提供了免费的图标库,并且有一套完整的图标库体系.很多初学者只知道从图标库中下载图标放入项目中,但在实际项目应用中,过多的 ...

  10. 深度学习(一。深度学习概览)(mooc视频https://www.icourse163.org/learn/MSRA-1002255002?tid=1002370003#/learn/content?type=detail&id=1003271123)

    一. 深度学习概览 1.为什么resnet应用在图像识别 因为传统神经网络精度有限,而只是增加层数无法提高精度.而resnet可以改变这个问题. 2.Microsoft SwitchBoard 在语音 ...