【PHP开源代码栏目提醒】:网学会员PHP开源代码为您提供开源中国社区开源黄页网 - 培训资料参考,解决您在开源中国社区开源黄页网 - 培训资料学习中工作中的难题,参考学习。
开源中国社区
开源黄页网
开源中国电子季刊2010年第1期
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 1 页 ——2010年
开源高校行 在经济危机仍在全球各经济体、各行各业持续蔓延的今天,
开源软件行业并未受到明显冲击,且成加速增长之势。
这场危机使得
开源软件受到前所未有的关注和重 视,不论是发展中国家还是发达国家,
开源软件已经成为现今形势下反制经济危机的重要解决方案之一,从而具备了广泛的应用发展前景。
在多数行业业务萎缩、机构精简、人力资源冗余过剩的时候,全世界与
开源软件相关的从业者的规模却依然保持高速增长态势,
开源软件为当代青年人提供的就业、 创业的机遇就像刚刚破土发芽小草,无视经济寒冬的余威,茁壮成长,带给我们无限的希望和遐想。
近来,大学生毕业既而失业成为全社会关注的焦点,国家已相继颁布诸多促进就业、鼓励创业的积极政策。
藉此,中国
开源软件推进联盟协同联盟各成员单位、企事业单位向广大的在校生提出“抓住
开源机遇,自力更生、自强不息”的倡议。
2010年
开源高校行活动除 延续以往“传播
开源理念,推广
开源技术应用”之外,为大学生增设了
开源相关的工作的咨询和指导环节,此举同时为联盟成员单位校园招聘提供了平台。
参与这次“
开源校园行”活动的高校包括:北京交通大学,中科院研究生院,北京邮电大学和北京大学等。
这类活动在高校的不断开展,丰富了学生们的学术知识,开阔了眼界,传播了
开源知识与
开源理念,引导学生们积极参与社区活动,锻炼自身能力,取得了非常好的效果。
开源中国社区
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 2 页 活动主题: ??
开源-在探索中进取 ??
开源带来的机遇 ?? 从社区走向成功 ?? 数字媒体与
开源技术 —— IPTV、数字电视、数字标牌 ?? 集群技术中的DRBD应用 ?? 火狐、互联网与未来 ?? 模拟面试环节
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 3 页 开
开源源云云计计算算软软件件 云计算是近年来IT行业发展的重要趋势,国内外的大型企业也都在该领域进行产业布局,众多中小企业也参与其中不断完善和发展云计算技术与应用的内涵。
同时云计算的发展也得到各国政府的大力支持。
在这样的产业与政策背景下,我们基于对
开源软件产业发展的研究,结合近年来IT行业(特别是基于网络应用的软件产业的兴起)的一些发展、变化,对
开源软件在云计算系统与应用中的作用和发展进行跟踪,并向大家推荐一些在国内外都备受瞩目的,可应用于云计算部署中的
开源软件。
开源虚拟化软件: Xen 是一个开放源
代码虚拟机监视器,由剑桥大学开发。
它打算在单个计算机上运行多达100个满特征的操作系统。
操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。
这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。
Xen通过一种叫做半虚拟化的技术获得高效能的表现较少的效能损失 典型的情况下大约损失 2 在最糟的情况下会有 8 的效能耗损 与其它使用完全的虚拟化却造成最高到 20 损耗的其他解决方案形成一个明显的对比,甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有极佳的表现。
与那些传统透过软体模拟实现硬体的虚拟机不同,在3.0版本及在Intel VT-X支援前的Xen需要让客座作业系统(guest operating systems)与Xen API进行连接。
到目前为止,这样连结已经可以运用在NetBSD GNU/Linux FreeBSD和贝尔实验室的Plan 9系统上。
在Brainshare 2005会议上,Novell展示了NetWare与 Xen的连通。
与Windows XP连通的技术曾在Xen开发初期进行,但微软的协议未能允许它发布。
Sun微系统公司也正积极研究Solaris与Xen的连结,使其能在Xen平台上运作。
KVM Kernel-based Virtual Machine 全称为基于内核的虚拟机。
KVM 针对运行在 x86 硬件硬件上的、驻留在内核中的虚拟化基础结构。
KVM 是第一个成为原生 Linux 内核(2.6.20)的一部分的 hypervisor,它是由 Avi Kivity 开发和维护的,现在归 Red Hat 所有。
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 4 页 这个 hypervisor 提供 x86 虚拟化,同时拥有到 PowerPC?? 和 IA64 的通道。
另外,KVM 最近还添加了对对称多处理(SMP)主机(和来宾)的支持,并且支持企业级特性,比如活动迁移(允许来宾操作系统在物理服务器之间迁移)。
KVM 是作为内核模块实现的,因此 Linux 只要加载该模块就会成为一个hypervisor。
KVM 为支持 hypervisor 指令的硬件平台提供完整的虚拟化(比如 Intel?? Virtualization Technology Intel VT 或 AMD Virtualization AMD-V 产品)。
KVM 还支持准虚拟化来宾操作系统,包括 Linux 和 Windows??。
这 种技术由两个组件实现。
第一个是可加载的 KVM 模块,当在 Linux 内核安装该模块之后,它就可以管理虚拟化硬件,并通过 /proc 文件系统公开其功能(见图 4)。
第二个组件用于 PC 平台模拟,它是由修改版 QEMU 提供的。
QEMU 作为用户空间进程执行,并且在来宾操作系统请求方面与内核协调。
图 KVM hypervisor 的高级别视图 当新的操作系统在 KVM 上启动时(通过一个称为 kvm 的实用程序),它就成为宿主操作系统的一个进程,因此就可以像其他进程一样调度它。
但与传统的 Linux 进程不一样,来宾操作系统被 hypervisor 标识为处于 “来宾” 模式(独立于内核和用户模式)。
每个来宾操作系统都是通过 /dev/kvm 设备映射的,它们拥有自己的虚拟地址空间,该空间映射到主机内核的物理地址空间。
如前所述,KVM 使用底层硬件的虚拟化支持来提供完整的(原生)虚拟化。
I/O 请求通过主机内核映射到在主机上(hypervisor)执行的 QEMU 进程。
KVM 在 Linux 环境中以主机的方式运行,不过只要底层硬件虚拟化支持,它就能够支持大量的来宾操作系统。
VirtualBox是近年来一个非常著名的
开源虚拟化软件。
之前由SUN公司负责主导开发,目前是甲骨文公司 xVM虚拟化平台技术的一部份。
它提供用户在32位或64位的Windows、Solaris及Linux 操作系统上虚拟其它x86的操作系统。
用户可以在VirtualBox上安装并且运行Solaris、Windows、DOS、Linux、OS/2 Warp、OpenBSD及FreeBSD等系统作为客户端操作系统。
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 5 页 与同性质的VMware及Virtual PC比较下,VirtualBox独到之处包括远程桌面协议(RDP)、iSCSI及USB的支持,VirtualBox在客户机操作系统上已可以支持USB 2.0的硬件设备。
功能特色 ?? 支持64位客户端操作系统,即使主机使用32位CPU ?? 支持SATA硬盘NCQ技术 ?? 虚拟硬盘截图 ?? 无缝视窗模式 须安装客户端驱动) ?? 能够在主机端与客户端共享剪贴板 须安装客户端驱动) ?? 在主机端与客户端间建立共享文件夹 须安装客户端驱动) ?? 内置远程桌面服务器 ?? 支持VMware VMDK软盘档及Virtual PC VHD软盘档格式 ?? 3D虚拟化技术支持OpenGL(2.1版后支持)、Direct3D(3.0版后支持) ?? 最多虚拟32颗CPU(3.0版后支持) ?? 支持VT-x与AMD-V硬件虚拟化技术 ?? iSCSI支持 ?? USB与USB2.0支持 Lguest hypervisor 由澳大利亚 IBM 的 Rusty Russell 开发,它采用完全不同的方式实现虚拟化。
Lguest 并没有为运行任意操作系统提供完整的虚拟化支持,而是为支持 x86 的 Linux 来宾操作系统(也称为Linux-on-Linux 虚拟化) 提供轻量级准虚拟化。
这意味着来宾操作系统知道自己正在被虚拟化,并且这同时还会改进性能。
但是,Lguest 不需要 QEMU 提供平台虚拟化(像在 KVM 中一样)来改进性能。
使用 Lguest 这种方法还减少了总
代码需求,仅需在来宾操作系统和宿主操作系统中使用一个瘦层。
现在,我们探索这些变化,并查看 Lguest 环境的高级别架构。
如图所示,来宾操作系统包含一个 Lguest
代码瘦层(根据定义,就是准虚拟化)。
这段
代码提供许多服务。
在最高的级别,有一些
代码可以决定正在启动的内核是否被虚拟化。
此外,还有一个通过虚拟化调用将特权操作发送给宿主操作系统的抽象层(通过 paravirt_ops 实现)。
例如,来宾操作系统不能禁用中断,以使这些请求在宿主操作系统中执行。
您还可找到一个为来宾操作系统实现设备抽象的总线,以及一组实现控制台、虚拟块驱动器和虚拟网络驱动器(允许与其他来宾通信)的简单驱动器。
图. 实现 x86 准虚拟化的 Lguest 的架构
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 6 页 内核部分被实现为可加载的模块,即lg.ko。
这个模块包含来宾操作系统通向宿主内核的接口。
第一个组件是切换器,它实现一种方法,让来宾操作系统在执行时根据上下文进行切换。
这个模块还实现 /proc 文件系统
代码(针对 /dev/lguest),该
代码实现到内核和驱动器(包括虚拟化调用)的用户空间接口。
还有一些
代码通过使用影子页表(shadow page-table)和管理 x86 区段来提供内存映射。
最后,内核中的 Documentation 子目录包含启动实用程序(lguest),用于启动新的来宾操作系统实例。
这个文件负责两项任务,即使用和记录。
Lguest 从 2.6.23(2007 年 10 月)开始就成为主流内核,并且由 Rusty Russell 开发和维护。
它大约包含 5000 行源
代码,包括用户空间实用程序。
尽管 Lguest 很简单(据说是这样的),但它能提供真正的准虚拟化。
不过简单性往往与局限性相随。
例如,Lguest 仅虚拟化其他支持 Lguest 的来宾操作系统,并且目前仅能用于 x86 架构。
尽管存在这些限制,Lguest 仍然提供一种有趣的虚拟化方式,并且对任何希望研究 Rusty 的
代码的人员公开。
OpenVZ是基于Linux内核和作业系统的操作系统级虚拟化技术。
OpenVZ允许物理伺服器运行多个操作系统,被称虚拟专用伺服器(VPS,Virtual Private Server)或虚拟环境(VE Virtual Environment)。
Best of open source enterprise software(荣获InfoWorld 2009年最佳
开源平台和中间件奖) InfoWorlds 2009 Bossie Awards 与VMware这种虚拟机和Xen这种半虚拟化技术相比,OpenVZ的host OS和guest OS都必需是Linux(虽然在不同的虚拟环境里可以用不同的Linux发行版)。
但是,OpenVZ声称这样做有性能上的优势。
根据OpenVZ网站的 说法,使用OpenVZ与使用独立的伺服器相比,性能只会有1-3的损失。
OpenVZ是SWsoft Inc.公司开发的专有软件Virtuozzo的基础。
OpenVZ的授权为GPLv2。
OpenVZ由两部分组成,一个经修改过的作业系统核心与及用户工具。
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 7 页 QEMU是一套由Fabrice Bellard所编写的
开源跨平台模拟器。
它与 Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。
经由kqemu这个非自由的加速器,QEMU能模拟至接近真实电脑的速度。
QEMU有两种主要运作模式: 1. User mode模拟模式,亦即是使用者模式。
QEMU能启动那些为不同中央处理器编译的Linux程序。
而Wine及Dosemu是其主要目标。
2. System mode模拟模式,亦即是系统模式。
QEMU能模拟整个电脑系统,包括中央处理器及其他周边设备。
它使得为系统源
代码进行测试及除错工作变得容易。
其亦能用来在一部主机上虚拟数部不同虚拟电脑。
QEMU的主体部份是在LGPL下发布的,而其系统模式模拟则是在GPL下发布;而kqemu这个加速器则是在免费但闭源的条件下发布的。
使用kqemu可使QEMU能模拟至接近主机速度,但其在虚拟的操作系统是Windows 98或以下的情况下是无用的。
开源云计算数据存储平台: Apache Cassandra是一套
开源分布式数据库管理系统。
它最初由Facebook开发,用于储存特别大的数据。
分布式 基于column的结构化 高伸展性 Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。
Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。
对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了。
Cassandra的主要功能比 Dynamo(分布式的Key-Value存 储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的
开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。
支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。
) Cassandra最初由Facebook开发,后转变成了
开源项目。
它是一个网络社交云计算方面理想的数据库。
以Amazon专有的完全分布式
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 8 页 的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。
P2P去中心化的存储。
很多方面都可以称之为Dynamo 2.0。
和其他数据库比较,Cassandra有三个突出特点: 模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。
你可以在系统运行时随意的添加或移除字段。
这是一个惊人的效率提升,特别是在大型部署上。
真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。
为给集群添加更多容量,可以指向另一台电脑。
你不必重启任何进程,改变应用查询,或手动迁移任何数据。
多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。
一些使Cassandra提高竞争力的其他功能: 范围查询 :如果你不喜欢全部的键值查询,则可以设置键的范围来查询。
列表数据结构 :在混合模式可以将超级列添加到5维。
对于每个用户的索引,这是非常方便的。
分布式写操作 :有可以在任何地方任何时间集中读或写任何数据。
并且不会有任何单点失败。
MongoDB是一个基于分布式文件存储的数据库
开源项目。
由C语言编写。
旨在为WEB应用提供可护展的高性能数据存储解决方案。
它的特点是高性能、易部署、易使用,存储数据非常方便。
主要功能特性有: 面向集合存储,易存储对象类型的数据。
模式自由。
支持动态查询。
支持完全索引,包含内部对象。
支持查询。
支持复制和故障恢复。
使用高效的二进制数据存储,包括大型对象(如视频等)。
自动处理碎片,以支持云计算层次的扩展性 支持RUBY,PYTHON,JAVA,C,
PHP等多种语言。
文件存储格式为BSON(一种JSON的扩展) 可通过网络访问 所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 9 页 个集合(Collenction。
每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。
集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema。
模式自由(schema-free,意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。
如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。
存储在集合中的文档,被存储为键-值对的形式。
键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。
我们称这种存储形式为BSON(Binary Serialized dOcument Format)。
MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。
推荐运行在64位平台,因为MongoDB 在32位模式运行时支持的最大文件尺寸为2GB。
MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。
Hadoop是Apache软件基金会所研发的开放源码并行运算编程工具和分布式文件系统,与MapReduce和Google档案系统的概念类似。
Hadoop 分布式文件系统 Distributed File System - HDFS Hadoop Distributed File System Job Tracker and Task Tracker:映射/化简引擎 Map/Reduce Engine HBase - 类似Bigtable的分布式数据库 简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。
HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。
而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。
HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
下面列举hadoop主要的一些特点: 1 扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
2 成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。
这些服务器群总计可达数千个节点。
3 高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
4 可靠性(Reliable):hadoop能自动地维护数
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 10 页 据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。
Google Google的数据中心使用廉价的Linux PC机组成集群,在上面运行各种应用。
即使是分布式开发的新手也可以迅速使用Google的基础设施。
核心组件是3个: 1、GFS(Google File System)。
一个分布式文件系统,隐藏下层负载均衡,冗余复制等细节,对上层程序提供一个统一的文件系统API接口。
Google根据自己的需求对它 进行了特别优化,包括:超大文件的访问,读操作比例远超过写操作,PC机极易发生故障造成节点失效等。
GFS把文件分成64MB的块,分布在集群的机器 上,使用Linux的文件系统存放。
同时每块文件至少有3份以上的冗余。
中心是一个Master节点,根据文件索引,找寻文件块。
详见Google的工程 师发布的GFS
论文。
2、MapReduce。
Google发现大多数分布式运算可以抽象为MapReduce操 作。
Map是把输入Input分解成中间的Key/Value对,Reduce把Key/Value合成最终输出Output。
这两个函数由程序员提供给 系统,下层设施把Map和Reduce操作分布在集群上运行,并把结果存储在GFS上。
3、BigTable。
一个大型的分布式数据库,这个数据库不是关系式的数据库。
像它的名字一样,就是一个巨大的表格,用来存储结构化的数据。
以上三个设施Google均有
论文发表。
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn 第 11 页 云计算管理工具 oVirt 是基于 KVM 项目的
开源软件,该虚拟机软件支持主流的 x86 硬件,并允许用户在其上运行 Linux 及 MS Windows 操作系统。
oVirt 提供基于 Web 的虚拟机管理控制平台,无论是一台主机上的几个虚拟机,还是管理数百台主机上的成千个虚拟机,它皆能胜任。
该虚拟机软件适用于 i386 和 x86_64 架构的安装文件。
值得注意的是,运行 oVirt 除了要求硬件具有虚拟化支持外,还应事先安装好 kvm、libvirt、virt-manager、virt-viewer 等软件。
Eucalyptus 项目全称是Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems,由Santa Barbara大学建立的
开源项目,是主要实现云计算环境的弹性需求的软件,通过其在集群或者服务器组上的部署,并且使用常见的Linux工具和基本的基 于web的服务。
Eucalyptus 是唯一一个与公共云支持相同应用程序接口 APIs 的私有云架构。
全面与Amazon AWS 公共云架构兼容,Eucalyptus 的设计给用户以非常大的灵活性无缝的将Eucalyptus私有云上的应用迁移到公共云平台上。
Eucalyputs软件已成为 Ubuntu 商业云计算 UEC的后台引擎。
Zeppelin这是一款
开源的云计算管理和监控客户端。
它提供了详细的云端评价、性能测量和审计功能,并提供了数据中心构架和其应用程序。
AbiCloud是一个
开源云计算平台,提供丰富界面用于管理架构,你能通过拖拽一个虚拟机来部署一个新的服务。
当前版本允许通过VirtualBox 部署实例,它还支持VMware,KVM和Xen。
开源中国社区oss.org.cn所属
开源黄页网主编,EMAIL: chenycsip.org.cn .
上一篇:
开源云计算平台研究
下一篇:
四季相伴,文字生香