虚拟化
硬件虚拟化:
一台物理机虚拟出多台逻辑上的计算机
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. convert图像格式批量转换

    问题:利用GMT绘制生成了eps格式的图像,为了将图像插入到word中,且保持较高的分辨率,利用convert进行图像格式转换,将eps转换成tiff格式. code:  $i ${name}.tif ...

  2. Node-debug方法

    本文使用配置node-inspector配合chorme完成debug(编辑器使用SublimeText3). 1.用命令行进入安装node的目录,使用npm install -g node-insp ...

  3. oracle pl/sql如何定义变量

    目的:如何在pl/sql中定义基本类型,引用类型,记录型变量? 以下plsql程序用的scott用户的dept,emp表. 定义基本类型的变量 set serveroutput on ; --使用基本 ...

  4. python的logging模块

    python提供了一个日志处理的模块,那就是logging 导入logging模块使用以下命令: import logging logging模块的用法: 1.简单的将日志打印到屏幕上 import ...

  5. [Sdoi2017]硬币游戏 [高斯消元 KMP]

    [Sdoi2017]硬币游戏 题意:硬币序列,H T等概率出现,\(n \le 300\)个人猜了一个长为$ m \le 300$的字符串,出现即获胜游戏结束.求每个人获胜概率 考场用了[1444: ...

  6. Java数据结构和算法(十五)——无权无向图

    前面我们介绍了树这种数据结构,树是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合,把它叫做“树”是因为它看起来像一棵倒挂的树,包括二叉树.红黑树.2-3-4树.堆等各种不同的 ...

  7. Windows Server 2016-Active Directory域服务概述

    活动目录(AD)是一种目录服务是微软用于开发Windows域网络.它被包含在大多数Windows Server 操作系统中作为一组进程和服务.最初,Active Directory只负责集中式域管理. ...

  8. linux内核链表的使用

    linux内核链表:链表通常包括两个域:数据域和指针域.struct list_head{struct list_head *next,*prev;};include/linux/list.h中实现了 ...

  9. java单例模式学习笔记

    最近一直在学习多线程,在学习过程中遇到了关于单例模式的多线程安全问题,内容如下: 一:首先什么是单例模式 单例模式具有的三要点: 一个类只能有一个实例: 必须是由它自己创建的这个实例: 它必须自行向外 ...

  10. php get_called_class()函数与get_class()函数的区别

    get_class (): 获取当前调用方法的类名: get_called_class():获取静态绑定后的类名: class Foo{ public function test(){ var_dum ...