虚拟化技术--Xen知识总结
来源:互联网 发布:有网络 无法显示此网页 编辑:程序博客网 时间:2024/05/17 07:29
虚拟化技术基础:
cpu虚拟化:
模拟:emulation
虚拟:virtulization
完全虚拟化(full-virtulization)
BT: 二进制翻译 (软件)
HVM:硬件辅助的虚拟化 (硬件)
半虚拟化(para-virtulization)
Memory:
进程:线性地址空间
内核:物理地址空间
MMU Virtulization
Intel: EPT, Extended Page Table
AMD: NTP, Nested Page Table
TLB virtulization
tagged TLB
I/O:
外存:
硬盘、光盘、U盘
网络设备:
网卡
显示设备:
VGA: frame buffer机制
键盘鼠标:
ps/2, usb
I/O虚拟化的方式:
模拟: 完全使用软件来模拟真实硬件
半虚拟化化:
IO-through: IO透传
Intel: VT-d
基于北桥的硬件辅助的虚拟化技术;
两种实现方式:
Type-I:
xen, vmware ESX/ESXi
Type-II:
kvm, vmware workstation, virtualbox
虚拟化技术的分类:
模拟:著名的模拟器,PearPC, Bochs, QEMU
完全虚拟化:也称为native virtulization
两种加速方式:
BT
HVM
VMware Workstation, VMware Server, Parallels Desktop, KVM, Xen(HVM)
半虚拟化:para-virtualization
xen, uml(user-mode linux)
OS级别的虚拟化:
OpenVZ, lxc
Solaris Containers
FreeBSD jails
库虚拟化:
wine
应用程序虚拟化:
jvm
虚拟化网络:
nat mode
bridge mode
routed mode
isolation mode
使用brctl的配置的过程示例:
# brctl addbr br0
# brctl stp br0 on
# ifconfig eth0 0 up
# brctl addif br0 eth0
# ifconfig br0 IP/NETMASK up
# route add default gw GW
Xen:
Xen的组成部分:
1.Xen Hypervisor: 分配CPU、Memory、Interrupt
2. Dom0 : ①特权域 为用户提供接口创建虚拟机
②借助其内核,驱动IO程序。(其他虚拟机的IO就是由Dom0通过Qemu模拟出IO,再关联至实际硬盘。半虚拟化模式提高效率,分前半段和后半段)
3.DomU 非特权域,根据其虚拟化方式实现。
Xen的工作模式:
pv: 半虚拟化
fv: 依赖于CPU的HVM
pv on hvm: CPU完全虚拟化,但IO采用半虚拟化;
xen hypervisor
硬件 --> 安装Linux --> 安装xen --> 修改grub,配置其内核为xen,而不再使用原Linux的内核(Linux的内核和initramfs文件被当作xen的模块)--> 重新编译Linux内核,使得其能够运行于Dom0 --> 重启系统;
创建一个pv格式的vm:
(1) 准备磁盘映像文件
qemu-img create -f raw -o size=2G /images/xen/busybox.img
mke2fs -t ext /images/xen/busybox.img
(2) 提供根文件系统
编译busybox,并复制到busybox.img映像中
mount -o /images/xen/busybox.img /mnt
cp -a $BUSYBOX/_install/* /mnt
mkdir /mnt/{proc,sys,dev,var}
(3) 提供配置DomU配置文件
name = "busybox-001"
kernel = "/boot/vmlinuz"
ramdisk = "/boot/initramfs.img"
extra = "selinux=0 init=/bin/sh"
memory = 256
vcpus = 2
disk = [ '/images/xen/busybox.img,raw,xvda,rw' ]
root = "/dev/xvda ro"
(4) 启动实例:
xl [-v] create <DomU_Config_file> -n
xl create <DomU_Config_file> -c
Ctrl + ]
使用xl命令进行创建虚拟机并完成CentOS 6.6的系统安装
(1) 创建磁盘映像文件;
(2) 获取安装指定版本的系统所需要kernel及initrd文件;
(3) 创建DomU配置文件,示例如下:
name = "centos-001"
kernel = "/images/kernel/vmlinuz"
ramdisk = "/images/kernel/initrd.img"
extra = "ks=http://172.16.0.1/centos6.x86_64.cfg"
memory = 512
vcpus = 2
vif = [ 'bridge=xenbr0' ]
disk = [ '/images/xen/centos6.6.img,qcow2,xvda,rw' ]
on_reboot = "shutdown"
(4) 安装完成后,创建虚拟机的配置文件需要做出修改;
name = "centos-001"
bootloader = "pygrub"
memory = 512
vcpus = 2
vif = [ 'bridge=xenbr0' ]
disk = [ '/images/xen/centos6.6.img,qcow2,xvda,rw' ]
启动图形窗口:
在创建虚拟机的配置文件中定义vfb
(1) vfb = [ 'sdl=1' ]
(2) vnc
(a) yum install tigervnc
(b) vfb = [ 'vnc=1' ]
vnc监听的端口为5900, 相应的DISPLAYNUM为0
- 虚拟化技术--Xen知识总结
- 系统虚拟化知识总结--Xen虚拟化平台
- Xen虚拟化技术
- Xen 虚拟化背景知识
- 虚拟化技术性能总结:Zones, KVM, Xen
- XEN虚拟化技术概论
- 虚拟化技术--KVM知识总结
- Xen的敏感指令陷入-《Xen虚拟化技术》学习
- Linux 中的 XEN 虚拟化技术
- Xen 虚拟化技术产生的效益
- 虚拟化技术(Xen)(读书笔记)
- 虚拟化技术对比:Xen vs KVM
- 浅谈Xen和半虚拟化技术
- 虚拟化技术kvm,xen,vmware比较
- 虚拟化技术kvm,xen,vmware比较
- Linux虚拟化技术 Xen vs Kvm
- VMware、Xen和Microsoft虚拟化技术解析
- Linux上的虚拟化技术 Xen 初学者指南
- Android APP UI性能优化 检测UI卡顿
- Spring的JdbcTemplate的使用
- rsyslog、logrotate切割保存日志日期不准确的问题
- DataGridView绑定list的注意事项
- 2nd 【最小生成树】 丛林中的树
- 虚拟化技术--Xen知识总结
- VisualStudio 扩展开发
- 第一次接触单片机ADC 都会有这些问题
- <Android开源库> MPAndroidChart Wiki(译文)~Part 5
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析
- Java核心技术第二章
- FTRL算法
- 二叉搜索树与双向链表
- 基于ORA-12170 TNS 连接超时解决办法详解