虚拟化
硬件虚拟化:
一台物理机虚拟出多台逻辑上的计算机
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服务,并设为开机自启
[[email protected] ~]# yum -y groupinstall Virtualization,Virtualization Client,Virtualization Tools,Virtualization Platform
(支持中文安装[[email protected] ~]# yum -y groupinstall 虚拟化 虚拟化客户端 虚拟化工具 虚拟化平台)
[[email protected] ~]# service libvirtd restart
[[email protected] ~]# chkconfig libvirtd on
[[email protected] ~]# ifconfig virbr0(会多出一个网卡)
(常见错误:libvirtd服务无法启动。原因:需要调用dnsmasq服务可能与dhcp,dbs冲突,停用冲突的服务dhcpd,named)
kvm服务器提供的虚拟网络
隔离+nat:virbr0
桥接:br0
(注意停用NetworkManager)
建立虚拟接口br0的配置
把真实接口eth0加入到桥接
[[email protected] ~]# cd /etc/sysconfig/network-scripts
[[email protected] network-scripts]# cp ifcfg-eth0 ifcfg-br0(复制网卡配置到虚拟接口)
[[email protected] network-scripts]# vim ifcfg-br0
DEVICE=br0(网卡名)
TYPE=Bridge(桥接)
[[email protected] network-scripts]# vim ifcfg-eth0(把真实接口eth0加入到桥接)
BRIDGE=br0(添加)
[[email protected] 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,内存,显卡...)
虚拟磁盘文件
[[email protected] /]# mkdir /opt/images(创建虚拟机磁盘)
[[email protected] ~]# 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免密码验证的实现
[[email protected] 桌面]# ssh-keygen(创建一对密钥)
[[email protected] .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
[[email protected] .ssh]# ssh-copy-id [email protected](把公钥部署到远程用户的家目录)
一个私钥——》多份公钥(把公钥分别发送到不同的主机上)
多分私钥——》一个公钥(不常见)
————————————————————————————————————————————————