“服务器服务于Internet”报告会 倪光南 1999年7月6日
计算模式的演变(计算机发展的三个时期) 以主机为中心(大型机、小型机时期) 以PC为中心(PC/服务器时期) 60年代-70年代 以PC为中心(PC/服务器时期) 80年代-90年代中 以网络为中心(Internet时期) 90年代中开始
以主机为中心:许多人共用一台主机 数据和计算能力集中在主机 以主机为中心:许多人共用一台主机 数据和计算能力集中在主机
以PC为中心:一个人用一台PC 数据和计算能力集中在PC或LAN上的服务器
以Internet为中心:一个人用许多信息家电取得服务 数据和计算能力分布在网上
Internet潮流——各公司的对策 90年代中期开始: IBM提出“Network Centric Computing”并将服务作为业务主方向 Sun推出面向网络的Java技术 Oracle提出NC(网络计算机) Netscape推出浏览器 Yahoo、Amazon等大批.COM公司涌现
Internet潮流——微软的对策 有Wintel既得利益,对Internet反应迟缓 依靠OS的垄断在浏览器竞争中后来居上 最近提出了“.Net”策略(NGWS) 基于XML的交互式应用软件存储在Internet上(“in the cloud”) 用户通过PC和各种信息家电取得服务 作为下一代Internet的应用平台,包括开发工具(Visual Studio.Net)、新的用户界面(.Net User Experience)模块服务(building-block services),如身份验证等等
Internet潮流——微软的对策(续) 仍突出PC作用,与IBM、Sun、Oracle等公司提出的瘦客户机或NC的概念不同 含有宣传成分,表明公司的各部分都需集成在一起而不应被拆散 在开发效率、开放性、经济性等等方面还都不明确 是否成功需要时间来回答
电子服务(e-Services) Internet的发展产生了电子服务的概念 例如:e-Business、e-Commerce、e-... 可通过PC或信息家电从Internet取得服务 在这些设备上不必安装复杂的软件 应用软件将主要在服务器上 软件将不以产品形式而以服务形式出现 硬件和软件的复杂性从PC移到服务器上
Internet时代服务器的地位 为了提供各种服务,要求服务器: 有强大的处理功能 存储海量信息 拥有各种应用程序 高可靠性 保障信息安全 支持各种信息设备 ...
选择服务器的因素 按应用需求: 所提供服务的类型、规模 可伸缩性 可靠性、可用性 易管理、好用性 经济性 安全性 兼容性、历史继承性 品牌、服务支持 …
选择服务器的因素(续) 按OS:Unix、NT(W2000)、Linux、... 按CPU结构:Intel、非Intel 按品牌:Sun、IBM、HP、Compaq、… 按体系结构:单CPU、SMP、NUMA、Cluster、MPP、… 按功能:超级服务器、大型服务器、PC服务器、...
服务器OS市场变化
主要的服务器OS比较
Unix服务器 CPU基本上是非Intel结构 历史悠久有传统市场,特别是高档市场 性能高于运行NT的Intel服务器 可靠性最好 少数供应商,品牌好、技术支持好 有大型应用系统支持 价格高
NT服务器 CPU基本上是Intel结构 目前市场份额最大,特别是在中低档市场 可靠性不够(Windows 2000的可靠性还有待于时间检验) 支持服务取决于厂商(供应商多) 有大量应用系统支持 价格中等 安全性有争议
Linux服务器 CPU多样化,Intel最普遍 不需付版权费、价格最低 市场份额上升最快 可靠性好 已得到全球大公司的支持 已有很多应用软件,特别是在Internet相关应用中已居领先地位
Linux服务器(续) 源码开放可以自主发展,并有利于改进安全性(Gartner Group认为,到2002年上半年Linux将比传统的商用Unix更安全) 发展快: 一些大公司将商用Unix软件源码开放给Linux,如IBM已将日志系统开放 HP、RedHat、SGI、Sun等等协同将Linux移植到Intel未来64位CPU上(Itanium),将有可能领先于64位的Windows 2000
Linux服务器(续二) SMP 支持不够,Linux 2.2最多支持4个CPU,但 今后Linux 2.4将可支持16个以至更多的CPU 能处理的存储器容量不大于2GB(Windows NT:4GB,Irix:128GB) 还缺乏高可用性、日志系统等等支持 还不能证明能适应大企业的需要 需继续推进软件开发和服务支持
推广Linux的理由
Linux有利于发展自主硬件平台 Intel 结构CPU依靠Windows垄断了PC硬件平台 开放源码不但有利于软件发展而且有利于自主硬件平台的发展
提供服务的两种方式 采用单个高档的通用服务器 采用许多低档服务器的联合 两者可以结合 用一个服务器提供数据库、电子商务、文件和打印服务器等等所有服务 采用许多低档服务器的联合 用多个专用服务器(Server appliance) 每个服务器是单功能、“即插即用”式的服务器,提供单项服务 两者可以结合
通用服务器 需要采用高性能硬件来满足提供多项服务的要求 可采用专门软件保证多个服务互不影响 例:VMware的软件,允许在一个服务器上运行多个操作系统(Windows和Linux),某个用户对于其他用户的网站作出误动作或攻击,不会使整个服务器崩溃
专用服务器 一个服务器只提供单项服务 易于设置和管理,可针对特定的应用进行优化 简单、可靠、便宜 通过增加服务器个数就可以进行扩展 适合用Linux 问题:如管理工具不好反而有可能增加管理的工作量 实例: TaskSmart:Internet caching服务器(Novell caching +简化的Netware 5内核) Raw Iron数据库专用服务器(Oracle 8i+简化的Solaris内核)
高性能服务器几种常用技术 SMP(Symmetric Multiple Processing):共享存储全对称多处理器技术 NUMA(Non Uniform Memory Access):非一致访问分布共享存储技术 Cluster:机群技术 各种技术可相互融合
SMP 共享存储全对称多处理器技术 采用总线结构的紧耦合多处理器系统 各处理器完全对称,拥有各自的Cache 操作系统支持细粒度、锁定等等 Linux 的SMP支持 CPU种类:x86、Sparc、PowerPC、Alpha Linux 2.4将可支持16个或更多的CPU 对处理器繁忙任务效果大,对I/O繁忙任务效果小
SMP结构,各CPU共享所有资源 CPU CPU MEM MEM 系统总线 总线桥 I/O总线 盘 盘
MPP结构与SMP相反,各CPU不共享任何资源
Intel 440GX+ 服务器主板(2个Xeon的SMP系统)
NUMA 非一致访问分布共享存储技术 由若干通过高速专用网络连接起来的独立节点构成的系统 各个节点可以是单个CPU或是SMP系统 Cache一致性可有多种解决方案 需要操作系统和特殊软件的支持 实例:Sequent的NUMA服务器可扩展到64个 Intel CPU,今后将扩展到256个
由三个SMP模块(每个有4个CPU)构成的NUMA系统节点(Sequent)
Cluster 机群技术 由若干完整的计算机互联组成一个统一的计算机系统 计算机和高速互联硬件可以采用现成硬件或特殊硬件 需要特殊软件支持 例如CMS(Cluster Management Software)、CCS(Cluster Computing Environments)等等 可实现单一系统映像,即操作控制、IP登录点、文件结构、存储空间、I/O空间、作业管理系统等等的单一化 可经济地构成超级服务器、高可用性服务器等等
用机群技术构成的虚拟服务器(机群各节点用LAN/WAN联接)
服务器软件的新发展 应用服务器(Application Server) 介于浏览器(在客户机上)与后端的数据库、应用系统之间的软件,决定了一个商业系统的行为 实现传统客户/服务器模式中所包含的应用逻辑和联接关系,但把这些功能从复杂的客户机上移到了中间层的应用服务器上 有利于采用瘦客户机或NC(网络计算机)
瘦客户机或NC的优点 成本比PC低得多、操作简便 硬件和软件都不需经常更新,降低费用,简化维护 不易感受病毒或遭受黑客攻击 没有机械运转部件,可靠性高 应用集中在服务器上,安全性好、易于管理 不必采用Wintel结构,有利于发展自主的硬件和软件技术