虚拟化
硬件虚拟化:
一台物理机虚拟出多台逻辑上的计算机
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. python字符串问题

    相关知识点: 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unico ...

  2. sizeof和strlen的使用

    sizeof和strlen的使用 1. sizeof 其值在编译时就计算好了,所以不能用来返回动态分配的内存空姐的大小. 当参数为下面内容是,所表达的含义: 数组——编译时分配的数组空间大小: 指针— ...

  3. JAVA设计模式---单例模式的几种实现方式比较

    1.延迟实例化方式:(懒汉模式) public class Singleton { private static Singleton uniqueInstance; private Singleton ...

  4. python字符串常用内置方法

    python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...

  5. Vsftp的PASV mode和Port模式配置文件的设置

    FTP模式与数据端口 FTP 分为两类,PORT FTP和PASV FTP,PORT FTP是一般形式的FTP.这两种FTP在建立控制连接时操作是一样的,都是由客户端首先和FTP服务器的控制端口(默认 ...

  6. Linux下查看CPU、内存和硬盘信息命令

    一.查看cpu信息 cat /proc/cpuinfo 相同physical id 的记录是属于同一个CPU的,对应于多核的信息. 二.查看内存的信息 cat /proc/meminfo 三.查看硬盘 ...

  7. wireshark抓包图解 TCP三次握手/四次挥手详解[转]

    原文链接:http://www.seanyxie.com/wireshark%E6%8A%93%E5%8C%85%E5%9B%BE%E8%A7%A3-tcp%E4%B8%89%E6%AC%A1%E6% ...

  8. js中splice()的用法

    实例 移除数组的第三个元素,并在数组第三个位置添加新元素: var fruits = ["Banana", "Orange", "Apple" ...

  9. 数据分析之pandas教程------数据处理

    目录 1  数据合并 1.1  实现数据库表join功能 1.2  实现union功能 2  数据转换 2.1  轴旋转 2.2  数据转换 2.2.1  去重 2.2.2  对某一列运用函数 2.2 ...

  10. linux内核链表的使用

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