当前位置:文档之家› Linux_KVM虚拟化源代码分析

Linux_KVM虚拟化源代码分析

Linux_KVM虚拟化源代码分析
Linux_KVM虚拟化源代码分析

KVM虚拟机源代码分析

1,KVM结构及工作原理

1.1K VM结构

KVM基本结构有两部分组成。一个是KVM Driver ,已经成为Linux 内核的一个模块。负责虚拟机的创建,虚拟内存的分配,虚拟CPU寄存器的读写以及虚拟CPU的运行等。另外一个是稍微修改过的Qemu,用于模拟PC硬件的用户空间组件,提供I/O设备模型以及访问外设的途径。

图1 KVM基本结构

KVM基本结构如图1所示。其中KVM加入到标准的Linux内核中,被组织成Linux中标准的字符设备(/dev/kvm)。Qemu通KVM提供的LibKvm应用程序接口,通过ioctl系统调用创建和运行虚拟机。KVM Driver使得整个Linux成为一个虚拟机监控器。并且在原有的Linux两种执行模式(内核模式和用户模式)的基础上,新增加了客户模式,客户模式拥有自己的内核模式和用户模式。在虚拟机运行下,三种模式的分工如下:

客户模式:执行非I/O的客户代码。虚拟机运行在客户模式下。

内核模式:实现到客户模式的切换。处理因为I/O或者其它指令引起的从客户模式的退出。KVM Driver工作在这种模式下。

用户模式:代表客户执行I/O指令Qemu运行在这种模式下。

在KVM模型中,每一个Guest OS 都作为一个标准的Linux进程,可以使用Linux的进程管理指令管理。

在图1中./dev/kvm在内核中创建的标准字符设备,通过ioctl系统调用来访问内核虚拟机,进行虚拟机的创建和初始化;kvm_vm fd是创建的指向特定虚拟机实例的文件描述符,通过这个文件描述符对特定虚拟机进行访问控制;kvm_vcpu fd指向为虚拟机创建的虚拟处理器的文件描述符,通过该描述符使用ioctl系统调用设置和调度虚拟处理器的运行。

1.2K VM工作原理

KVM的基本工作原理:用户模式的Qemu利用接口libkvm通过ioctl系统调用进入内核模式。KVM Driver为虚拟机创建虚拟内存和虚拟CPU后执行VMLAUCH指令进入客户模式。装载Guest OS执行。如果Guest OS发生外部中断或者影子页表缺页之类的事件,暂停Guest OS的执行,退出客户模式进行一些必要的处理。然后重新进入客户模式,执行客户代码。如果发生I/O事件或者信号队列中有信号到达,就会进入用户模式处理。KVM采用全虚拟化技术。客户机不用修改就可以运行。

图2 KVM 工作基本原理

2,相关技术-处理器管理和硬件辅助虚拟化技术

Intel 在2006年发布了硬件虚拟化技术。其中支持X86体系结构的称为Intel VT-x技术。ADM称为SVM技术。

VT-x引入了一种新的处理器操作,叫做VMX(Virtual Machine Extension),提供了两种处理器的工作环境。VMCS结构实现两种环境之间的切换。VM Entry使虚拟机进去客户模式,VM Exit使虚拟机退出客户模式。

2.1K VM中Guest OS的调度执行

VMM调度Guest OS执行时,Qemu通过ioctl系统调用进入内核模式,在KVM Driver 中通过get_cpu获得当前物理CPU的引用。之后将Guest状态从VMCS中读出。并装入物理CPU中。执行VMLAUCH指令使得物理处理器进入非根操作环境,运行客户代码。

当Guest OS执行一些特权指令或者外部事件时,比如I/O访问,对控制寄存器的操作,MSR的读写数据包到达等。都会导致物理CPU发生VMExit,停止运行Guest OS。将Guest OS 保存到VMCS中,Host状态装入物理处理器中,处理器进入根操作环境,KVM取得控制权,通过读取VMCS中VM_EXIT_REASON字段得到引起VM Exit的原因。从而调用kvm_exit_handler处理函数。如果由于I/O获得信号到达,则退出到用户模式的Qemu处理。处理完毕后,重新进入客户模式运行虚拟CPU。如果是因为外部中断,则在Lib KVM中做一些必要的处理,重新进入客户模式执行客户代码。

2.2K VM中内存管理

KVM使用影子页表实现客户物理地址到主机物理地址的转换。初始为空,随着虚拟机页访问实效的增加,影子页表被逐渐建立起来,并随着客户机页表的更新而更新。在KVM 中提供了一个哈希列表和哈希函数,以客户机页表项中的虚拟页号和该页表项所在页表的级别作为键值,通过该键值查询,如不为空,则表示该对应的影子页表项中的物理页号已经存在并且所指向的影子页表已经生成。如为空,则需新生成一张影子页表,KVM将获取指向该影子页表的主机物理页号填充到相应的影子页表项的内容中,同时以客户机页表虚拟页号和表所在的级别生成键值,在代表该键值的哈希桶中填入主机物理页号,以备查询。但是一旦Guest OS中出现进程切换,会把整个影子页表全部删除重建,而刚被删掉的页表可能很快又被客户机使用,如果只更新相应的影子页表的表项,旧的影子页表就可以重用。因此在KVM中采用将影子页表中对应主机物理页的客户虚拟页写保护并且维护一张影子页表的逆向映射表,即从主机物理地址到客户虚拟地址之间的转换表,这样VM对页表或页目录的修改就可以触发一个缺页异常,从而被KVM捕获,对客户页表或页目录项的修改就可以同样作用于影子页表,通过这种方式实现影子页表与客户机页表保持同步。

2.3K VM中设备管理

一个机器只有一套I/o地址和设备。设备的管理和访问是操作系统中的突出问题、同样也是虚拟机实现的难题,另外还要提供虚拟设备供各个VM使用。在KVM中通过移植Qemu 中的设备模型(Device Model)进行设备的管理和访问。操作系统中,软件使用可编程I/O(PIO)和内存映射I/O(MMIO)与硬件交互。而且硬件可以发出中断请求,由操作系统处理。在有虚拟机的情况下,虚拟机必须要捕获并且模拟PIO和MMIO的请求,模拟虚拟硬件中断。

捕获PIO:由硬件直接提供。当VM发出PIO指令时,导致VM Exit然后硬件会将VM Exit 原因及对应的指令写入VMCS控制结构中,这样KVM就会模拟PIO指令。MMIO捕获:对MMIO页的访问导致缺页异常,被KVM捕获,通过X86模拟器模拟执行MMIO指令。KVM 中的I/O虚拟化都是用户空间的Qemu实现的。所有PIO和MMIO的访问都是被转发到Qemu 的。Qemu模拟硬件设备提供给虚拟机使用。KVM通过异步通知机制以及I/O指令的模拟来完成设备访问,这些通知包括:虚拟中断请求,信号驱动机制以及VM间的通信。

以虚拟机接收数据包来说明虚拟机和设备的交互。

图3 I/O分析

(1)当数据包到达主机的物理网卡后,调用物理网卡的驱动程序,在其中利用Linux内核中的软件网桥,实现数据的转发。

(2)在软件网挢这一层,会判断数据包是发往那个设备的,同时调用网桥的发送函数,向对应的端口发送数据包。

(3)若数据包是发往虚拟机的,则要通过tap设备进行转发,tap设备由两部分组成,网络设备和字符设备。网络设备负责接收和发送数据包,字符设备负责将数据包往内核空间和用户空间进行转发。Tap网络部分收到数据包后,将其设备文件符置位,同时向正在运行VM的进程发出I/O可用信号,引起VM Exit,停止VM运行,进入根操作状态。KVM根据KVM_EXIT_REASON判断原因,模拟I/O指令的执行,将中断注入到VM的中断向量表中。

(4)返回用户模式的Qemu中,执行设备模型。返回到kvm_main loop中,执行Kvm—main —loop—wait,之后进入main_loop wait中,在这个函数里收集对应设备的设备文件描述符的状态,此时tap设备文件描述符的状态同样被集到fd set。

(5)Kvm main—loop不停地循环,通过select系统调用判断哪螋文件描述符的状态发生变化,相应的调用对应的处理函数。对予tap来说,就会通过Qemu—send_packet将数据发往rtl8139

一do—receiver,在这个函数中完成相当于硬件RTL8139网卡的逻辑操作。KVM通过模拟I /O指令操作虚拟RTL8139将数据拷贝到用户地址空间,放在相应的I/O地址。用户模式处理完毕后返回内核模式,而后进入客户模式,VM被再次执行,继续收发数据包。

3,KVM 源代码分析-虚拟机创建和运行流程代码分析

3.1 KVM创建和运行虚拟机流程

KVM虚拟机创建和运行虚拟机分为用户态和核心态两个部分,用户态主要提供应用程序接口,为虚拟机创建虚拟机上下文环境,在libkvm中提供访问内核字符设备/dev/kvm的接口;内核态为添加到内核中的字符设备/dev/kvm,模块加载进内核后即可进行接口用户空间调用创建虚拟机。在创建虚拟机过程中,kvm字符设备主要为客户机创建kvm数据机构,创建该虚拟机的虚拟机文件描述符及其相应的数据结构以及创建虚拟处理器及其相应的数据结构。Kvm创建虚拟机的流程如图4所示。

首先申明一个kvm_context_t 变量用以描述用户态虚拟机上下文信息,然后调用kvm_init()函数初始化虚拟机上下文信息;函数kvm_create()创建虚拟机实例,该函数通过ioctl 系统调用创建虚拟机相关的内核数据结构并且返回虚拟机文件描述符给用户态kvm_context_t数据结构;创建完内核虚拟机数据结构后,再创建内核pit以及mmio等基本外设模拟设备,然后调用kvm_create_vcpu()函数来创建虚拟处理器,kvm_create_vcpu()函数通过ioctl()系统调用向由vm_fd文件描述符指向的虚拟文件调用创建虚拟处理器,并将虚拟处理器的文件描述符返回给用户态程序,用以以后的调度使用;创建完虚拟处理器后,由用户态的QEMU程序申请客户机用户空间,用以加载和运行客户机代码;为了使得客户虚拟机正确执行,必须要在内核中为客户机建立正确的内存映射关系,即影子页表信息。因此,申请客户机内存地址空间后,调用函数kvm_create_phys_mem()创建客户机内存映射关系,该函数主要通过ioctl系统调用向vm_fd指向的虚拟文件调用设置内核数据结构中客户机内存域相关信息,主要建立影子页表信息;当创建好虚拟处理器和影子页表后,即可读取客户机到指定分配的空间中,然后调度虚拟处理器运行。调度虚拟机的函数为kvm_run(),该函数通过ioctl系统调用调用由虚拟处理器文件描述符指向的虚拟文件调度处理函数kvm_run()调度虚拟处理器的执行,该系统调用将虚拟处理器vcpu信息加载到物理处理器中,通过vm_entry执行进入客户机执行。在客户机正常运行期间kvm_run()函数不返回,只有发生以下两种情况时,函数返回:1,发生了I/O事件,如客户机发出读写I/O的指令;2,产生了客户机和内核KVM都无法处理的异常。I/O事件处理完毕后,通过重新调用KVM_RUN()函数继续调度客户机的执行。

图 4 KVM虚拟机创建流程

3.2 虚拟机创建和运行主要函数分析

1,函数kvm_init():该函数在用户态创建一个虚拟机上下文,用以在用户态保存基本的虚拟机信息,这个函数是创建虚拟机第一个需要调用的函数,函数返回一个kvm_context_t 结构体。该函数原型为:

Kvm_context_t kvm_init(struct kvm_callbacks *callbacks,void *opaque);

参数:callbacks为结构体kvm_callbacks变量,该结构体包含指向函数的一组指针,用于在客户机执行过程中因为I/O事件退出到用户态的时候处理的回调函数(后面会分析)。参数opaque一般未使用。

函数执行基本过程:打开字符设备dev/kvm,申请虚拟机上下文变量kvm_context_t空间,初始化上下文的基本信息:设置fd文件描述符指向/dev/kvm、禁用虚拟机文件描述符vm_fd(-1) 设置I/O事件回调函数结构体,设置IRQ和PIT的标志位以及内存页面记录的标志位。

主要相关数据结构:

虚拟机上下文structkvm_context_t,用户态数据结构,用以描述虚拟机实例的用户态上下文信息。

Struct kvm_context:该结构体用于表示一个虚拟机上下文。主要包含的数据域为:

Int fd :指向内核标准字符设备/dev/kvm的文件描述符。

Int vm_fd:指向所创建的内核虚拟机数据结构相关文件的文件描述符。

Int vcpu_fd[MAX_VCPUS]:指向虚拟机所有的虚拟处理器的文件描述符数组。

Struct kvm_run *run[MAX_VCPUS]:指向虚拟机运行环境上下文的指针数组。

Struct kvm_callbacks *call_backs: 回调函数结构体指针,该结构体用于处理用户态I/O事件。Void *opaque:指针(还未弄清楚)

Int dirty_page_log_all:设置是否记录脏页面的标志。

Int no_ira_creation: 用于设置是否再kernel里设置irq芯片。

Int_irqchip_in_kernel: 内核中irqchip的状态

Int irqchip_inject_ioctl:用于拦截中断的iotcl系统调用

Int no_pit_creation: 设置是否再内核中设置陷阱

int pit_in_kernel:PIT状态

int coalesced_mmio:kernel中mmio

struct kvm_irq_routing *irq_routes:KVM中中断处理的路由结构指针。

int nr_allocated_irq_routes:分配给该虚拟机的中断路由数目。

int max_used_gsi:使用的最大的gsi(?)。

用户态I/O处理函数结构体struct kvm_callbacks,该结构体指向一组函数,主要用于处理客户机因为I/O事件退出而执行的过程。

struct kvm_callbacks :该结构体用于在用户态中处理I/O事件,在KVM中调用KVM_QEMU实现。主要包含的数据域为:

int (*inb)(void *opaque, uint16_t addr, uint8_t *data):用于模拟客户机执行8位的inb指令。int (*inw)(void *opaque, uint16_t addr, uint16_t *data):用于模拟客户机执行16位的inw指令。int (*inl)(void *opaque, uint16_t addr, uint32_t *data):用于模拟客户机执行32位的inl指令。int (*outb)(void *opaque, uint16_t addr, uint8_t data):用于模拟客户机执行8位的outb指令。int (*outw)(void *opaque, uint16_t addr, uint16_t data):用于模拟客户机执行16位的outw指令。

int (*outl)(void *opaque, uint16_t addr, uint32_t data):用于模拟客户机执行32位的outl指令。int (*mmio_read)(void *opaque, uint64_t addr, uint8_t *data,int len):用于模拟客户机执行mmio读指令。

int (*mmio_write)(void *opaque, uint64_t addr, uint8_t *data,int len):用于模拟客户机执行mmio写指令。

int (*debug)(void *opaque, void *env, struct kvm_debug_exit_arch *arch_info):用户客户机调试的回调函数。

int (*halt)(void *opaque, int vcpu):用于客户机执行halt指令的响应。

int (*shutdown)(void *opaque, void *env):用于客户机执行shutdown指令的响应。

int (*io_window)(void *opaque):用于获得客户机io_windows。

int (*try_push_interrupts)(void *opaque):用于注入中断的回调函数。

void (*push_nmi)(void *opaque):用于注入nmi中断的函数。

void (*post_kvm_run)(void *opaque, void *env);用户得到kvm运行状态函数。

int (*pre_kvm_run)(void *opaque, void *env);用于获得kvm之前运行状态的函数

int (*tpr_access)(void *opaque, int vcpu, uint64_t rip, int is_write);获得tpr访问处理函数

int (*powerpc_dcr_read)(int vcpu, uint32_t dcrn, uint32_t *data);用于powerpc的dcr读操作

nt (*powerpc_dcr_write)(int vcpu, uint32_t dcrn, uint32_t data);用于powerpc的dcr写操作

int (*s390_handle_intercept)(kvm_context_t context, int vcpu,struct kvm_run *run);用于s390的中断处理。

int (*s390_handle_reset)(kvm_context_t context, int vcpu,struct kvm_run *run);用于s390的重设处理。

}

当客户机执行I/O事件或者停机操作等事件时,KVM会交给用户态的QEMU模拟外部I/O事件,调用这个结构体指向的相关的函数进行处理。

Struct kvm_run: 用于KVM运行时一些的一些状态信息。主要包含的数据域为:

__u8 request_interrupt_window;

__u8 padding1[7];

__u32 exit_reason;

__u8 ready_for_interrupt_injection;

__u8 if_flag;

__u8 padding2[2];

/* in (pre_kvm_run), out (post_kvm_run) */

__u64 cr8;

__u64 apic_base;

union {

/* KVM_EXIT_UNKNOWN */

struct {

__u64 hardware_exit_reason; 记录退出原因

} hw;

/* KVM_EXIT_FAIL_ENTRY */ 客户机执行过程中执行VM_ENTRY失败。

struct {

__u64 hardware_entry_failure_reason;

} fail_entry;

/* KVM_EXIT_EXCEPTION */ 客户机因为异常退出

struct {

__u32 exception;

__u32 error_code;

} ex;

/* KVM_EXIT_IO */ 客户机因为IO事件退出。

struct kvm_io {

#define KVM_EXIT_IO_IN 0

#define KVM_EXIT_IO_OUT 1

__u8 direction;

__u8 size; /* bytes */

__u16 port;

__u32 count;

__u64 data_offset; /* relative to kvm_run start */

} io;

struct {

struct kvm_debug_exit_arch arch;

} debug;

/* KVM_EXIT_MMIO */ 客户机因为MMIO退出

struct {

__u64 phys_addr;

__u8 data[8];

__u32 len;

__u8 is_write;

} mmio;

/* KVM_EXIT_HYPERCALL */ 客户机退出的超调用参数。

struct {

__u64 nr;

__u64 args[6];

__u64 ret;

__u32 longmode;

__u32 pad;

} hypercall;

/* KVM_EXIT_TPR_ACCESS */ 客户机退出访问TPR参数struct {

__u64 rip;

__u32 is_write;

__u32 pad;

} tpr_access;

/* KVM_EXIT_S390_SIEIC */ 和S390相关数据

struct {

__u8 icptcode;

__u64 mask; /* psw upper half */

__u64 addr; /* psw lower half */

__u16 ipa;

__u32 ipb;

} s390_sieic;

/* KVM_EXIT_S390_RESET */

#define KVM_S390_RESET_POR 1

#define KVM_S390_RESET_CLEAR 2

#define KVM_S390_RESET_SUBSYSTEM 4

#define KVM_S390_RESET_CPU_INIT 8

#define KVM_S390_RESET_IPL 16

__u64 s390_reset_flags;

/* KVM_EXIT_DCR */

struct {

__u32 dcrn;

__u32 data;

__u8 is_write;

} dcr;

/* Fix the size of the union. */

char padding[256];

2,函数kvm_create():该函数主要用于创建一个虚拟机内核环境。该函数原型为:

int kvm_create(kvm_context_t kvm,unsigned long phys_mem_bytes, void **phys_mem);

参数:kvm_context_t 表示传递的用户态虚拟机上下文环境,phys_mem_bytes表示需要创建的物理内存的大小,phys_mem表示创建虚拟机的首地址。这个函数首先调用kvm_create_vm()分配IRQ并且初始化为0,设置vcpu[0]的值为-1,即不允许调度虚拟机执行。然后调用ioctl 系统调用ioctl(fd,KVM_CREATE_VM,0)来创建虚拟机内核数据结构struct kvm。

3,系统调用函数ioctl(fd,KVM_CREATE_VM,0),用于在内核中创建和虚拟机相关的数据结构。该函数原型为:

Static long kvm_dev_ioctl(struct file *filp,unsigned int ioctl,unsigned long arg);其中ioctl表示命令。这个函数调用kvm_dev_ioctl_create_vm()创建虚拟机实例内核相关数据结构。该函数首先通过内核中kvm_create_vm()函数创建内核中kvm上下文struct kvm,然后通过函数Anno_inode_getfd(“kvm_vm”,&kvm_vm_fops,kvm,0)返回该虚拟机的文件描述符,返回给用户调用函数,由2中描述的函数赋值给用户态虚拟机上下文变量中的虚拟机描述符kvm_vm_fd。

4,内核创建虚拟机kvm对象后,接着调用kvm_arch_create函数用于创建一些体系结构相关的信息,主要包括kvm_init_tss、kvm_create_pit以及kvm_init_coalsced_mmio等信息。然后调用kvm_create_phys_mem创建物理内存,函数kvm_create_irqchip用于创建内核irq信息,通过系统调用ioctl(kvm->vm_fd,KVM_CREATE_IRQCHIP)。

5,函数kvm_create_vcpu():用于创建虚拟处理器。该函数原型为:

int kvm_create_vcpu(kvm_context_t kvm, int slot);

参数:kvm表示对应用户态虚拟机上下文,slot表示需要创建的虚拟处理器的个数。

该函数通过ioctl系统调用ioctl(kvm->vm_fd,KVM_CREATE_VCPU,slot)创建属于该虚拟机的虚拟处理器。该系统调用函数:

Static init kvm_vm_ioctl_create_vcpu(struct *kvm, n) 参数kvm为内核虚拟机实例数据结构,n 为创建的虚拟CPU的数目。

6,函数kvm_create_phys_mem()用于创建虚拟机内存空间,该函数原型:

Void * kvm_create_phys_mem(kvm_context_t kvm,unsigned long phys_start,unsigned len,int log,int writable);

参数:kvm 表示用户态虚拟机上下文信息,phys_start为分配给该虚拟机的物理起始地址,len表示内存大小,log表示是否记录脏页面,writable表示该段内存对应的页表是否可写。该函数首先申请一个结构体kvm_userspace_memory_region 然后通过系统调用KVM_SET_USER_MEMORY_REGION来设置内核中对应的内存的属性。该系统调用函数原型:Ioctl(int kvm->vm_fd,KVM_SET_USER_MEMORY_REGION,&memory);

参数:第一个参数vm_fd为指向内核虚拟机实例对象的文件描述符,第二个参数KVM_SET_USER_MEMORY_REGION为系统调用命令参数,表示该系统调用为创建内核客户机映射,即影子页表。第三个参数memory表示指向该虚拟机的内存空间地址。系统调用首先通过参数memory通过函数copy_from_user从用户空间复制struct_user_momory_region 变量,然后通过kvm_vm_ioctl_set_memory_region函数设置内核中对应的内存域。该函数原型:Int kvm_vm_ioctl_set_memory_region(struct *kvm,struct kvm_usersapce_memory_region *mem,int user_alloc);该函数再调用函数kvm_set_memory_resgion()设置影子页表。当这一切都准备完毕后,调用kvm_run()函数即可调度执行虚拟处理器。

7,函数kvm_run():用于调度运行虚拟处理器。该函数原型为:

Int kvm_run(kvm_context_t kvm,int vcpu, void *env) 该函数首先得到vcpu的描述符,然后调用系统调用ioctl(fd,kvm_run,0)调度运行虚拟处理器。Kvm_run函数在正常运行情况下并不返回,除非发生以下事件之一:一是发生了I/O事件,I/O事件由用户态的QEMU处理;一个是发生了客户机和KVM都无法处理的异常事件。KVM_RUN()中返回截获的事件,主要是I/O 以及停机等事件。

4,KVM客户机异常处理机制和代码流程

KVM保证客户机正确执行的基本手段就是当客户机执行I/O指令或者其它特权指令时,引发处理器异常,从而陷入到根操作模式,由KVM Driver模拟执行,可以说,虚拟化保证客户机正确执行的基本手段就是异常处理机制。由于KVM采取了硬件辅助虚拟化技术,因此,和异常处理机制相关的一个重要的数据结构就是虚拟机控制结构VMCS。

VMCS控制结构分为三个部分,一个是版本信息,一个是中止标识符,最后一个是VMCS 数据域。VMCS数据域包含了六类信息:客户机状态域,宿主机状态域,VM-Entry控制域,VM-Execution控制域VM-Exit控制域以及VM-Exit信息域。其中VM-Execution控制域可以设置一些可选的标志位使得客户机可以引发一定的异常的指令。宿主机状态域,则保持了基本的寄存器信息,其中CS:RIP指向KVM中异常处理程序的地址。是客户机异常处理的总入口,而异常处理程序则根据VM-Exit信息域来判断客户机异常的根本原因,选择正确的处理逻辑来进行处理。

vmx.c文件是和Intel VT-x体系结构相关的代码文件,用于处理内核态相关的硬件逻辑代码。在VCPU初始化中(vmx_vcpu_create),将kvm中的对应的异常退出处理函数赋值给CS:EIP 中,在客户机运行过程中,产生客户机异常时,CPU根据VMCS中的客户机状态域装载CS:EIP 的值,从而退出到内核执行异常处理。在KVM内核中,异常处理函数的总入口为:static int vmx_handle_exit(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu);

参数:kvm_run,当前虚拟机实例的运行状态信息,vcpu,对应的虚拟cpu。

这个函数首先从客户机VM-Exit信息域中读取exit_reason字段信息,然后进行一些必要的处理后,调用对应于函数指针数组中对应退出原因字段的处理函数进行处理。函数指针数组定义信息为:

static int (*kvm_vmx_exit_handlers[])(struct kvm_vcpu *vcpu,

struct kvm_run *kvm_run) = {

[EXIT_REASON_EXCEPTION_NMI] = handle_exception,

[EXIT_REASON_EXTERNAL_INTERRUPT] = handle_external_interrupt,

[EXIT_REASON_TRIPLE_FAULT] = handle_triple_fault,

[EXIT_REASON_NMI_WINDOW] = handle_nmi_window,

[EXIT_REASON_IO_INSTRUCTION] = handle_io,

[EXIT_REASON_CR_ACCESS] = handle_cr,

[EXIT_REASON_DR_ACCESS] = handle_dr,

[EXIT_REASON_CPUID] = handle_cpuid,

[EXIT_REASON_MSR_READ] = handle_rdmsr,

[EXIT_REASON_MSR_WRITE] = handle_wrmsr,

[EXIT_REASON_PENDING_INTERRUPT] = handle_interrupt_window,

[EXIT_REASON_HLT] = handle_halt,

[EXIT_REASON_INVLPG] = handle_invlpg,

[EXIT_REASON_VMCALL] = handle_vmcall,

[EXIT_REASON_TPR_BELOW_THRESHOLD] = handle_tpr_below_threshold,

[EXIT_REASON_APIC_ACCESS] = handle_apic_access,

[EXIT_REASON_WBINVD] = handle_wbinvd,

[EXIT_REASON_TASK_SWITCH] = handle_task_switch,

[EXIT_REASON_EPT_VIOLATION] = handle_ept_violation,

};

这是一组指针数组,用于处理客户机引发异常时候,根据对应的退出字段选择处理函数进行处理。例如EXIT_REASON_EXCEPTION_NMI对应的handle_exception处理函数用于处理NMI 引脚异常,而EXIT_REASON_EPT_VIOLATION对应的handle_ept_violation处理函数用于处理缺页异常。

5,KVM 客户机影子页表机制和缺页处理机制及其代码流程

5.1 KVM影子页表基本原理和缺页处理流程

KVM给客户机呈现了一个从0开始的连续的物理地址空间,成为客户机物理地址空间,在宿主机中,只是由KVM分配给客户机的宿主机物理内存的一部分。客户机中为应用程序建立的客户机页表,只是实现由客户机虚拟地址到客户机物理地址的转换(GVA-GPA),为了正确的访问内存,需要进行二次转换,即客户机物理地址到宿主机物理地址的转换(GPA-HPA),两个地址转换,前者由客户机负责完成,后者由VMM负责完成。为了实现客户机物理地址到主机物理地址的地址翻译,VMM为每个虚拟机动态维护了一张从客户机物理地址到宿主机物理地址的映射关系表。客户机OS所维护的页表只是负责传统的客户机虚拟地址到客户机物理地址的转换。如果MMU直接装在客户机操作系统所维护的页表进行内存访问,硬件则无法争取的实现地址翻译。

影子页表是一个有效的解决办法。一份影子页表与一份客户机操作系统的页表相对应,作用是实现从客户虚拟机地址到宿主机物理地址的直接翻译。这样,客户机所能看到和操作的都是虚拟MMU,而真正载入到屋里MMU的是影子页表。如图5所示。

图5-影子页表

由于客户机维护的页表真正体现在影子页表上,因此,客户机对客户机页表的操作实质上反映到影子页表中,并且由VMM控制,因此,影子页表中,对于页表页的访问权限是只读的。一旦客户机对客户机页表进行修改,则产生页面异常,由VMM处理。

影子页表的结构:以x86的两级页表为例。客户机物理帧号GFN和宿主机物理帧号MFN 是一一对应的,而宿主机必须要另外负责创建一个页用于CR3寄存器指向的影子页表SMFN。通常通过hash表实现MFN和SMFN之间的计算。影子页表的建立和修改过程交错在客户机对客户机页表的创建过程中。

影子页表的缺页异常处理:当发生缺页异常时,产生异常条件并被VMM捕获,让VMM 发现客户机操作系统尚未给客户机虚拟机地址分配客户机物理页,那么VMM首先将缺页异常传递给客户机操作系统,由客户机操作系统为这个客户机虚拟地址分配客户机物理页,由于客户机操作系统分配客户机物理页需要修改其页表,因为又被VMM捕获,VMM更新影子页表中相应的目录和页表项,增加这个客户机虚拟地址到分配的宿主页的映射。如果产生异常时,VMM发现客户机操作系统已经分配给了相应的客户机物理页,只是写权限造成写异常,则VMM更新影子页表中的页目录和页表项,重定向客户机虚拟地址页到宿主机页的映射。客户机缺页异常处理逻辑流程如图6所示。

图6 –缺页异常处理流程

5.2 KVM中缺页异常的处理代码流程

由4中说明的异常处理逻辑中,vmx_handle_exit函数用于处理客户机异常的总入口程序,KVM根据退出域中的退出原因字段,调用函数指针数据中对应的处理函数进行处理,在缺页异常中,处理函数为handle_ept_violation。该函数调用kvm_mmu_page_fault函数进行缺页异常处理。

6,KVM中主要数据结构以及相互关系6.1 用户态关键数据机构

KVM用户态重要数据结构

KVM-CONTEXT-T为虚拟机上下文

KVM-run为虚拟机运行状态

Kvm-callbacks为虚拟机产生I/O事件处理的回调函数Kvm-irq-routing 为中断处理相关数据结构

6.2 内核态关键数据机构

KVM 结构体定义

VCPU 结构体定义

kvm_vcpu_arch结构

Kvm-vcpu-arch 包含数据结构

常见四种虚拟化技术优劣势对比

常见四种虚拟化技术优劣势对比-兼谈XEN与vmware的区别 蹦不路磅按: 好多人估计对XEN和vmware到底有啥区别有所疑问. 可能如下的文章会有所提示 据说本文作者系SWsoft中国首席工程师.没找到名字, 故保留title ---------------- Update: 13-11-2008 关于xen Hypervisor个人理解的一点补充. xen hypervisor 类似一个linux的kernel .位于/boot/下名字xen-3.2-gz. 系统启动的时候它先启动。然后它在载入dom0. 所有对其他domainU的监控管理操作都要通过domain0. 因为hypervisor 只是一个类kernel. 没有各种application. 需要借助domain0的application 比如xend xenstore xm 等。 个人猜想,hypervisor 能集成一些简单的管理程序也是可能的。vmware好像也正在作植入硬件的hypervisor 将来的发展可能是是hypervisor 会和bios一样在每个服务器上集成了。然后每台服务器买来后就自动支持 可以启动数个操作系统了。彻底打破一台裸机只能装一个操作系统的传统。 ----------------- 虚拟化技术(Virtualization)和分区(Partition)技术是紧密结合在一起,从60年代Unix诞生起,虚拟化技术和分区技术就开始了发展,并且经历了从“硬件分区”->“虚拟机”->“准虚拟机”->“虚拟操作系统”的发展历程。最早的分区技术诞生自人们想提升大型主机利用率需求。比如在金融、科学等领域,大型Unix服务器通常价值数千万乃至上亿元,但是实际使用中多个部门却不能很好的共享其计算能力,常导致需要计算的部门无法获得计算能力,而不需要大量计算能力的部门占有了过多的资源。这个时候分区技术出现了,它可以将一台大型服务器分割成若干分区,分别提供给生产部门、测试部门、研发部门以及其他部门。 几种常见的虚拟化技术代表产品如下: 类型代表产品 硬件分区IBM/HP等大型机硬件分区技术 虚拟机(Virtual Machine Monitor)EMC VMware Mircosoft Virtual PC/Server Parallels 准虚拟机(Para-Virtualization)Xen Project 虚拟操作系统(OS Virtualization)SWsoft Virtuozzo/OpenVZ Project Sun Solaris Container HP vSE FreeBSD Jail Linux Vserver 硬件分区技术 硬件分区技术如下图所示:硬件资源被划分成数个分区,每个分区享有独立的CPU、内存,并安装独立的操作系统。在一台服务器上,存在有多个系统实例,同时启动了多个操作系统。这种分区方法的主要缺点是缺乏很好的灵活性,不能对资源做出有效调配。随着技术的进步,现在对于资源划分的颗粒已经远远提升,例如在IBM AIX系统上,对CPU资源的划分颗粒可以达到0.1个CPU。这种分区方式,在目前的金融领域,比如在银行信息中心

硬件虚拟化技术浅析

硬件虚拟化技术浅析 ==================================== 目录 1 硬件虚拟化技术背景 2 KVM的内部实现概述 2.1 KVM的抽象对象 2.2 KVM的vcpu 2.3 KVM的IO虚拟化 2.3.1 IO的虚拟化 2.3.2 VirtIO 3 KVM-IO可能优化地方 3.1 Virt-IO的硬盘优化 3.2 普通设备的直接分配(Direct Assign) 3.3 普通设备的复用 =================================== 1 硬件虚拟化技术背景 硬件虚拟化技术通过虚拟化指令集、MMU(Memory Map Unit)以及IO来运行不加修改的操作系统。 传统的处理器通过选择不同的运行(Ring 特权)模式,来选择指令集的范围,内存的寻址方式,中断发生方式等操作。在原有的Ring特权等级的基础上,处理器的硬件虚拟化技术带来了一个新的运行模式:Guest模式[1],来实现指令集的虚拟化。当切换到Guest模式时,处理器提供了先前完整的特权等级,让Guest 操作系统可以不加修改的运行在物理的处理器上。Guest与Host模式的处理器上下文完全由硬件进行保存与切换。此时,虚拟机监视器(Virtual Machine Monitor)通过一个位于内存的数据结构(Intel称为VMCS, AMD称为VMCB)来控制Guest系统同Host系统的交互,以完成整个平台的虚拟化。 传统的操作系统通过硬件MMU完成虚拟地址到物理地址的映射。在虚拟化环境中,Guest的虚拟地址需要更多一层的转换,才能放到地址总线上: Guest虚拟地址 -> Guest物理地址 -> Host物理地址 ^ ^ | | MMU1 MMU2 其中MMU1可以由软件模拟(Shadow paging中的vTLB)或者硬件实现(Intel EPT、AMD NPT)。MMU2由硬件提供。

美特斯邦威的虚拟经营案例分析

美特斯邦威的虚拟经营案例分析 一、案例分析: 我们知道“虚拟经营”一词来源于“虚拟企业”,那么为什么说美特斯·邦威是一个名符其实的虚拟企业呢? 1、美特斯·邦威的经营模式 首先,美特斯·邦威进行生产虚拟化。美特斯·邦威作为一家具有平均年销售量1000多万件(套)的服装生产公司,并没有一间属于自己的生产服装的厂房、设备以及生产工人,而是通过与广东、江苏等地的20多家服装生产企业建立了长期合作关系,为公司进行定牌生产。如果这些企业都由美特斯·邦威投资的话,则需2亿—3亿元。 其次,美特斯·邦威进行销售虚拟化。在销售方面,该公司采用的是特许经营模式,即美特斯·邦威通过契约的方式,将特许权转让给加盟店,加盟店根据区域不同分别向美特斯·邦威交纳5万—35万元的特许费,目前,美特斯·邦威已拥有600多家专卖店,除了20%是直营店外,其余都是特许连锁专卖店。如果这么多家专卖店都由美特斯·邦威自己来投资的话,则需要1.5亿至2亿元。通过对销售网络的虚拟化,公司大大降低了销售成本和市场开拓成本,聚集了一大笔无息发展资金,使其有更充裕的资金投入到产品设计和品牌经营中去,更为重要的是,公司借此网罗了大批的营销人才。 通过以上分析我们可以看出,美特斯·邦威的经营模式是生产虚拟化和销售虚拟化,因为美特斯·邦威既没有专属自己的服装生产车间,也没有专属自己的销售渠道的公司,如果从传统企业的角度来讲,那么就是企业的两大核心功能美特斯·邦威个都不具有,这就是虚拟企业与传统的实体企业的不同之处,实体企业不论规模大小,但五脏俱全,但是每个企业都有自己的核心竞争力所在,有自己的优势所在,虚拟企业正是抓住了这点,将企业的重点着放在企业的核心技术上,将企业不擅长或者不具备的技术交给其他擅长的企业去做。这就是虚拟企业的主要经营模式。在服装行业里,附加值最高的部分主要集中在品牌、设计环节上,美特斯·邦威将生产和销售两大任务外包出去,可以将企业的核心竞争力集中在品牌和设计上。 2、美特斯·邦威的核心价值 从案例中,我们可以看出美特斯·邦威将企业的核心竞争力定位在品牌经营与产品设计环节上,始终坚持设计是服装的灵魂。 美特斯·邦威于1998年在上海成立了设计中心,并与法国、意大利的知名设计师开展长期合作,把握流行趋势,形成了“设计师+消费者”的独特设计理念。公司要求领导和设计人员每年都有1个—3个月时间搞市场调查,每年两次召集各地代理商征求对产品开发的意见。在充分掌握市场信息的基础上每年开发出新款式约1000个,其中50%正式投产上市。公司还利用广东中山等5家分公司的跟踪能力,不断调整产品结构组合,强化了品牌的整体形象,在抓住了设计

各种虚拟化技术归纳_技术工作归纳.doc

各种虚拟化技术总结_技术工作总结 《各种虚拟化技术总结》是一篇好的范文,好的范文应该跟大家分享,篇一:主流的四大化对比分析 主流四大虚拟化架构对比分析 云计算平台需要有资源池为其提供能力输出,这种能力包括计算能力、存储能力和网络能力,为了将这些能力调度到其所需要的地方,云计算平台还需要对能力进行调度管理,这些能力均是由虚拟化资源池提供的。 云计算离不开底层的虚拟化支持。维基百科列举的虚拟化技术有超过60种,基于X86(CISC)体系的超过50种,也有基于RISC体系的,其中有4 种虚拟化技术是当前最为成熟而且应用最为广泛的,分别是:VMWARE的ESX、微软的Hyer-V、开源的XEN和KVM。云计算平台选用何种虚拟化技术将是云计算建设所要面临的问题,文章就4种主流虚拟化技术的架构层面进行了对比分析。 形成资源池计算能力的物理设备,可能有两种,一种是基于RISC的大小型机,另一种是基于CISC的X86服务器。大小型机通常意味着高性能、高可靠性和高价格,而X86服务器与之相比有些差距,但随着Ier和AMD等处理器厂商技术的不断发展,原本只在小型机上才有的技术已经出现在了X86处理器上,如64位技术、虚拟化技术、多核心技术等等,使得X86服务器在性能上突飞猛进。通过TPC组织在2011年3月份所公布的单机计算机性能排名中可以看出,4路32核的X86服务器性能已经位列前10名,更重要的是X86服务器的性价比相对小型机有约5倍的优势。因此,选择X86服务器作为云计算资源池,

更能凸显出云计算的低成本优势。 由于单机计算机的处理能力越来越大,以单机资源为调度单位的颗粒度就太大了,因此需要有一种技术让资源的调度颗粒更细小,使资源得到更有效和充分 的利用,这就引入了虚拟化技术。当前虚拟化技术中主流和成熟的有4种:VMWARE的ESX、微软的Hyer-V、开源的XEN和KVM,下面将针对这4种虚拟化技术的架构进行分析 1 虚拟化架构分析 从虚拟化的实现方式来看,虚拟化架构主要有两种形式:宿主架构和裸金属架构。在宿主架构中的虚拟机作为主机的一个进程来调度和管理,裸金属架构下则不存在主机操作系统,它是以Hyervisor直接运行在物理之上,即使是有类似主机操作系统的父分区或Domi 0,也是作为裸金属架构下的虚拟机存在的。宿主架构通常用于个人PC上的虚拟化,如WidosVirul PC,VMre Worksio,Virul Box,Qemu等,而裸金属架构通常用于服务器的虚拟化,如文中提及的4种虚拟化技术。 (一) ESX的虚拟化架构 ESX是VMre的企业级虚拟化产品,2001年开始发布ESX 10,到2011年2月发布ESX 41 Ude 1。 ESX服务器启动时,首先启动Liux Kerel,通过这个操作系统加载虚拟化组件,最重要的是ESX的Hyervisor组件,称之为VMkerel,VMkerel会从LiuxKerel完全接管对硬件的控制权,而该Liux Kerel作为VMkerel的首个虚拟机,用于承载ESX的servieCosole,实现本地的一些管理功能。VMkerel负责为所承载的虚拟机调度所有的硬件资源,但不同类型的硬件会有些区别。 虚拟机对于CPU和内存资源是通过VMkerel直接访问,最

桌面虚拟化业务案例

桌面虚拟化业务案例信息指南

简介 终端用户的计算环境已从主要基于运行 Windows 应用的个人计算机向以下特点演变:? 用户工作期间在各种端点设备之间切换:台式机、笔记本电脑、平板电脑和手机? 用户希望通过移动电子设备随时随地与专业和个人网保持联络? 用户希望可以从任何设备访问其数据 ? 用户希望可以从任何设备使用其应用。这些应用不但包括传统的 Windows 应用,同时也包括 Web 应用、SaaS 应用和基于服务器的 应用。 在这种以用户和设备为中心的移动环境下,IT 部门必须在为所有用户管理各类应用和设备的同时,保护数据安全、控制用户对数据的访问。每个用户只使用一个操作系统和一台设备的模式已经成为过去。VMware 提供的终端用户计算解决方案不但能够从容应对员工移动化的挑战,而且不会影响 IT 的控制力或现有管理流程的运营效率。VMware 产品同时考虑了 IT 部门和终端用户的需求。 为何选择 VMware View ? 您是否正在 考虑使用 虚拟桌面? 视频:构建后 PC 时代的平台。VMware 桌面产品营销副总裁 Vittorio Viarengo 简要介绍了 VMware 对终端用户云 计算之旅的愿景。

图 1:VMware 终端用户云计算之旅 在这幅题为“VMware 终端用户云计算之旅”的示意图中,终端用户可以通过所选的设备安全、统一地访问云中的桌面、应用和数据。一个统一服务代理将用户与云相连,通过策略来控制访问、保护数据。 在 2011 年度 VMworld 大会上,VMware 宣布了这一后 PC 时代的愿景。该愿景表明,有必要在提供传统 Windows 和企业客户端/ 服务器应用的同时,提供新型应用技术。 为何选择 VMware View ? 您是否正在 考虑使用 虚拟桌面? Horizon Mobile Zimbra Strides Socialcast SlideRocket Horizon Application Manager View ThinApp Project AppBlast Project Octopus

无盘工作站与虚拟化桌面技术对比

无盘工作站与虚拟化桌面 技术对比 Last revision on 21 December 2020

无盘工作站与虚拟化桌面技术对比本文仅从管理复杂性,成本以及安全性等企业级关键特性来对无盘工作站与虚拟桌面对比。 相似点: 1、前端设备均不提供数据存储; 2、均为简化系统管理员管理工作量而设计的架构; 差异: 1、无盘工作站要求前端PC或瘦客户机有强大的运算能力,而虚拟桌面方式对前端瘦客户机设备的性能几乎没有要求。 虚拟化桌面与无盘工作站的优劣: 管理 1、无盘工作站要求前端硬件型号及配置一致,扩展性较差。而瘦客户机访问虚拟桌面时采用的是统一架构与协议,与瘦客户机及后端服务器品牌及型号均无要求。 2、无盘工作站具有PC的大部分缺点,例如:终端管理比较复杂、成本较高、易损坏等。而瘦客户机是一种实时客户端。其优点包括:硬件成本低廉,可以瞬间开机,而且相对无盘工作站方式来说更加安全。 安全性

1、无盘工作站与传统PC的唯一不同就是将本地的硬盘移除,但用户数据仍会驻留在工作站的内存中,非常容易被窃取。而虚拟桌面的运算均驻留在数据中心的服务器上,保证了数据及应用的安全性。 2、使用无盘工作站方式,用户仍然可以通过传统的打印,移动介质等途径窃取数据。而虚拟桌面前端的瘦客户机本身不驻留任何的数据,非提供高级别的安全功能开关选项。 3、无盘服务器不具有企业级的高可用及灾备等关键功能,一旦服务器停机或网络中断将造成前端用户的工作会话及数据丢失。而虚拟桌面后端的服务器可以实现如高可用性,在线迁移,实时容灾等企业级关键特性。即使前端瘦客户机损坏或网络中断,用户的所有操作及数据均驻留在数据中心服务器上。 可靠性 1、采用无盘工作站方式对客户端及服务器的资源要求均很高,当无盘工作站数量达到一定数量时,速度会变得缓慢,同时整体系统的稳定性不高,由此带来的维护成本也较高。 2、无盘工作站使用广播协议与无盘服务器进行连接,对网络要求非常高。同时对网络中其他应用系统有较大干扰。 无盘和虚拟桌面方案比较图表如下:

各种虚拟化技术总结

各种虚拟化技术总结 《各种虚拟化技术总结》是一篇好的范文,好的范文应该跟大家分享,这 里给大家转摘到。篇一:主流的四大虚拟化架构对比分析 主流四大虚拟化架构对比分析 云计算平台需要有资源池为其提供能力输出,这种能力包括计算能力、存 储能力和网络能力,为了将这些能力调度到其所需要的地方,云计算平台还需要对能力进行调度管理,这些能力均是由虚拟化资源池提供的。 云计算离不开底层的虚拟化技术支持。维基百科列举的虚拟化技术有超过 60种,基于X86(CISC)体系的超过50种,也有基于RISC体系的,其中有 4 种虚拟化技术是当前最为成熟而且应用最为广泛的,分别是:VMWARE的ESX、微软的Hyper-V、开源的XEN和KVM。云计算平台选用何种虚拟化技术将是云计算建设所要面临的问题,文章就4种主流虚拟化技术的架构层面进行了对比分析。 形成资源池计算能力的物理设备,可能有两种,一种是基于RISC的大小型机,另一种是基于CISC的 X86服务器。大小型机通常意味着高性能、高可靠性 和高价格,而X86服务器与之相比有些差距,但随着Inter和AMD等处理器厂商技术的不断发展,原本只在小型机上才有的技术已经出现在了X86处理器上,如64位技术、虚拟化技术、多核心技术等等,使得X86服务器在性能上突飞猛进。通过TPC组织在20XX年3月份所公布的单机计算机性能排名中可以看出,4路32核的X86服务器性能已经位列前10名思想汇报专题,更重要的是X86服务器的性价比相对小型机有约5倍的优势。因此,选择X86服务器作为云计算资源池,更能凸显出云计算的低成本优势。 由于单机计算机的处理能力越来越大,以单机资源为调度单位的颗粒度就 太大了,因此需要有一种技术让资源的调度颗粒更细小,使资源得到更有效和充分

电子商务案例分析课后习题__第一章

第一章 1.分析每种电商模式的内涵,对每种电商模式,找出2~3个案例,说明理由。 电子商务商业模式的内涵:是电子商务项目运行的秩序,是指电子商务项目所提供的产品,服务,信息流,收入来源,以及各利益主体在电子商务项目运作过程中的关系和作用的组织方式与体系结构。主要包括:战略目标,目标用户,产品或服务,核心能力,赢利模式。案例:a 阿里巴巴的战略目标就是中小企业制造提供一个销售和采购的贸易平台,让全球的大中型企业通过互联网寻求潜在的贸易客户。 b. Dell公司通过网络直销的形式,为客户提供个性化的计算机产品。 2.电子商务技术模式的内涵:是商业模式的实现基础。是支撑电子商务系统正常运行和发生意外时保护系统,恢复条件的企业,再以电子商务为主的信息化建设过程中,会采取不同的信息化技术建设模式。主要包括技术建设模式,通信系统,计算机硬件系统,计算机软件系统。案例 a. 大型商场会安装pos机,直接通过支付刷卡的方式,进行消费,为客户节省了时间,方便消费者购买商品。 b. 现在企业制胜的法宝:公司商品扫描系统,支付刷卡系统,企业资源计划ERP,客户关系系统CRM, 供应链管理SCM等专用的系统应用情况。 c. 外包开发,如企业厂家委托技术实力雄厚的软件公司,科研机构,高等学校外部技术单位进行信息化建设和电子商务方案设计。

3. 电子商务经营模式的内涵:是公司面向客户,以市场的观点对整个商务活动进行规划,设计,实施的整体结构。经验模式主要是考虑如何展开具体的商务活动,实现商业模式的各个环节设想,促进预期经济目标的达成。案例: a. 1992年星巴克作为第一家专业咖啡公司成功上市,目前已在北美、拉丁美洲、欧洲、亚洲和太平洋地区等39个国家拥有超过16000家咖啡店。 20世纪90年代,星巴克率先向兼职员工提供本公司股票买卖权,成为公开上市的企业。 b. 3C+模式是苏宁通过科学的研究、实践基础上应运而生的全新家电模式,是围绕消费者的需求展开的经营理念创新。“+”就是“家”,3C+就是3C之家,是一个完全以“以顾客为中心”的3C经营模式. 4. 电子商务管理模式的内涵:是电子商务运营过程中,从组织上提供的为保证系统的正常运行和发生意外时能保护系统,恢复系统的法律,标准,规章,制度,机构,人员和信息系统等结构体系,它对系统的运行进行跟踪监测,反馈控制,预测和决策。案例: a.西门子中国能源管理模式。通过提供效率,在中国,西门子致力于为可持续发展出一份力,以能源生成和传输为重点,并推动工业和楼宇的可持续发展。 *能源效率与智能电网 *能源供应高效发电和输电 *高效火力发电 b. 典型的现代企业管理模式与方法有:企业资源计划(ERP)、制造资源计划(MRPII)、准时生产(JIT)、精良生产(Lean Production)、按类个别生产(OKP)、优化生产技术(OPT)、供应链管理(SCM)、企业过程重组(BPR)、敏捷虚拟企业(AVE)等等。先进企业管理模式是实现集成化管理与决策信息系统的理论基础。五种企业管

六顶思考帽案例分析

办公室个人电脑速度缓慢的解决 蓝帽:目前办公用PC存在年限长、速度慢,本次会议讨论解决方案,先用白帽介绍情况。 白帽: 1、随着软件的增多,占用着的资源多,如Mcafee等,当前就要上的AD域,部分设备将不能满足(要求>=1G),08年——09年都在1G以下。 2、设备的更新要大于3年,且实际的情况只能更新三分之一。 蓝帽:大家出出主意,怎么办? 绿帽: 1、根据设备折旧,是否可以调整设备折旧的期限; 2、是否可以采用笔记本代替PC机; 3、采取策略,每半年重装软件; 4、加装另一个硬盘,将OS装到这个新设备上; 5、采用虚拟化; 6、对人群进行分类、对发放策略进行调整; 7、采用新软件节省内存。 黑帽:现在笔记本更换预算不能达到。 蓝帽:这是黑帽,请先用黄帽进行讨论这些方案的可行性。 黄帽: 1、已进入新时代,笔记本是应该普及的设备,且更换设备端的配置将很好的满足需求; 2、配置升级、保护投资; 3、软硬件方面的调整,改善是最常用的方法,已在其他单位应用,效果不错。蓝帽:现在讨论以上方法的局限性。 黑帽:

1、更换设备资金不足、不能满足需求;财务制度变革时间长; 2、目前使用统一软件,不是正版,统一采购的,在PC机上不能使用; 3、软件重装耗费时间太长,人员达到数百。 蓝帽:那么从目前看,解决方案主要集中在配置升级和调整配置策略,大家举手表决一下优先顺序。 红帽:表决顺序如下: 1)把少量更新换代机会给更需要计算速度的员工; 2)大部分员工利用硬件升级(加内存、硬盘),延长使用寿命节约成本; 3)定期重装OS和应用软件(如:一年左右); 4)梯次更新。 蓝帽:本次会议经充分讨论,缓解员工疑问,找出了确定可行具有高可操作性的方法,顺利结束。谢谢大家的时间。 【点评】 这是成功利用六顶思考帽的方法进行工作问题探讨和改进的优秀经典案例。在这个案例讨论中主持人(蓝帽)发挥了积极的作用:首先在序列的选择上非常得当,使得会议简捷有效;其次,在会议中及时纠正不当的发言(如:打断黑帽思考),保证了思维的步伐;最后,结论很有使用价值。同时,参与讨论的人员在几个重点问题上讨论非常充分,体现了六帽思维法的优越性:白帽的数据很详细,绿帽的发散很丰富,黄帽和黑帽讨论充分。值得借鉴。

三大网络厂商网络虚拟化技术【Cisco VSS、H3C IRF2、huawei CSS】解析

三大网络厂商网络虚拟化技术【Cisco VSS、H3C IRF2、huawei CSS】解析 Cisco H3C huawei 随着云计算的高速发展,虚拟化应用成为了近几年在企业级环境下广泛实施的技术,而除了服务器/存储虚拟化之外,在2012年SDN(软件定义网络)和OpenFlow大潮的进一步推动下,网络虚拟化又再度成为热点。不过谈到网络虚拟化,其实早在2009年,各大网络设备厂商就已相继推出了自家的虚拟化解决方案,并已服务于网络应用的各个层面和各个方面。而今天,我们就和大家一起来回顾一下这些主流的网络虚拟化技术。 思科虚拟交换系统VSS 思科虚拟交换系统VSS就是一种典型的网络虚拟化技术,它可以实现将多台思科交换机虚拟成单台交换机,使设备可用的端口数量、转发能力、性能规格都倍增。例如,它可将两台物理的Cisco catalyst 6500系列交换机整合成为一台单一逻辑上的虚拟交换机,从而可将系统带宽容量扩展到1.4Tbps。

思科虚拟交换系统VSS 而想要启用VSS技术,还需要通过一条特殊的链路来绑定两个机架成为一个虚拟的交换系统,这个特殊的链路称之为虚拟交换机链路(Virtual Switch Link,即VSL)。VSL承载特殊的控制信息并使用一个头部封装每个数据帧穿过这条链路。 虚拟交换机链路VSL 在VSS之中,其中一个机箱指定为活跃交换机,另一台被指定为备份交换机。而所有的控制层面的功能,包括管理(SNMP,Telnet,SSH等),二层协议(BPDU,PDUs,LACP等),三层协议(路由协议等),以及软件数据等,都是由活跃交换机的引擎进行管理。 此外,VSS技术还使用机箱间NSF/SSO作为两台机箱间的主要高可用性机制,当一个虚拟交换机成员发生故障时,网络中无需进行协议重收敛,接入层或核心层交换机将继续转发流量,因为它们只会检测出EtherChannel捆绑中有一个链路故障。而在传统模式中,一台交换机发生故障就会导致STP/HSRP和路由协议等多个控制协议进行收敛,相比之下,VSS 将多台设备虚拟化成一台设备,协议需要计算量则大为减少。

各大主流虚拟桌面分析

(思杰)创建于年,是应用交付基础架构解决方案提供商.其核心产品之一虚拟桌面基础架构,侧重在传统地虚拟化架构,涉及到应用及桌面层面地虚拟化需求,为企业开创端对端企业应用传递基础架构.资料个人收集整理,勿做商业用途 是首次将虚拟化桌面推向了主流市场,它可以服务于数以千计地员工.与适用于少数用户地第一代虚拟桌面()解决方案不同,采用了全新地交付技术.这种方式可提高投资回报率,简化管理工作,使企业中地每位员工都能享受到虚拟化地优势.资料个人收集整理,勿做商业用途 是虚拟桌面化地理想选择,它可以随时随地支持各种设备,能通过任何、苹果机、瘦客户端和智能电话访问桌面和企业应用.利用思杰技术,通过任何网络、在任何设备上交付高清用户体验,提供比传统更高地可靠性和可用性.采用交付技术,部门能够在任何设备上向所有用户交付各种类型地虚拟桌面().部门能够控制数据访问,减少管理地桌面镜像,消除系统冲突并减少应用回归测试.添加、更新和删除应用地操作很简单.资料个人收集整理,勿做商业用途 提供地是开放地架构,可与现有系统管理程序、存储和基础架构一同使用.无论使用、、还是,均可提供支持.资料个人收集整理,勿做商业用途 、 红帽()企业虚拟化桌面版,整个桌面环境成为托管在中央数据中心服务器上地虚拟桌面.用户使用低成本地瘦客户端或专用地连接这些虚拟桌面化.它可为用户提供卓越地体验,以及跨平台地和虚拟桌面支持.资料个人收集整理,勿做商业用途 目前,红帽地企业级虚拟化桌面还处在测试版本阶段,在红帽官网上显示"即将面世".笔者从红帽官网指定地产品代理商了解到:预计今年底会发布.其中版本和价格,以及如何购买.需要等到发布时一并揭晓,让我们拭目以待.资料个人收集整理,勿做商业用途 、微软 作为操作系统地主力厂商微软,不仅是全球最大地软件提供商,在虚拟化领域上同样另人瞩目.在桌面虚拟化方面,微软提供了一个从数据中心到桌面完整地套件.提供了终端服务,实现了对整个桌面操作系统系列或特定地应用程序演示地虚拟化.资料个人收集整理,勿做商业用途 () 是提供地众多桌面优化解决方案之一,可以帮助组织优化基础架构.它融合了微软和合作伙伴地技术,支持集中化管理桌面、应用程序和数据.使用这个具有成本效益地解决方案,企业人员能够集中管理基于物理、虚拟和会话地桌面,可以集中用户数据,加快应用程序交付速度.最终用户可以从丰富地远程体验、高度地安全、对信息地灵活访问和提高地商业连续性中受益.资料个人收集整理,勿做商业用途 、 在过去地几年中,凭借服务器虚拟化成为虚拟化市场老大,尤其是对桌面虚拟化地重视力度加强.自从年月,推出了以来,成为业界惟一专门用于实现桌面虚拟化地解决方案提供商.为桌面虚拟化环境确立了一个新地质量、成本和可伸缩性标准.资料个人收集整理,勿做商业用途 通过立即虚拟化现有地应用程序,着手迁移到,可消除用户对操作系统地依赖.然后,只需通过复制应用程序文件而非安装它们,就可将虚拟化应用程序部署到.资料个人收集整理,勿做商业用途 目前,在桌面虚拟化领域地主要技术仍然基于,年同样将桌面虚拟化放到很重要地战略地位.凭借着地产品广受信赖,未来,在桌面虚拟化上定能继续引领市场.资料个人收集整理,勿做商业用途

主流虚拟化技术基础知识与发展趋势

一、背景知识 云计算平台需要有资源池为其提供能力输出,这种能力包括计算能力、存储能力和网络能力,为了将这些能力调度到其所需要的地方,云计算平台还需要对能力进行调度管理,这些能力均是由虚拟化资源池提供的。 云计算离不开底层的虚拟化技术支持。维基百科列举的虚拟化技术有超过60种,基于X86(CISC)体系的超过50种,也有基于RISC体系的,其中有4 种虚拟化技术是当前最为成熟而且应用最为广泛的,分别是:VMWARE的ESX、微软的Hyper-V、开源的XEN和KVM。云计算平台选用何种虚拟化技术将是云计算建设所要面临的问题,文章就4种主流虚拟化技术的架构层面进行了对比分析。 形成资源池计算能力的物理设备,大概有两种,一种是基于RISC的大/小型机,另一种是基于CISC的X86服务器。大/小型机通常意味着高性能、高可靠性和高价格,而X86服务器与之相比有些差距,但随着Inter和AMD等处理器厂商技术的不断发展,原本只在小型机上才有的技术已经出现在了X86处理器上,如64位技术、虚拟化技术、多核心技术等等,使得X86服务器在性能上突飞猛进。通过TPC组织在2011年3月份所公布的单机计算机性能排名中可以看出,4路32核的X86服务器性能已经位列前10名,更重要的是X86服务器的性价比相对小型机有约5倍的优势。因此,选择X86服务器作为云计算资源池,更能凸显出云计算的低成本优势。 由于单机计算机的处理能力越来越大,以单机资源为调度单位的颗粒度就太大了,因此需要有一种技术让资源的调度颗粒更细小,使资源得到更有效和充分的利用,这就引入了虚拟化技术。当前虚拟化技术中主流和成熟的有4种:VMWARE的ESX、微软的Hyper-V、开源的XEN和KVM。 二、虚拟化架构分析 从虚拟化的实现方式来看,虚拟化架构主要有两种形式:宿主架构和裸金属架构。在宿主架构中的虚拟机作为主机操作系统的一个进程来调度和管理,裸金属架构下则不存在主机操作系统,它是以Hypervisor直接运行在物理硬件之上,即使是有类似主机操作系统的父分区或Domain 0,也是作为裸金属架构下

虚拟企业案例分析

虚拟企业案例分析 恒源祥创建于20年代的上海滩,创始人沈莱舟是一位颇有名望的亦工亦商的民族资本家。当时,恒源祥是上海滩著名的毛线品牌。五十年代,公私合营后,恒源祥的工厂划归纺织局,只剩下南京东路上的一家毛线店。厂店分开后,毛线由国家统一分配,商店也只能勉强维持职工生计。到了八十年代,这家只有180平方米的毛线商店只是因为其老字号还维持着经营。当时,毛线行业正处在萧条滑坡之际,生意清淡,业务不景气。这时的恒源祥已经穷得只剩下作为老字号的“品牌”了。1987年,29岁的刘瑞旗出任"恒源祥"的总经理,成为南京路上最年轻的总经理。他上任后首先做的事,就是注册商标,把“恒源祥”这三个字由店名注册成商标名。并开始了以广告为核心的一系列品牌重塑活动。刘瑞旗非常重视广告对品牌的催化作用,从80年代末开始,刘瑞旗不惜从银行贷款在中央电视台做广告。他独具一格,创意5秒广告:"恒源祥,羊羊羊",这则广告片很快传遍大江南北,家喻户晓,广告界把它做为成功的典范纳入教科书。1990年,刘瑞旗在企业内部巨大的压力下,没有回头,继续增加广告宣传的费用。到现在,恒源祥的广告额上升了数百倍,但销售额的增长远远超过了广告额的增长。“恒源祥”名声响了,市场销量骤增,为了抓住机遇,形成规模生产,刘瑞旗决定用恒源祥这个品牌去整合毛线加工厂。在恒源祥的品牌形象不断提升的同时,恒源祥的联营工厂也在不断扩大。恒源祥的毛线产量从1991年的75吨增长到1997年的1万吨,成为全国、乃至全世界最大的手编毛线的生产基地。 恒源祥以品牌的无形资产“待价而沽”寻求盟友。恒源祥的经营策略是:不花一分钱买地、盖厂房、买设备,只寻找现成企业与其合作。恒源祥让所有加盟的企业接受恒源祥的模式、理念、科技手段和系统的管理措施。恒源祥没有投入一分钱,但恒源祥要求每一个合作企业把总资产的20%作为股份送给恒源祥,同时,恒源祥分得加盟商50%的利润。第一轮加盟恒源祥的有5家毛线工厂,他们的一切产品和管理全部是“恒源祥”品牌的。第二轮从1997年开始,由恒源祥审批加盟的有25家,并陆续进入实际运作。恒源祥在所有的加盟企业中投入了无形资产,那就是组建管理模式、创立品牌、搞科技项目等,表面上看这些工作都没有经济效益,但拥有了它就可以调度和控制有形资产。现在很多企业认为,资产重组,不是进入资本市场,就是投入房地产、股票。恒源祥认为,其实更重要的是企业文化、产品文化、品牌形象这些无形的东西。无形资产能够带动有形

桌面虚拟化技术发展分析

桌面虚拟化技术发展分析-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

桌面虚拟化技术(VDI)发展分析

目录 1.1 桌面虚拟化现状与发展 (3) 1.1.1 虚拟桌面简介 (3) 1.1.2 虚拟化技术 (4) 1.1.3 虚拟桌面/应用的优势 (19) 1.1.4 常用三维虚拟桌面平台分析 (20) 1.1.5 虚拟桌面需求分析 (23) 1.1.6 桌面虚拟化安全需求分析 (26)

1.1桌面虚拟化现状与发展 1.1.1虚拟桌面简介 桌面虚拟化“Desktop Virtualization (或者成为虚拟桌面架构“Virtual Desktop Infrastructure”) 是一种基于服务器的计算模型,VDI概念最早由桌面虚拟化厂商VMware提出,目前已经成为标准的技术术语。虽然借用了传统的瘦客户端的模型,但是让管理员与用户能够同时获得两种方式的优点:将所有桌面虚拟机在数据中心进行托管并统一管理;同时用户能够获得完整PC的使用体验。 在后端,虚拟化桌面通常通过以下两种方式之一来实现: 运行若干Windows虚拟机的Hypervisor,每个用户以一对一的方式连接到他们的VM (虚拟机)。 安装Windows系统的服务器,每个用户以一对一的方式连接到服务器。(这种方法有时被称作bladed PC(刀片PC)) 无论何种方式,都是让终端用户使用他们想使用的任何设备。他们可以从任何地方连接到他们的桌面,IT人员可以更易于管理桌面,数据更安全,因为它位于数据中心之内。 VDI方式最有趣的是,虽然这些技术是新兴的,但把桌面作为一种服务来提供的概念在十多年前就已经被提出了。与传统的基于服务器计算的解决方案最主要的区别是,基于服务器计算的解决方案在于为Windows的共享实例提供个性化的桌面,而VDI的解决方案是为每个用户提供他们自己的Windows桌面机器。 能提供虚拟桌面的厂商有国外的VMware,Citrix和微软Hyper-v,的自己研制的Cloudview,集成了虚拟桌面和云计算的功能,包括对外提供云桌面、云应用和云服务等。 将桌面操作系统虚拟化带来很多好处,包括: ●数据更安全,通过策略配置,用户无法将机密数据保存在本地设备上,只能在数据 中心进行存储,备份,保证数据的安全性和可用性; ●提高网络安全,由于只使用需要开放有限几个端口,所以可以实现网络的逻辑隔离 和严格控制,在不影响应用的前提下,全面提升网络安全性; ●用户可以随时随地,通过网络,访问到被授权的桌面与应用; ●终端设备支持更广泛,可以通过PC,瘦客户端、甚至是手机来访问传统PC上才

服务器虚拟化案例

服务器虚拟化解决方案 解决方案概述 企业应用的重心集中在服务器和存储设备中,应用的扩充需要越来越多的服务器和存储设备,导致企业在管理硬件基础设施的压力和成本正在不断增大;另一方面,因为应用的多样性,服务器和存储难于有效的整合,服务器运行状态都远低于其实际的处理能力,存储的容量难于充分利用。 对于如何构建可靠、稳定的 IT 基础架构,以保证可以有效执行灾难恢复和业务连续性计划,避免因为各种事故可能引发的系统宕机,以及如何保证数据安全等问题,都可以在虚拟化技术中找到答案。同时减少服务器数量,降低管理维护成本对国家战略和企业来说变得越来越重要。服务器市场的虚拟化是一个必然的过程。 软件虚拟化基础架构(FVI)是以服务器虚拟化的方式,优化和管理业界标准IT环境的软件套件。服务器虚拟化通过软件的方式,在一台企业服务器上,模拟运行多个标准硬件配置的物理服务器,并依此基础技术,将传统数据中心改变为可扩展的、动态的、绿色的数据中心。 适用行业及需求 适用于政府、金融、教育、能源、制造业等拥有中大型IT 数据中心的企业新建数据中心、扩建或迁移数据中心、数据中心集中整合等业务需求。 客户收益 业务连续性保障提升。通过服务器虚拟化解决方案,可以借虚拟机实现硬件、存储、操作系统和数据库的完全统一,并通过HA和vMirror实现系统状态的实时同步,从而真正实现不间断实时备份,保证业务连续性。另外,由于系统的运行和备份都在虚拟机上实现,服务器虚拟化解决方案可以有效降低业务连续性保障成本,以前只能对关键应用进行备份,而现在可以对所有应用进行完整备份,进一步保证业务的连续性。 硬件成本降低。通过服务器虚拟化解决方案,可以实现服务器资源整合,控制和减少物理服务器的数量,明显提高每个物理服务器及其CPU的资源利用率,从而降低硬件成本。

网络虚拟化技术VSS_ IRF_ CSS_ VSU比较

网络虚拟化技术:VSS、IRF2和CSS解析 思科虚拟交换系统VSS 随着云计算的高速发展,虚拟化应用成为了近几年在企业级环境下广泛实施的技术,而除了服务器/存储虚拟化之外,在2012年SDN(软件定义网络)和OpenFlow大潮的进一步推动下,网络虚拟化又再度成为热点。不过谈到网络虚拟化,其实早在2009年,各大网络设备厂商就已相继推出了自家的虚拟化解决方案,并已服务于网络应用的各个层面和各个方面。而今天,我们就和大家一起来回顾一下这些主流的网络虚拟化技术。 思科虚拟交换系统VSS

思科虚拟交换系统VSS就是一种典型的网络虚拟化技术,它可以实现将多台思科交换机虚拟成单台交换机,使设备可用的端口数量、转发能力、性能规格都倍增。例如,它可将两台物理的Cisco catalyst 6500系列交换机整合成为一台单一逻辑上的虚拟交换机,从而可将系统带宽容量扩展到1.4Tbps。 思科虚拟交换系统VSS 而想要启用VSS技术,还需要通过一条特殊的链路来绑定两个机架成为一个虚拟的交换系统,这个特殊的链路称之为虚拟交换机链路(Virtual Switch Link,即VSL)。VSL承载特殊的控制信息并使用一个头部封装每个数据帧穿过这条链路。

虚拟交换机链路VSL 在VSS之中,其中一个机箱指定为活跃交换机,另一台被指定为备份交换机。 而所有的控制层面的功能,包括管理(SNMP,Telnet,SSH等),二层协议(BPDU,PDUs,LACP等),三层协议(路由协议等),以及软件数据等,都是由 活跃交换机的引擎进行管理。 此外,VSS技术还使用机箱间NSF/SSO作为两台机箱间的主要高可用性机制,当一个虚拟交换机成员发生故障时,网络中无需进行协议重收敛,接入层或核 心层交换机将继续转发流量,因为它们只会检测出EtherChannel捆绑中有一个链路故障。而在传统模式中,一台交换机发生故障就会导致STP/HSRP和路由 协议等多个控制协议进行收敛,相比之下,VSS将多台设备虚拟化成一台设备,协议需要计算量则大为减少。

服务器虚拟化技术方案

服务器虚拟化技术方案

1项目概述 1.1竹溪县民政局现状 竹溪县民政局机房现有设备运行年限较长,各业务系统相对独立,造成管理难度大,基于这种现状我司推荐竹溪县民政局信息化启动平台化建设。 竹溪县民政局信息化平台是提高健康水平、提高政府服务质量和效率的有力推手,是规范医疗政府服务,方便群众办事,缓解群众看病难问题的主要手段,不仅对推动竹溪县政务整改工作有重要意义,也是当前竹溪县民政局信息化平台工作迫切的需求。 1.2竹溪县民政局信息化平台建设的基本原则 1)顶层设计,统筹协调原则:竹溪县民政局信息化平台建设要按照国家有 关信息化建设的总体部署和要求,结合竹溪县民政局实际,做好顶层设 计,进行信息资源统筹规划,统一建设规范、标准和管理制度,构建竹 溪县民政局信息化平台为建设目标和任务。运用不同机制和措施,因地 制宜、分类指导、分步推进,促进竹溪县民政局信息化平台工作协调发 展。 2)标准化原则:竹溪县民政局信息化平台建设要在统一标准、统一规范指 导原则下开展,相关技术、标准、协议和接口也须遵循国际、国家、部 颁有关标准,没有上述标准要分析研究,制定出适合竹溪县民政局信息 化平台的标准、规范。 3)开放和兼容性原则:竹溪县民政局信息化平台建设不是一个独立系统, 而是搭建一下通用平台,基于平台承载各类应用系统运行,因此,系统 设计应充分考虑其开放性,同时因发展需要,应具有较好的伸缩性,满 足发展需要。 4)先进性原则:采取业界先进系统架构理念和技术,为系统的升级与拓展 打下扎实基础,如在技术上采用业界先进、成熟的软件和开发技术,面

向对象的设计方法,可视化的面向对象的开发工具,支持 Internet/Ineternet网络环境下的分布式应用;客户/应用服务器/数据服务器体系结构与浏览器/服务器(B/S)体系相结合的先进的网络计算 模式。 5)安全与可靠的原则:作为竹溪县民政局信息化平台,关乎到民生及医疗 数据安全,其数据库硬件平台必须具备最高的安全性及可靠性,可接近 连续可用。平台一旦出现故障可能会导致群体性事件,因此竹溪县民政 局信息化平台需要建立在一个科学稳定的硬件平台上,并达到系统要求 的安全性和可靠性。二是网络安全。在系统架构和网络结构设计上首先考虑安全性,必须加强领导、落实责任,综合适用技术、经济、制度、 法律等手段强化网络的安全管理。三是信息安全。主要是数据安全即保 证数据的原始性和完整性,运行数据不可被他人修改或访问,记录者的 记录不容抵赖,访问和修改可追踪性等。在系统设计时既考虑系统级的 安全,又考虑应用级的安全。应用系统采用多级认证(系统级认证、模 块认证、数据库认证和表级认证)等措施,采用用户密码的加密技术以 防止用户口令被破解。同时需制定不断完善的信息系统应急处理预案和 合理的数据库备份策略,在灾难时也能快速从灾难中恢复。四是信息化 平台应具有较强数据I/O处理能力,同时系统在设计时必须考虑在大规 模并发,长期运行条件下的系统可靠性,满足竹溪县民政局信息化7×24小时的服务要求,保证各机构单位数据交换和资源共享的需要。 6)协调合作原则:要求各有关方将以往的行为方式从独立行事向合作共事 转变,从独立决策向共同决策方式转变。各方在合作基础上,应在人力 资源和设备实体方面全力建立更加稳定的信息技术设施。 1.3平台需求 1.3.1硬件需求 竹溪县民政局信息化平台是支撑整个系统安全、稳定运行的硬件设备和网络设施建设,是系统平台的基础设施。主要包括支撑整个系统安全、稳定运行所

桌面虚拟化技术

桌面虚拟化技术 编者按:虚拟化技术往往让人联想到《黑客帝国》。机械与人类的决战之后,神秘的电脑母体The Matrix在被它囚禁的人类意识层上虚拟出一个类似真实世界来麻痹生活其中的人类。虚拟化技术也如Matrix一样想方设法地把程序代码安抚在虚拟环境中,让它们忘掉物理和虚拟的区别,安分勤恳努力工作。本专题从虚拟化的基本定义、前生今世、模式等方面为广大网友揭开虚拟化的谜团。 桌面虚拟化基本定义 计算机虚拟化技术当前主要包括服务器虚拟化、应用虚拟化、桌面虚拟化。目前网络虚拟化,显卡虚拟化等技术都在快速发展,在不久的将来,当前物理的设备将都支持虚拟化技术,实现IAAS(infrastructure as service),实现真正意义的云计算。而桌面虚拟化技术是当前发展最快的,也是最具应用前景的技术。 桌面虚拟化是指将计算机的桌面进行虚拟化,以达到桌面使用的安全性和灵活性。 桌面虚拟化技术,维基百科上给出的定义是:“Desktop virtualization (或者成为Virtual Desktop Infrastructure) 是一种基于服务器的计算模型,并且借用了传统的瘦客户端的模型,但是让管理员与用户能够同时获得两种方式的优点:将所有桌面虚拟机在数据中心进行托管并统一管理;同时用户能够获得完整PC的使用体验。 用户可以通过瘦客户端,或者类似的设备在局域网或者远程访问获得与传统PC一致的用户体验。 很多商业方案同时提供了将用户远程转向到传统的共享系统,例如微软终端服务,思杰应用服务器,刀片PC甚至是没有使用的物理PC机。” 简单的来说,桌面虚拟化是指:支持企业级实现桌面系统的远程动态访问与数据中心统一托管的技术。一个形象的类比,就是今天,我们可以通过任何设备、在任何地点,任何时间访问在网络上的我们的邮件系统,或者网盘;而未来我们可以通过任何设备,在任何地点,任何时间访问在网络上的属于我们个人的桌面系统。 桌面虚拟化的前世今生 要了解桌面虚拟化的技术,我们就要了解桌面虚拟化的发展过程。我们可以比较简单地将桌面虚拟化技术分为一下3个阶段: 1、第0.5代的桌面虚拟化技术: 在我们还不知道什么叫桌面虚拟化的时代,这种技术的前身从不同的领域产生,发展直至成熟,使得现在的桌面虚拟化技术成为现实。这主要包括了2种技术: a. 远程桌面 远程桌面技术,几乎所有从事IT技术的人都使用过。内置在Windows XP中的远程桌面使用了RDP(Remote Desktop Protocol)协议,使得用户可以从其他的电脑上远程登录、访问与使用目标桌面。RDP协议最早微软用于Windows Server上的Terminal Service(终端服务)的访问协议,实现了Windows Server上的多用户模式,使得用户能够在本地并不安装

相关主题
文本预览
相关文档 最新文档