为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

服务器学习笔记

2017-12-08 50页 doc 592KB 41阅读

用户头像

is_589748

暂无简介

举报
服务器学习笔记服务器学习笔记 目录 服务器学习笔记(一):服务器知识简单了解 .............................................................. 2 服务器学习笔记(二):服务器技术概览...................................................................... 4 服务器学习笔记(三):硬件技术之服务器处理器技术................................................ 7 服...
服务器学习笔记
服务器学习笔记 目录 服务器学习笔记(一):服务器知识简单了解 .............................................................. 2 服务器学习笔记(二):服务器技术概览...................................................................... 4 服务器学习笔记(三):硬件技术之服务器处理器技术................................................ 7 服务器学习笔记(四):硬件技术之内存技术 .............................................................. 9 服务器学习笔记(五):硬件技术之I/O总线技术...................................................... 13 服务器学习笔记(六):服务器集群技术.................................................................... 17 服务器学习笔记(七):服务器容错机制.................................................................... 22 服务器学习笔记(八):磁盘RAID技术 ..................................................................... 24 服务器学习笔记(九):三种主流的数据存储方式 ..................................................... 30 服务器学习笔记(十):数据备份与容灾.................................................................... 35 服务器学习笔记(十一):Linux第一篇,从Shell开始学起~ ................................... 37 服务器学习笔记(十二):Linux第二篇,学习常用的Shell命令................................ 40 服务器学习笔记(十三):Linux第三篇,文件管理中常用的Shell命令..................... 44 服务器学习笔记(十四):Linux第四篇,Shell脚本简单了解 .................................... 46 服务器学习笔记(十五):Linux第五篇,磁盘管理之为linux系统添加一块新硬盘 .. 51 服务器学习笔记(十六):Linux第六篇,磁盘管理之LVM ........................................ 55 发布人微博: 原作者Blog: 1 服务器学习笔记(一):服务器知识简单了解 近来在学习服务器方面的知识,把自己所了解的有关服务器方面的知识与大家交流分享,同想学习服务器方面知识的朋友们一起努力学习。 什么是服务器,服务器是计算机的一种,它是在网络操作系统的控制下为网络环境里的客户机提供共享资源的高性能计算机,它的高性能主要体现在高速度的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力等方面。 一、服务器的分类: 按着不同的分类,可以有不同的分类。 ,、按CPU的类型分类: RISC(Reduced Instruction Set Computing,精简指令集计算)架构服务器 使用RSIC芯片并且主要采用Unix操作系统的服务器有HP的PA-RISC、IBM公司的pSeries服务器、SUN公司的SPARC等。 CISC(Complex Instruction Set Computing,复杂指令集计算)架构服务器 基于IA(Intel Architecture)架构的服务器,使用CISC芯片且主要用Widnows Server/Linux/BSD等操作系统的服务器。如Intel的Xeon、AMD的Opteron处理器,也称工业标准服务器。 IA-64服务器。采用IA-64架构的处理是主要是Intel安腾处理器(Itanium)。Itanium处理器是HP与Intel共同开的。安腾处理器似乎出现了一些麻烦,Windows、Redhat及Oracle都已经宣布不再支持安腾处理器。 ,、按应用规模分类: 大型服务器 中型服务器 小型服务器、入门级服务器 ,、按应用用途分类: 数据库服务器、域名服务器、DHCP服务器、文件服务器、FTP服务器、邮件服务器、代理服务器、打印服务器、Web服务器、WINS服务器等 ,、按外形结构分类: 塔式服务器、机架式服务器、刀片服务器 x86架构的服务器通常称为PC Server. 运行UNIX的服务器通常被称为小型机。 二、服务器系统特征与性能: 选定服务器的几个标准: ?先进的系统结构; ?先进的性能; ?卓越的扩展性; ?先进的管理性; ?使人信服的可靠性; 2 ?强大的可用性; ?持续的服务能力。 国内外服务器标准 国内服务器标准:SUMA:Scalability(可扩展性)、Usability(易使用性)、Manageability(易管理性)、Availability(可用性)。这一标准是由国内的服务器厂商曙光所倡导。 ?Scalability 服务器必须具有一定的可扩展性,这是因为企业网络随着企业的发展壮大而发展,用户增多、业务扩展,服务器也应该具有很强的扩展性,具备一定的可扩展空间。 ?Usability 服务器的功能强大而硬件与软件都很复杂。服务器的易用性主要体现在服务器是不是容易操作,用户导航系统是不是完善,有没有关键恢复功能等等。 ?Manageability 服务器的易管理性也是服务器的一个重要特性,能够做到及时发现问题,及时完成故障处理。服务器的易管理性还体现在服务器有没有智能管理系统,有没有自动报警功能,是不是有独立于系统的管理系统。 ?Availability 对于一台服务器,可用性非常重要,服务器为了保障用户的连续业务,通常要求服务器得不间断地工作,持续为用户提供连续服务。 国外服务器标准:RAS:Reliability(高可靠性)、Availability(高可用性)、Serviceability (高可服务性) 三、服务器操作系统 服务器上常用的操作系统有Windows Server Family(Windows NT、windows 2000 Server、windows server 2008)、Linux(最有名气的Redhat Enterprise Linux)、UNIX(HP的HP-UX、IBM的AIX及Sun的Solaris(已经被甲骨文收购)等) 服务器操作系统与PC操作系统的区别在于前者可以支持更多的CPU、更大的内存及更为卓越的性能和强大的网络功能。 四、国内外服务器生产厂商 国外的主要有:HP、IBM、Oracle(Oracle收购了Sun公司)。国内的主要有:曙光、浪潮、长城。 小结:网络可以分为资源子网与数据子网。服务器属于资源子网,在网络中占有重要的地位。服务器的高可靠性、高可用性与高可服务性等这些特性决定了服务器所使用的技术,如服务器的冗余技术、热插拔技术、集群技术等等。 3 服务器学习笔记(二):服务器技术概览 服务器技术包括复杂的硬件技术与软件技术。由服务器的高可用性、扩展性、持续的工作等方面的要求,服务器与PC在硬件技术上差别很大。目前通用服务器硬件技术通常包括:CPU技术(RISC与CISC处理器架构技术、SMP对称多处理技术、)、内存(ECC内存纠错)、硬件冗余、热插拔、磁盘阵列技术、智能管理技术I/O总线(I2O智能输入,输出技术和服务器总路线技术)等。 一、RISC和CISC处理器指令架构技术 RISC和CISC都是服务器处理器的指令系统执行方式技术,它们也被称为服务器处理器架构技术。RISC指令架构技术以IBM、HP和Sum公司的RISC处理为代表,而CISC则以Intel的IA处理器为代表(AMD的服务器处理器也都基本上采用这种指令架构) 二、SMP对称多处理器技术 SMP(Symmetrical Multi-Processing,对称多处理)技术是相对非对称多处理技术而言的,在这种架构中,同一服务器主板需要提供多个处理器插座,但所支持的处理器个数都是偶数的,这就是其“对称”性所要求的。组建SMP系统需要有特定的处理器、操作系统和应用软件的支持:?处理器必需内置APIC(Advanced Programmable Interrupt Controllers, 高级可编程中断控制器)单元;?相同的处理器型号;?完全相同的运行频率;?尽可能保持相同的产品序列编号。 三、I2C(Inter-Integrated Circuit)总线技术 I2C总线是一种由菲利普公司开发的串行总线,是一种具有多端控制能力的双线双向串行数据总线系统。I2C通过一个带有缓冲区的接口,数据可以被I2C总线发送或接收,控制和状态信息则通过一套内存映射寄存器来传送。利用I2C总线技术可以对服务器的所有部件进行集中管理,可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。 四、智能监控管理技术 智能监控技术不是一个单一的服务器技术,它是一系列智能管理技术的总称,其中包括EMP(应急管理端口)、ISC(Intel服务控制)、IPMI(智能平台管理接口)和SNMP(Simple Network Management Protocol)等技术。目前高性能服务器普遍采用专用的服务处理器(Service Processor)来对系统的整体运行情况进行监控。系统中的一些关键部件的工作情况都通过一条被称为I2C总线的串行通信接口被传送到服务处理器,而且服务处理器通过专用的监控软件监视各个剖件的工作状态。服务处理器可以对服务器的所有部件进行集中管理,可随时监控内存、硬盘、网络和系统温度等多个参数。 ?EMP(Emergency Management Port,应急管理端口) EMP是服务器主板上所带的一个用于远程管理服务器的接口。远程控制机可以通过Modem与服务器相连,控制软件安装于控制机上,远程控制机通过EMP Console控制界面可以对服务器进行下列工作:打开或关闭服务器的电源;重新设置服务器,甚至包括主 4 板BIOS和CMOS的参数;监测服务器内部情况。 ?ISC(Intel Server Control,Intel服务器控制) ISC是一种网络监控制技术,现在已经改名为ISM(Intel Server Management),只适用于使用Intel架构的带有集成管理功能的主板的服务器。采用这种技术后,用户可在一台普通的客户机上,通过局域网或广域网对服务器进行启动、关闭或重新置位,也可以监测网络上所有使用Intel主板的服务器的运行状况,包括机箱、电源、风扇、内存、处理器、系统信息、温度和电压等。 ?IPMI(Intelligent Platform Management Interface智能平台管理接口) 为降低服务器管理系统的开发有管理成本,并解决不同的服务器与周边设备因接口不同而无法沟通的问题,Intel、HP、NEC和Dell携手结合多家服务器芯片制造厂商,从1997年开始研究,在2001年3月推出了一项重要的管理——IPMI。它定义了在监控终端上通过网络或串行调制解调器管理、监视远程服务器的方法。通过IPMI能对系统健康状态进行监视,对严重事件自动产生告警,而县还能实现自动系统控制和系统事件日志功能。IPMI结构的核心是一个被称为“基板管理控制器”的微控制器。 五、智能输入,输出(I2O)技术 随着服务器处理器性能的提高,服务器系统的功能越来越强,作用越来越大,作为网络中心设备后,其数据传输量会大大增加,因而I/O数据传输性能经常会成为整个系统的瓶颈。智能输入,输出(I2O)技术把任务分配给智能I/O系统,在这些子系统中,专用的I/O处理器将承担中断处理、缓冲存取及数据传输等烦琐任务,这样,系统的吞吐能力就得到了提高,服务器的主处理器也能被解放出来去执行更为重要的任务。 I2O(Intelligent Input & Outpu,智能输入输出)是一项可以降低系统CPU负载并改进I/O数据通信的新技术。在这一技术下,I/O子系统的体系结构完全独立于网络操作系统,并不需要外部设备的支持,这样一方面可减轻操作系统的负担,另一方面还可以提高I/O通信效率。 六、硬件冗余技术 硬件冗余技术是最常见的、最基本的服务器技术之一,也是应用最广的服务器通过技术。它是通过提供双份完全一样的硬件,并通过相应的技术使备用件时刻处于待命状态,发现相应部件失效后立即接替原来的部件继续工作,使得服务器保持恒久不间断的动作。它是提高服务器可用性的一个重要手段。根据不同的冗余部位和冗余程度,主要分为以下几中硬件冗余方式。 ?单机容错冗余。这是一种最高级别的冗余,达到了100%冗余。在这样一个服务器中,对所有部件都提供了冗余,任何单一部件的损坏都不会造成硬盘中的数据丢失。 ?双服务器冗余。这种冗余方式采用双台服务器进行冗余容错,将双台服务器分为主,从服务器,从服务器是为主服务器出现故障而准备的,不过这一容错技术需要专门的服务器集群软件来实现。当主服务器出现故障时,从服务器将立即接替主服务器的工作,从而使得任何一台服务器出故障都不会造成系统崩溃。 ?磁盘冗余。这是最常见的硬件冗余方式之一,就是提供多个备用磁盘。在这种冗余方式中,应用最广的是磁盘冗余阵列技术(RAID)。 ?电源冗余;?风扇冗余;?网卡冗余。 七、热插拔技术(Hot Plug) 5 热插拔技术就是指可以在系统带电的情况下对有些部件进行插、拔操作。一般来说具有热插拔性能的硬件主要包括:硬盘、CPU、RAM、电源、风扇、PCI适配器和网卡等。 八、诊断技术 服务器诊断技术是服务器可管理性的一个重要方面,它可由软件实现服务器的自我诊断,当所监控的硬件出现故障时,及时告知管理人员,以便得到及时维护。 ,、光通路诊断技术。这是由IBM开发的,它使得技术人员能够迅速确定和找到发生故障的系统组件;,、Active Diagnostics(活动诊断)技术。 九、64 位处理器技术 64位与32位处理器相比,最为关键的优势就体现于位宽和内存寻址能力上。位宽对处理器性能的影响很大,位宽是指处理器一次执行指令的数据带宽。64位处理器一次就能处理64位,即8个字节的数据。 十、服务器集群(Cluster)技术 服务器集群技术是提高服务器性能的一项技术措施。一个服务器集群包含多台共享数据存储空间的服务器,各服务器之间通过内部局域网进行相互通信。当其中一台服务器发生故障时,它所运行的应用程序将由其它的服务器自动接管。 十一、负载均衡技术 负载均衡的思路是每台服务器都具备同等的地位,都可以单独对外提供服务而无须其它服务器的辅助,通过某种负载分担技术,将从外部发送来的请求均匀分配到称结构中的某些服务器上。负载均衡技术可以完成以下任务:解决网络拥塞,实现服务就近提供;为用户提供更好的访问质量;提高服务器的响应速度;提高服务器及其它资源的利用效率;避免在网络关键部位出现单点失效。 小结:这些技术都是为了提高服务器的高可用性、高可靠性、高可以服务性,保证服务器的能够不间断地向用户提供高性能的服务。 6 服务器学习笔记(三):硬件技术之服务器处理器技术 一、服务器处理器(Server CPU)的分类 通常按按服务器处理器架构(服务器处理器所采用的指令系统)划分为以下几类: ?CISC(Complex Instruction Set Computing,复杂指令集计算)架构 从计算机诞生以来,一直采用CISC指令集方式。基于CISC的CPU主要有Intel、AMD的X86CPU。它们通常在低端服务器中使用。操作系统为Windows系列或Linux。CISC也可以称为IA-32架构或X86架构。 ?RISC(Reduced Instruction Set Computing,精简指令集计算)架构 这类CPU通常在高端服务器中使用,最具代表性的产品是IBM的POWER、POWERPC处理器、Sun的SPARC处理器、HP的PA-RISC、Alpha处理器及MIPS的MIPS处理器。在20世纪70年代,IBM发明了RISC技术,到了80年代后期,RISC指令架构逐渐代替了服务器领域中的CISC指令架构,成为服务器主流微处理器设计架构。RISC优化指令系统,加快程序编译进程,提高运行速度。 RISC技术采用了更加简单和统一的指令格式,固定的指令长度以及优化的寻址方式,使整个计算结构更加合理。一般来说,RISC处理器比同档的CISC处理器要快50%~75%。 ?VLIW(Very Long Instruction Word,超长指令集)架构 VLIW架构采用了先进的EPIC(Explicitly Parallel Instruction Computing,清晰并行指令)设计,可以把它叫做IA-64架构。HP与Intel合作开发的安腾(Itanium)处理就采用该架构技术。 二、服务器处理器技术介绍 ?IBM POWER处理 POWER是Power Optimization With Enhanced RISC的缩写。POWERPC中的PC是Performance Computing的缩写。 ?POWER1处理器最早发布于1990年。 ?POWER4处理器发布于2001年,是世界上第一颗双核心处理器。 ?Sun SPARC处理器 SPARC是Scalable Processor ARChitecture。 ?HP PA/Alpha处理器 HP由于并购了Compaq公司,因此它有两个系列的RISC处理器,即HP自己开发的PA-RISC处理系列和Compaq公司的Alpha处理器系列。 PA-RISC于1986年问世,第一款芯片的型号为PA-8000,主频为180MHz,PA-8800是于2004年2月底推出的,它的起始频率为1GHz,是Hp的第一个双核心64RISC处理器。 ?MIPS处理器 MIPS(Microprocessor without Interlocked Piped Stages) AMD Opteron处理器的优势 7 AMD的Opteron处理器与Intel的IA-64架构的Itanium和Itanium2处理相比,主要存在有以下不同:?处理器架构不同 对于64位处理器,AMD采用了与Intel截然不同的策略:AMD采用一种基于x86指令体系的64位架构,也就是x86-64架构,可以让64位处理器运行在32位应用环境下。?向下兼容性不同 AMD的x86-64架构的最大优势就是完全兼容现存的x86代码。 Intel Itanium/Itanium2处理器 Intel的第一款64位处理器Itanium发布于2000年,它采用的是全新的IA-64架构。Intel的IA-64架构所采用的显示并行指令(EPIC)架构,具有分支预测执行、寄存器轮动、更多的计算单元和流水线等技术。它的内存寻址能力很强,能够容纳近180亿GB的物理内存。 Intel Nocona Xeon处理器 Nocona处理器是Intel迫于AMD Opteron处理器所带来的压力,在无奈的情况下发布的。Nocona Xeon处理器重拾当年自己抛弃的x86架构(Intel为了避嫌,称之为“EM64T”架构),既能支持64位程序运算,同时又能很好地支持现行主流的32位程序。 小结:服务器的角色与功能决定了服务器CPU的性能在名个方面远远高于PC机的CPU。芯片技术是信息技术中的最为重要的技术。 8 服务器学习笔记(四):硬件技术之内存技术 内存会出错 计算机中使用的内存储设备主要有两种类型:静态随机存储器(SRAM)和动态随机存储器(DRAM)。其中SRAM作为缓存使用,这是因为它的速度快,并可以在关闭电源前一直保存其中的数据;而DRAM芯片装在168脚的DIMM(Dual inline memory modules)上,每一个DRAM芯片以电容行或电容列存储数据,对这些存储单元必须不停地进行充电或者更新否则其中的数据就会丢失。一个充电的电容器由数据“1”表示,一个放电的电容器由数据“0”表示。充电或放是由存储设备的电压决定的。当电容器中的电荷受到外界的影响发生变化时,读数就会出现偏差,则服务器中使用的内存模块就会出现存储错误。 一、内存的通用技术 ?奇偶校验技术 比特(bit)是内存中的最小单元。比特是通过“1”和“0”来表示数据高、低电平信号的。8个连续的比特叫做一个字节(byte),在不带“奇偶检验”的内存中如果某个字节数据有一个比特出错,那么数据将出错。可以在每个字节数据后增加一个奇偶检验位。 ?ECC内存查纠错技术 ECC是Error Checking and Correcting(错误检查和纠正)的缩写。ECC纠错技术也需要额外的空间来储存校正码。 二、IBM服务器内存技术 ?Chipkill内存技术 ?大容量高速度技术 ?内存保护 ?内存镜像技术 内存镜像(Memory Mirroring)是IBM的另一种更高级的防止因内存错误而导致整个服务器不稳定性事件发生的技术。内存镜像的工作原理很像磁盘镜像,就是将数据同时写入到两个独立的内存卡中(两个内存卡的配置是一样的),平时的内存数据读取只在激活的内存卡中进行。 三、HP的服务器内存技术 ?新ECC内存技术 为了加强对内存数据的保护,HP于1996年引入了新ECC技术(Advanced ECC technology),它类似于IBM的Chipkill内存技术。 ?在线备份内存模式 HP的在线备份内存模式在HP Proliant 300和HP Proliant 500两个系列的服务器中得到应用,但这两个系列的服务器所采用的在线备份内存模式并不完全一样。 ?镜像内存方式 镜像内存方式可以用来保护发生多比特错误的数据。 ?单存储板配置——非热插拔方式(Non-Hot Plug)用户可以在服务器自带的存储板上 9 设置镜像内存。这样无论是发生了单比特错误还是多比特错误,系统都可以保数据的安全可靠。用户可以指定两个镜你存储区(C和D)。运行在镜像内存方式下的服务器,其系统内存可以达到4GB。为了保证内存镜像方式的正常运行,存储区C和D的配置必须和存储区A和B的配置一样。如图所示,数据被同时写入系统内存和镜像内存,但只从系统内存中读出。如果系统内存中的某个DIMM出现单比特错误达到错误极限,那么系统会自动将存储区C和D设置成系统内存,将A和B指定为镜像内存,数据仍然会被同时写入系统内存和镜像内存中,但只从系统内存中读数据。 图 一 单存储板配置 ?热插拔的镜像内存模式需要扩展存储板(选件,)此模式可以为内存提供比在线备份方式更好的保护。热插拔的镜像内存模式包括在线扩展和在线替换内存。在线扩展是指用户可以在空的插槽上插入DIMM以扩展系统内存容量,在线替换是指用户可以在系统运行中直接将出现故障的DIMM替换掉。为了确保热插拔的镜像内存模式运行正常,两块内存板必须是一样的。一个数据被同时写入两块内存板上,但只从主内存板上读数据。 10 图二 双存储板配置的镜像内存模式 ?热插拔RAID内存(Hot Plug RAID Memory)技术 HP热插拔RAID内存可以为长时间不断运行的应用程序提供极高的实用性、灵活性和 容错能力。即使内存设备彻底地发生故障,内存仍然可以正常工作。 图三 RAID内存原理 四、主要服务器内存模组技术 ?双倍DIMM面积模组 DIMM(Dual-inline Memory Modules,双列直插式存储模块) 图四 双倍DIMM面积模组 11 ?Elpida和Kingston的TSOP双面内存模组 TSOP:Thin Small Outline Package,薄型小尺寸封装。 图五 TSOP封装的内存 图六 叠加的TSOP封装的内存 ?Elpida的TCP模组 TCP:Tape Carrier Packaging 图七 TCP封装的内存 五、FB-DIMM内存体系架构 12 服务器学习笔记(五):硬件技术之I/O总线技术 CPU工作时需要与外围硬件设备进行数据、指令的交换,这就需要与各部件有一个传输通道。如果每种设备都分别引入一组线路直接与CPU相连,则可导致系统线路杂乱无章,甚至不可能实现。为了简化硬件电路和系统结构,人人引入了一组通用线路,并配以适当的接口,CPU通过这条线路与外围硬件设备相连,这条通用线路被称为总线(BUS)。根据连接设备的不同,总线又可以分为内部总线、系统总线和外部总线三大类。内部总线连接的是CPU与系统内部芯片,系统总线(I/O)是连接系统主机与扩展插卡的总线。外部总线是连接系统与外部设备的总线。 自从IBM PC问世至今,从整体来看,经历了ISA和PCI两种不同类型阶段。 服务器中先后应用了多种总线技术,其中最为著名的有InfiniBand、PCI-X和PCI-Express(简称为:PCI-E)。 一、ISA总线时代 最早的PC总线是IBM公司于1981年在PC/XT电脑上采用的系统总线,它是为基于8位的8088处理器设计的,被称为“PC总线”或者“PC/XT总线”。为了开发与IBM PC兼容的外围设备,行业内便逐渐确立了以IBM PC总线规范为基础的ISA(Industry Standard Architecture)总线。 ISA总线是8/16位的系统总线,最大传输速率仅为8Mb/s,但允许多个CPU共享系统资源,由于兼容性好,它在上个世纪80年代是应用最为广泛的系统总线。随着发展,ISA总线的带宽成了系统的瓶颈,影响到处理器性能的发挥。1988年,康柏、惠普等9个厂商协同把ISA扩展到了32位,这就是EISA(Extended ISA),最后由PCI-SIG发布的PCI(Peripheral Component Interface)总线取代。 二、PCI总线 1992年Intel在发布486处理器的时候,同时发布了32位PCI总线。最早发布的PCI总线工作在33MHz频率之下。传输带宽达到了133Mb/s。1993年发布了64位PCI总线后来把它的频率提供到了66MHz,这样64位66MHz的PCI总线带宽就达到了533Mb/s。 13 图 一 三种接口插槽 三、PCI-X总线技术 PCI-X最初是由IBM开发的,后来由PCI特殊利益组织(PCI-SIG)发布,属于PCI总线的扩展架架构。PCI-X有两种版本,多种不同的规格。其中PCI-X1.0版本可以支持66MHz、100MHz和133MHz这种频率,依次能管理4个、2个和1个PCI-X设备,并分别具有533Mb/s、800Mb/s和1066Mb/的峰值带宽。PCI-X2.0标准能够在每个时钟周期内更快地传输数据,PCI-X 266标准速度为2.1Gb/s,PCI-X 533标准速度为5.3Gb/s。PCI-X是对原有PCI总线的扩展,所以它在结构上与PCI总线类似,而且兼容PCI总线。PCI-X总线主要应用于高性能工作站和服务器上,使用PCI-X接口较多的设备就是SCSI、RAID控制卡和千兆网卡。 14 图二 PCI与PCI-X 四、PCI-Express总线技术 PCI-Express(简称:PCI-E)是针对PCI总线的局域性而提出的一种新型总线标准,它属于串行总线标准,突破了并行总线标准的极限频率限制,传输速率可以极大地改善。PCI-E总线特点: ◎数据传输速度快 单根PCI-E线缆的传输速度可以达到206Mb/s,8线版本的为1.6Gb/s,而32线的传输速度是6.4Gb/s。 ◎易于布线、减少串扰 PCI-E技术不需要像PCI总线那样在主板上布大量的数据线,而PCI相比,PCI-Express总线的导线数量减少了将近75%,也就减少了相互之间的串扰。 ◎点对点连接 与PCI总线中所有设备共享同一条总线资源不同,PCI-E总线采用点对点技术,能够为每一块设备分配独享通道,不需要设备共享资源,这样充分保障了各设备的宽带资源,提高了数据传输速度。 ◎兼容PCI和PCI-X 跨平台兼容是PCI-E总线非常重要的一个特点。 五、InfiniBand(无线带宽)总线 InfiniBand总线技术最初是由Dell、HP、IBM、Intel、Microsoft和Sum等180多个成员组成的InfiniBand Trade Association组织提出的。在技术上,InfiniBand总线技术是基于Switched Fabric结构的。InfiniBand是一个共享或者集群的装置,不仅擅长于多台I/O设备的智能化互连,而且本身的智能化程序也非常高,接口自然比较复杂,侧重于服务器应用。 图 基于InfiniBand的计算机体系结构 InfiniBand可以支持一个共享I/O体系架构。在该体系架构中,多个主机可以使用一个I/O设备。I/O共享允许多个机柜安装的商用服务器以这样一种方式进行集群,即服务器出现故障时,就失效转移到另一台服务器。这种失效转移性能可以允许快速轻松地更换出故障的服务器,同时也提供了用成品组件来配置高度可靠服务器方法。InfiniBand系统通过连接HCAs、TCAs、交换机和路由器而发挥作用,该体系架构的模型如下: 15 图 InfiniBand体系架构模型 六、HyperTransport总线 AMD的HyperTransport总线技术是一种为主板上集成电路的互连而设计的总线技术,它可为内存控制器、硬盘控制器以及PCI总线控制器之提供更大的带宽。 16 服务器学习笔记(六):服务器集群技术 服务器集群是由一些互相连接在一起的计算机构成一个并行或分布式系统。这些计算机(服务器)一起工作并运行一系列共同的应用程序,同时,为用户和应用程序提供单一的系统映射。从外部来,它们仅仅是一个系统,对外提供统一的服务。集群内的计算机物理上通过电缆连接,程序上则通过集群软件连接。通过集群,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益。简单地说,服务器集群是相互连接的两个或多个服务器,通过一个应用程序公共接口,以一台服务器的形式出现,实际上就是一个虚拟服务器系统。 服务器集群结构中,又分为“不对称集群”和“对称集群”两大类。“不对称集群”结构中有一些服务器专门用于当工作服务器出现故障时接替它们的工作。在“对称集群”结构中,每个服务器都承担有工作,每台服务器都相互平等,没有专门用于备用的服务器。如果一个服务器出现故障,其余服务器则会继续处理其自身所分配的应用程序组,同时处理发生故障的服务器上的应用程序,具体由哪台或哪几台服务器接管,要看集群服务配置了。 图一 不对称服务器集群结构 17 图二 对称服务器集群结构 集群技术和双机热备份技术的本质区别体现在能否实现并行处理和节点失效后的任务平滑接管。双机或多机备份技术的原理是一台服务器作主机,其他服务器作备份机(也可以同时工作),当主机失效时,备份机接管。集群系统使用的它的高可用性而不是容错。 服务器集群技术的优势:?扩展能力强;?实现方面容易;?高可用性;?易管理性 对集群技术需求最迫切,发展也最快的领域主要有Web应用、VOD应用,科学计算、数据库应用等领域。集群服务不保证不停顿的操作,但它为大多数执行关键任务的应用程序提供了足够的可靠性。 一、服务器集群:故障迁移解决 集群服务器设计的目的就是提高服务器性能,同时在出现故障时能及时进行故障迁移(将应用程序或服务安装在发生故障时彼此能接管对方工作的多台服务器上,一台服务器接管发生故障服务器工作的过程就称为“故障转移”),提高服务器的可用性。所以在集服务器设计之初,必须充分考虑故障迁移方案。 故障迁移的原理 ?检测故障 要让备用服务器变成活动服务器,必须设法确定活动服务器是否不再正常工作。系统使用下列某个常规类型的心跳机制来做到这一点。◎发送信号。活动服务器以定义好的时间间隔将指定信号发送到备用服务器。如果备用服务器在某个时间间隔内未收到信号,则确定活动服务器发生故障并担任活动角色。◎接收信号。备用服务器向活动服务器发送请求。如果活动服务器没有响应,则备用服务器按特定次数重复发送此请求。如果活动服务器仍然没有响应,则备份服务器接管活动服务器的工作。以上发送和接收信号是通过专用通信通道发送的,以使网络拥塞和一般网络问题不会导致假的故障转移,这个专用通信通道通常被称为“心跳线”。 18 ?同步状态 的集群服务器系统中,在正式接管活动服务器的工件前,首先要将备用服务器的状态与发生故障的服务器的状态进行同步,然后才能开始处理事务。主要有三种不同的同步方法。◎事务日志。在事务日志方法中,活动服务器将对其状态的所有更改记录到日志中。同步实用工具定期处理此日志,以更新备用服务器的状态,使其与活动服务器的一致。当活动服务器发生故障时,备用服务器必须使用此同步实用工具处理自上次更新以来事务日志中的任何添加内容。◎热备用。在热备用法中,将把活动服务器内部状态的更新立即复制到备用服务器。因为备用服务器的状态是活动服务器状态的克隆,所以备份服务器可以立即成为活动服务器,并开始处理事务。◎共享存储。在共享存储方法中,两台服务器都在共享存储设备(如存储区域网络或磁盘阵列)上记录其状态。这样,因为不需要进行状态共,故障转移可以立即发生。这种同步方式所需的切换时间也较短,可用性也较高。 ?确定活动服务器 对于指定的一组应用程序,只存在一台活动服务器,这是极其重要的。 ?扩展故障迁移集群服务器 故障迁移解决方案示例 在下图中,网络中只有一台服务器为网络客户端提供服务,当这台服务器出现故障时,就无法向用户提供服务: 图三 有故障单点的服务器 为了提高上图网络中服务器的高可用性,可以采用服务器集群故障转移技术,如下图: 19 图四 具有故障转移的服务器集群方案 在上图方案中,第一台数据库服务器是处理所有事务的活动服务器。仅当第一台数据库服务器发生故障时,处于空闲状态的第二台数据库服务器才会处理事务。集群将一个虚拟IP地址和主机名在客户端和应用程序所使用的网络上公开。 二、服务器集群:负载均衡解决方案 将服务或应用程序安装到多台服务器上,并将这些服务器配置为共享工作负荷,这种类型的配置就是Load-Balanced Cluster(负载均衡集群)。负载均衡技术通过将客户端请求分散到多始服务器上,从而提高了基于服务器的程序的性能。 负载均衡器使用不同的算法控制通信流量,这些算法用于以智能方式分散负载,或最大限度地利用集群内的所有服务器。其中一些典型的算法如下:◎循环法。循环算法将负载均衡地分配每台服务器,而不考虑当前的连接数或响应时间。循环法适合于集群中的服务器具有相同处理能力的情况。◎加权循环法。加权循环算法适合于每台服务器具有同处理能力的情况。管理员将性能权值手动分配给每台服务器,而且按照服务器权值自动生成调度序列。◎最少连接。最少连接算法确定集群中哪台服务器当前正在处理连接数最,从而将请求发送给服务器。◎基于负载。基于负载算法先判断集群中哪台服务器当前的负载最低,然后将请求发送给该服务器。 负载均衡解决方案示例 负载均衡的两种主要类别如下:◎基于软件的负载均衡。基于软件的负载均衡是在负载均衡集中安装特殊的均衡管理软件。均衡管理软件根据不同的算法发送或接收客户端向服务器发出的请求。◎基于硬件的负载均衡。 20 图五 负载均衡集群方案 21 服务器学习笔记(七):服务器容错机制 什么是容错技术, 所谓“容错”,就是允许服务器出现一定的错误(或者称为“故障”),但是服务器系统中要有自动修复和冗余机制,当错误出现时,这些出错的部件可以得到及时的修复,或同相同功能部件接替出错部件的工作,继续保持服务器不间断运行。 容错技术的发展历史 ◎第一代Stratus架构容错技术早在20世纪80年代,第一代容错技术就开始进入商用领域。当时美国的Stratus公司采用Motorola M68000处理器,在Stratus独特的硬件级容错技术及专门的VOS操作系统的支持下,为美国当时的金融业、证券业、电信业和交通业等行业应用提供了高可用性。◎第二代Intel I860架构容错技术◎第三代HP PA-RISC架构容错技术◎第四代IA架构容错技术 一、服务器网卡容错技术 Intel的三种容错服务器网卡:AFT(Adapter Fault Tolerance网卡容错)、ALB(Adapter Load Balancing,网卡负载平衡)和FEC(Fast Ether Channel,快速以太通道)或GEC(Gigabit Ether Channel,千兆以太通道)。 ?AFT AFT技术是在服务器和交换机之间建立冗余连接,即在服务器上安装两块网卡,一块为主网卡,一块为备用网卡,然后用两根网线将两块网卡都连接到交换机上,在服务器与交换机之间建立主连接和备用连接,一旦主连接断开,备用连接会在几秒钟内自动顶替主连接的工作,而网络用户不会觉察到任何变化。 ?ALB 在ALB技术中,服务器安装的两块(两块以上)网卡可以同时工作,不仅可以提供冗余备份,还可以实现负载平衡,提高服务器的网络带宽。 ?FEC(GEC) FEC和GEC技术具有AFT和ALB技术的全部功能,在一个网卡组(几块网卡)中实现容错和负载平衡。 二、服务器磁盘容错技术 服务器磁盘容错技术内容比较多,另单独写一篇学习笔记,请参见《服务器学习笔记()磁盘RAID技术》 三、服务器整体性容错技术 服务器容错,更多的应该是强调服务器整个系统的容错,而不是仅指某一个部分的容错。磁盘冗余、网卡冗余、热插拔等都是服务器的某个方面的容错技术。服务器系统容错技术有三类:服务器集群技术、双机热备份和单机容错技术。它们所对应的容错级别是从低到高的,也就是说服务器集群技术容错级别最低,而单机容错技术级别最高。 ?服务器集群技术 服务器集群技术不仅可以做到容错,还可以实现负载平衡,提高服务器的性能。内容多,所以也单独做了学习笔记,请参见:《服务器学习笔记():服务器集群技术》 22 ?双机容错方案 双机容错是计算机应用系统稳定、可靠、有效、持续运行的重要保证。它通过系统冗余的方法解决计算机应用系统的可靠性问题,具有维护简单、稳定可靠、监测直观等优点,当一台主机出现故障时,冗余容错软件可及时启动另一台主机接替原主机的任务,保证了用户数据的可靠性和系统的持续运行。双机容错技术由两台服务器系统和一个外接共享磁盘阵列柜及相应的双机热备份软件组成。双机热备份通常要求两台服务器的配置完全一样。在该方案中,操作系统和应用程序安装在两台服务器的本地系统盘上,用户的数据存储在外接共享磁盘阵列中。双机热备份系统采用“心跳”方法保证主系统与备用系统的联系。 双机热备份的三种工作模式:双机热备模式、双机互备模式及双机双工模式。 ?、双机热备份(Hot Standby) 双机热备份就是一台主机为活动工作机(Active Server),另一台主机为备份(Standby Server)。在这种容错方案中,各服务器只需一块网卡,共同连接在同一网络上,磁盘阵列的连接都是通过SCSI电缆连接两主机和磁盘阵列的。 ?、双机互备(Dual Active) 所谓双机互备就是两台主机均为工作机,在正常情况下,两台工作机均为信息系统提供支持,即都为活动服务器(Active Server),并互相监视对方的运行情况。当一台主机出现异常时,不能支持信息系统正常运营,另一主机则主动接管异常机的工作。 ?单机容错方案 单机容错技术是由一台服务器实现高性能容错,它的容错能力要远比服务器集群和双机热备份的容错能力高。容错服务器是通过CPU时钟锁频和对系统中所有主要部件的冗余来实现的容错,包括CPU、内存、网卡和I/O总线等。通过系统内所有冗余部件的在线同步运行,实现真正意义上的容错。 四、HP NonStop容错服务器 HP NonStop是HP工业标准服务器系列产品中的高端产品,其专用性表现在它的核心容错结构,可进行全面的故障检测和隔离,以确保数据的完整性。整个系统无任何单点故障,其可用性达到99.999%,足以让最关键和复杂的应用得到满足。 23 服务器学习笔记(八):磁盘RAID技术 RAID是Redundant Array of Independent Disks的缩写,意思为独立磁盘阵列。RAID技术可以把几个物理上独立的磁盘组合成一个大的逻辑磁盘,这种磁盘组可以提高磁盘的存储性能、保证数据的安全性。对于几个常用的RAID技术进行了学习。 RAID的起源 RAID磁盘阵列系统,是美国加州大学伯克利分校Patterson教授,于1988年首先提出的,它的原理是将若干个小型磁盘驱动器与控制系统组成一个整体,在使用者看来像一个大磁盘。由于有多个驱动器并行工作,提高了存储容量和数据传输率。RAID技术主要以下三个基本功能:?通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度;?通过对一阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高了数据存取速度;?通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。 RAID实现的方式:硬件和软件。硬件方式就是通过RAID控制器实现。在RAID应用中,最常选用的就是RAID控制卡(有的服务器已经集了RAID控制卡),RAID控制卡是一种磁盘阵列卡,它的核心就是RAID控制芯片。 SCSI磁盘接口 SCSI(Small Computer System Interface)接口设备在RAID中的应用非常普遍,也是中高档磁盘阵列的主要接口类型。SCSI接口向来是以高传输速率和高可靠性著称,其应用速度从最初4Mb/s一直发展到目前最快的320Mb/s(Ultra320 SCSI技术规范)。 几种常见RAID模式 ?JBOD模式 JBOD(Just Buddle of Disks,简单磁盘捆绑),JBOD并不是真正意义上的RAID模式,它是在逻辑上把几个物理磁盘一个接一个地串联到一起,从而提供一个大的逻辑磁盘,简单地从第一个磁盘开始存储,当第一个磁盘的存储空间用完后,再依次从后面的磁盘开始存储数据。 ?RAID0 RAID0(中文:无差错控制的条带华阵列)又称为Strip(条带化)或Striping(带区集),是所有RAID规格中速度最快但可靠性最差的磁盘阵列模式。RAID0不仅可以将多块硬盘连接起来形成一个容量更大的存储设备,而且还可以获得呈倍数级增长的性能提升。在RAID0模式中,对磁盘读写是同时进行、并行操作的。如RAID0中有四块磁盘,在写数据时把数据分成等量四段,分别同时写入(并行操作)四块磁盘中;在读取数据时,目标数据被同时从多块硬盘中取出并经控制器组合成完整的文件。这样可以提高磁盘读写性能,但是它没有冗余措施,其中的某一块磁盘损坏时那么数据就会全部丢失。在RAID0模式中至少需要两块磁盘。 24 图一 RAID0模式 ?RAID1(中文:镜像结构) RAID1也被称为“镜像”,是最为安全的一种RAID模式,它是将一个磁盘上的数据完全复制到另一个磁盘上,百分百地实现数据冗余,数据安全非常有保障。它的不足之处就是磁盘利用率低只有50%,实现RAID1至少需要2块磁盘,当采用多块磁盘时,必须是对称的,即硬盘数必须是偶数。 图二 RAID1模式 ?RAID2(带海明码校验) RAID2是带海明码校验磁盘阵列,在这种RAID模式中,磁盘组的第2的n次幂个磁盘驱动器是专门的校验盘,用于校验和纠错,余下的其它盘才用数据存储。因此RAID2的 25 磁盘利用率很低。 ?RAID3(带奇偶校验码的并行传送) RAID3为带有专用奇偶位(parity)的条带,是对RAID0的改进模式,对于RAID0中的“条带”来说,RAID3增加一块磁盘专门做奇偶校验如果某个存储数据的磁盘出现了故障,可以用它来进行数据恢复。RAID3至少需要3块磁盘。 图三 ?RAID4(带奇偶校验的独立磁盘结构) RAID4与RAID3很相似,不同的是RAID4对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。RAID3是一次一横条(strip条带)。所以RAID3常须访问阵列中所有的磁盘驱动器,而RAID4只须访问有用的磁盘驱动器。配置RAID4也至少需要3块磁盘。 ?RAID5 RAID5被称为“带分布式奇偶位的条带”,RAID5把奇偶位信息随机地分布在所有的磁盘上,而不是单独用一个磁盘来存储,(RAID3单独用一块磁盘存储奇偶校验位)这样可以减轻奇偶校验盘的负担。需要至少3块磁盘。 图 四 RAID5模式 26 ?RAID6(带有两种分布存储的奇偶校验码的独立磁盘结构) RAID6是带有两种分布存储的奇偶校验码的独立磁盘结构,是使用了分配在不同的磁盘上的第二种奇偶校验的增强型RAID5。 图 五 RAID6模式 ?RAID7(优化的高速数据传输磁盘结构) RAID7自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID7存储计算机操作系统(Storage Computer Operating System)是一套实时事件驱动操作系统,主要用来进行系统初始化和安排RAID7磁盘阵列的所有数据传输,并把它们转换到相应的物理存储驱动器上。 图 六 RAID7模式 除了上面几种常用的RAID模式外,这些模式还可以进行组合,构成新的RAID模式: ?RAID0+1(RAID10) RAID0+1是RAID0与RAID1模式的组合,它即有RAID0的高性能,也具有RAID1的安全性。实现RAID0+1模式的方法是将2组RAID0的磁盘阵列互为镜像,形成一个 27 RAID1陈列。RAID0+1至少需要4块磁盘,成本比较高而县磁盘利用率低,只有50%。 ?RAID30 RAID30是RAID0与RAID3的组合,它具有RAID0和RAID3的特性,由两组RAID3的磁盘组成阵列,使用专用奇偶位,而这两组磁盘再组成一个RAID0的陈列。RAID30至少要有6个磁盘,配置成本较高,磁盘利用率也较低。 图 七 RAID30模式 ?RAID50 RAID50是RAID0与RAID5的组合,它同时具有RAID5和RAID0的特性,由两组RAID5磁盘组成。 图 八 RAID50模式 RAID相关专业词语释义: 28 条带(条带化):在向磁盘中读写数据时,同时把数据分成多个数据块并分布到一个磁盘阵列的多个磁盘上来提高数据吞吐量及读写速度,这个技术称为分条或条带化。 参考资源:?《RAID技术详解 》 29 服务器学习笔记(九):三种主流的数据存储方式 服务器与数据存储是息息相关,密不可分的,随着企业的发展,企业的应用数据量会不断增大,对数据存储的容量与性能上的要求也会越来越高。什么是数据存储呢,数据存储就是根据不同的应用环境通过采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问。总的来讲可以包含两个方面的含义:一方面它是数据临时或长期驻留的物理媒介;另一方面,它是保证数据完整安全存放的方式或行为。数据存储就是把这两个方面结合起来,向客户提供一套数据存放解决方案。 说到存储介质,它的范围非常广,小到计算机系统中的几百KB的ROM芯片,大到TB级的磁盘阵列系统都可以用来保存数据,都可以称为存储。 三种数据存储形式 为了减少企业对存储的整体投入,通常对不同的数据采取不同的存储方式,因此在一个较在的存储系统中的存储设备可分成三种角色:在线存储(Onstore,又称联机存储)、近线存储(NearStore)和离线存储(OffStore,又称脱机存储)。通常将不经常访问的数据存储在离线存储的设备上(如磁盘库),将要求传输速度快或经常访问的数据存放在在线存储的设备上(如磁盘阵列)。 三种主流的数据存储方式是:DAS(Direct Attached Storage,直接附加存储,直接连接存储)、NAS(Network Attached Storage,网络附加存储)、SAN(Storage Area Network,存储区域网络) 一、DAS数据存储方式 DAS存储方案是把外部数据存储设备(如磁盘阵列、光盘机、磁带机等)都直接挂接在服务器内部总线上,数据存储设备是服务器结构的一部分。DAS存储方案主要在PC机和早期的服务器上使用。由于当时的数据存储的需要并不大,单个服务器的存储能力就可以满足日常数据存储需要。 DAS存储方式主要适用于以下环境 (,)小型网络(,)地理位置分散的网络(,)特殊应用服务器 二、NAS数据存储方式 NAS采用独立的服务器,单独为网络数据存储而开发的一种文件服务器来连接所有存储设备,自形成一个网络。这样数据存储就不再是服务器的附属,而是作为独立网络节点而存在于网络之中,可由所有网络用户共享。 三、SAN存储方式 1991年,IBM公司在S/390服务器中推出了ESCON(Enterprise System Connection, 企业级系统连接)技术,它是光纤介质,最大传输速度达17MB/s的服务器访问存储的一种连接方式。在些基础上,进一步推出了功能更强的ESCON Director,构建了一套最原始的SAN系统。 SAN的支撑技术是光纤通道——Fibre Channel(FC)技术。FC技术支持HIPPI、IPI, 30 SCSI、IP、ATM等多种高级。FC支持多种拓扑结构,主要有点到点(Point-to-Point)、仲裁环及交换式网络结构等。SAN是把存储设备单独通过光纤交换机连接起来,形成一个光纤通道的存储子网,然后再与企业现有局域网进行连接。由光纤通道构建的SAN由三部分构成:?存储和备份设备:包括磁带库、磁盘阵列和光盘库等;?光纤通道网络连接部件:包括HBA(Host But Adapter,主机总线适配卡)、驱动程序、光缆、集线器、交换机、光纤通道和SCSI间的桥接器等?应用和管理软件:包括备份软件、存储资源管理软件和存储设备管理软件。 ?FC SAN存储技术与方案 光纤通过(Fibre Channel)是一种利用光纤作为传输介质的数据传输技术,用于计算机设备之间的数据传输,传输速率可以达到1Gb/s或2Gb/s、4Gb/s,光纤通道比SCSI的速度快,而且非常灵活,光纤作为传输介质,设备间的距离可以达10KM。 光纤通道与传统的SCSI通道相比,光纤通道所具有的优势主要体现在以下几个方面:?高速。光纤通道具有很高的吞吐量;?低成本。光纤通道无需终端处理,这些管理功能被一些存在于光纤结构中的特殊服务器处理,并不是必须由每一个节点来处理。光纤通道可以使用现有的系统和软件,只需添加一个光纤通道HBA(Host Bus Adapter);?点对点的连接。光纤通道建立于设备间的点对点的连接之上,每一个光纤通道端口使用一对光纤,一根从端口传出数据,另一根则接收数据,为每一个连接提供足够的带宽。?分布式设备连接。通过光纤通道,计算机和存储系统可以更高效地分离和分布,而不需要添加额外的支持服务器,当支持分布式配置时,光纤通道提高了灾难和规划能力,更快的速度和更长的传输距离使其可以应用于远程备份系统。?电缆连接容易,而且更远。光纤通道电缆比SCSI电线更小且更轻便,因此它可以铺设到墙壁的管道中,并且不易受到电磁干扰。?寻址能力更强。 光纤通道的不足:?构建、维护的成本高、时间长;?互操作性不强,各个厂商的协议的具体实现有所不同,因此各个厂商的设备之间的互操作性问题不能很好解决;?缺乏统一标准;?地理位置的限制。 ?FC体系结构 FC技术规范共有5层,从FC-0到FC-4。FC-0是物理层底层标准,定义了连接的物理端口特性,包括介绍和连接器的物理特性、电气特性和光特性。FC-1链路控制,规定了8B/10B的编码,解码方式和传输协议。FC-2帧协议,定义了传输机制,包括帧定位、帧头内容、使用规则以及流量控制。FC-3通用服务。FC-4(ULP映射。 FC标准 ◎FC-AL(Fibre Channel Arbitrated Loop):定义了光纤通常架构所需要的必要条件,此架构是建立在廉价、分布式、易扩展的拓扑结构上的。仲裁环(Arbitrated Loop)是一个共享的光纤通道传输。 ◎FC-SW(FC Switch Faric and Switch Control Requirements):定义了构建基于交换式拓扑的光纤交换网络络所需要的必要条件。 FC帧结构 ?FC的三种主要拓扑结构 ?点对点连接 FC这种点对点的连接架构,虽然也算是SAN的一种,但是实质上属于直接连接存储(DAS),只不过把SCSC或IDE换成了Fibre Channel而已。在典型的点对点连接配置中发送端口与接收端口之间的最大距离可达500米。 31 图一 点对点的架构 在上图中是一个最基本、最简单的点对点架构。 ?FC仲裁环连接(FC Arbitrated Loop,FC-AL) FC-AL拓扑结构,在环路中的任何设备以仲裁的方式进行设备间的通信。当环路中的2个设备之间通信时,其他设备无法进行通信。在一个由单一环路连接而成的光纤通道仲裁环路中,如果某个节点或设备失效,将会引起整个环路的失效。 图二 FC-AL架构 仲裁环光纤通道连接方式具有以下几个特点: ◎每个节点的TX端口连接到邻近节点的RX端口,直到形成闭环为止。 ◎不是令牌传输方案,不限制设备保留控制的时间。 ◎操作顺序为环路控制仲裁?打开到目标设备的通道?传送数据?关闭。 ◎环路上的节点数直接影响性能。 在Arbitrated Loop中,第一个NL_Port的传送端连接到第二个NL_Port的接收端口,第二个NL_Port的传送端再连接到下一个NL_Port的接收端,依次类推,一直到最后一个 32 NL_Port的传送端连接到第一个NL_Port的接收端。如此便形成一个封闭的回路。 ?交换结构(Switch Fabric) 图三 Switch Fabric 交换拓扑结构的主要特点如下: ◎每个端口独占带宽,但成本高。 ◎添加新设备可以增加总的带宽。 ◎支持分区功能。 FC-SW标准的寻址模式,把24位的地址分为3个部分:最高的8位作为Domain Address(域地址),中间的8bit作为Area Address(区域地址),最低的8位作为Port Address(端口地址)。由于Domain Address中有许多是保留的,实际可用的数目为236个,因此一个Fabric中最多可以有236个交换机连接在一起; ?光纤通道设备 ◎光纤通道端口类型 由上面的SAN网络的三种拓扑结构中可知:在不同的连接中所采用的端口并不一样。在点对点连接方式中,网络设备需提供N_Port;而在Arbitrated Loop连接方式中,设备需要提供NL_Port;在交换连接方式中,网络设备需要提供N_Port,而光纤交换机则需要提供F_Port。 ◎HBA卡 33 ◎Fibre Channel Switch 34 服务器学习笔记(十):数据备份与容灾 数据备份就是将数据以某种方式复制一份予以保留,以便在系统遭受破坏或数据丢失的情况下,重新加以恢复的一个过程。 造成网络数据损坏的原因主要有以下几个方面:?自然灾害造成计算机系统的破坏,导致存储数据被破坏或丢失;?计算机设备故障,其中包括存储介质的老化、失效;?系统管理员及维护人员的误操作;?病毒感染和网络攻击造成数据损坏。?差分备份(Differential Backup)是每次备份的数据是在上一次全备份之后增加的和修改过的数据。 三种主要的数据备份方式:?全备份(Full Backup),全备份就是对整个服务器系统进行备份,包括服务器操作系统和应用程序生成的数据。这种备份方式的特点是备份的数据最全面、最完整。这种备份可以恢复全部的数据。不足之处是备份时间长使用的备份介质多,成本高。?增量备份(Incremental Backup)。增量备份指每次备份的数据只是在上一次备份后增加的和修改过的数据。这种备份的优点是:没有重复的备份数据,节省磁带空间,缩短了备份时间。 数据备份活动组成 数据备份看似只是一项简单加、卸载存储媒体的工作,其实是一个系统工程。?备份设备。常见的备份设备是磁带机、磁带库;?存储媒体。存储媒体是数据备份存储的载体,它不仅直接决定了数据备份活动的性能,而且还关系着备份数据的可用性和安全性。?控制备份的软件。一般来说,操作系统都会带有备份功能,但为了达到更好的备份效果、最好使用专门的备份软件,如Veritas Backup Exec等。?备份策略。备份策略是按照用户的需求来确定的,取决于用户要备份的数据量、备份数据要保留多久、何时可以备份、能承受的备份时间等。 一、常见的数据备份设备 ?磁盘阵列 ?磁带机 磁带机是我们常用的数据备份设备,按加载方式可分为人工加载磁带机和自动加载磁带机两大类。自动加载机可以在一盘磁带存储满后,自动卸载原有磁带,并加载新的磁带,适合备份数据量较大的大、中型企业。 ?磁带库 磁带库不仅数据存储容量大,而且在备份效率和人工占用方面拥有无可以比拟的优势。它可以实现连续备份、自动搜索磁带,也可以在驱动管理软件控制下实现智能恢复、实时监控和统计,整个数据存储备份过程完全摆脱了人工干涉。 二、磁带技术 由于磁带的高容量和低成本,它作为备份存储的地位仍是无法替代,在服务器数据备份中仍然用到磁带技术。磁带技术包括三个主要方面:磁带格式技术、磁带驱动技术和磁带介质技术。 ?磁带格式技术 目前磁带市场中的主流磁带格式技术有DDS(Digital Data Storage,数字数据存储,也称为:DAT,Digital Audio Tape)、DLT(Digital Linear Tape,数字线型磁带技术,DEC公司技术)、AIT(Advanced Intelligent Tape,高级智能磁带,Sony的技术)、LTO(Linear Tape 35 Open,开放性线型磁带,由HP、IBM、Seagate三家厂商在1997年11月联合制定的)及它们的升级版本SDLT和SAIT等,它们都属于开放性磁带格式技术,除此之外,还有ADR(Advanced Digital Recording,高级数字记录技术,由Philips公司开发)、8mm mammoth(由Exabyte公司在1987年开发)、SLR(Scale Linear Recording,比例线性记录,Tandberg(腾保)公司技术)和VXA(由Exabyte公司主导)等。(互联网参考资源:《磁带格式技术》 ?磁带驱动技术 除了磁带格式技术外,磁带驱动技术和磁带介质技术也决定了磁带机备份存储的整体性能。两种主要磁带驱动技术:螺旋扫描技术和线性记录技术。LTO(Linear Tape Open) 技术是一种结合了线性多通道双向磁带格式的磁带存储技术,它代表了磁带技术的发展方向。 ?磁带介质技术 在磁带规格上,磁带产品可以分为4mm、8mm、1/4英寸和1/2英寸。磁带按介质大致可以分为MP、AME、DAT和DLT等。 二、存储容灾 容灾,简单地说就是尽量减少或避免因灾难的发生而造成的损失。它是一个系统工程,备份与恢复就是这一系统工程的两个重要组成部分。容灾根据不同实际需求可以有不同的等级,适合于不同的企业选用。中小企业通常只需采用本地容灾即可。所谓本地容灾就是在企业网络本地进行的容灾措施,其中包括本地备份、存储、保管备份媒体。在一些大中弄企业,所采取的容灾级别就高些,称之为“异地容灾”或远程容灾。异地容灾就是采取异地存储备份,异地保管存储媒体等方式,这样就可以避免因本地灾难发生而引起的数据丢失。 36 服务器学习笔记(十一):Linux第一篇,从Shell开始学起~ 早期,服务器的数量比较少,都是高端应用,服务器操作系统使用的是Unix,再后来,也就是1991年,芬兰的一个大学生摹仿Unix开发了一个类Unix系统:Linux。对于想学习Unix的人来说,如果刚开始没有机会能接触Unix,那还是先在PC机上学习Linux,Linux上的许多命令可以直接在Unix上运行。它的可移植性都非常好。 我早在2002年,开始接触到了Red hat Linux 7.2。那个时候,我刚刚组装了一台计算机,对所有的计算机相关方面的技术都十分感兴趣,每天尽可能地尝试使用一些新的软件。当知道除Windows外还其它的操作系统时,就非常好奇,希望能够试用,一次机会买了Red Hat Linux 7.2安装光盘。之后,随着对Linux的了解,也试用了更多的Linux发行版,但是对于字符界面的操作(Linux命令,Shell命令)却不多。配置服务器版的Linux通常通常是在字符模式下,Linux的命令行才彰显了它的强大功能~最近把工作指向了HP服务器,得学HP-UX操作系统,现在还没有见到HP-UX呢,就拿Linux先练练手吧。主要是Shell命令行与Shell脚本~ 再重新认识Shell Shell是提供操作系统内核(Kernel)与用户之间交互的特殊程序,Shell是从用户登录就开始运行的实用程序,它允许用户通过Shell命令行或脚本的方式输入命令,并通过翻译这些命令完成用户与Kernel的交互。简单地说:Shell就是用户与Linux Kernel之间交互的接口,用户通过Shell操控Kernel,进行系统管理。 Shell的一个主要用途是翻译提示符后的命令。Shell的另一个重要功能是通过设置Shell初始化文件,使用户的工作环境个性化。这些文件包括终端键盘设备和窗口字符的定义,设置终端类型、权限、提示及搜索路径变量的值。Shell也可以作为解释型的程序语言,Shell程序也称为脚本,由文件中的命令组成,在编辑器或在命令行中创建,这些命令通过程序结构组织在一起,这些结构包括:变量赋值、环境检测、循环等等。 Bourne Shell是UNIX下的标准Shell。Bourne Again Shell(bash)是Linux下非常流行的Shell,查看文件/etc/shell(在做这个笔记时,我使用的是Redflag linux,文件名是/etc/shells),可以得知我们所使用的Linux版本可以运行哪个Shell。如下: 意外收获:不知道Bourne的中文意思是什么?为什么称为Bourne Shell,或Bourne Again Shell(bash)?经常查找资料得知Bourne Shell是以它的作者Stephon Bourne的名字命名的,而bash(Bourne Again Shell)是别人在Bourne Shell基础上开发并用到Linux上的。 /bin/shell文件包含了我们所使用的Linux版本下可以运行的Shell程序的列表,chsh命令可以在不同的Shell中进行切换,如:chsh /bin/tcsh,切换到TC Shell。 先来学习几个常用的Shell命令: 37 首先要注意,在Linux和Unix下,每个字母的大写与小是含义是不相同,一定要区分 字母的大小写~ 与进程管理相关的几个命令:ps、pstree、top及kill。 PS:显示进程;pstree:显示进程树;top命令是动态监测Linux进程运行状态;kill 终止一个进程。 uname命令 显示系统版本信息。 Examples(Operating on Fedora): [root@localhost senya]# ps PID TTY TIME CMD 1577 pts/0 00:00:00 su 1582 pts/0 00:00:00 bash 1602 pts/0 00:00:00 ps [root@localhost senya]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 14:55 ? 00:00:03 /sbin/init root 2 0 0 14:55 ? 00:00:00 [kthreadd] root 3 2 0 14:55 ? 00:00:00 [ksoftirqd/0] root 4 2 0 14:55 ? 00:00:00 [kworker/0:0] root 5 2 0 14:55 ? 00:00:00 [kworker/u:0] root 6 2 0 14:55 ? 00:00:00 [migration/0] root 7 2 0 14:55 ? 00:00:00 [watchdog/0] root 8 2 0 14:55 ? 00:00:00 [cpuset] root 9 2 0 14:55 ? 00:00:00 [khelper] root 10 2 0 14:55 ? 00:00:00 [netns] root 11 2 0 14:55 ? 00:00:00 [sync_supers] root 12 2 0 14:55 ? 00:00:00 [bdi-default] root 13 2 0 14:55 ? 00:00:00 [kintegrityd] [root@localhost senya]# top top - 15:22:13 up 26 min, 2 users, load average: 0.22, 0.19, 0.37 Tasks: 125 total, 1 running, 124 sleeping, 0 stopped, 0 zombie Cpu(s): 1.7%us, 1.3%sy, 0.0%ni, 97.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 499528k total, 486864k used, 12664k free, 49340k buffers Swap: 0k total, 0k used, 0k free, 285764k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1065 root 20 0 29320 7688 4360 S 1.7 1.5 0:15.52 Xorg 1531 liveuser 20 0 84000 15m 10m S 1.0 3.2 0:05.39 gnome-terminal 38 1348 liveuser 20 0 375m 45m 20m S 0.7 9.2 0:17.10 gnome-shell 1629 root 20 0 2736 1036 792 R 0.7 0.2 0:00.10 top 1 root 20 0 15248 12m 1760 S 0.0 2.7 0:03.52 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/0 4 root 20 0 0 0 0 S 0.0 0.0 0:00.12 kworker/0:0 5 root 20 0 0 0 0 S 0.0 0.0 0:00.22 kworker/u:0 6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 7 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0 8 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset 9 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 sync_supers 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 bdi-default 13 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd 14 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd 15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kacpid 16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kacpi_notify [root@localhost senya]# uname Linux [root@localhost senya]# uname -a Linux localhost.localdomain 2.6.38.6-26.rc1.fc15.i686 #1 SMP Mon May 9 20:43:14 UTC 2011 i686 i686 i386 GNU/Linux [root@localhost senya]# uname -r 2.6.38.6-26.rc1.fc15.i686 [root@localhost senya]# uname -v #1 SMP Mon May 9 20:43:14 UTC 2011 [root@localhost senya]# uname -m i686 学习Linux shell命令的感觉是:命令多且大多都是缩写,从字面看不好理解它的意 思,如:cp,应该是copy的缩写,ps应该是process的缩写,pwd应该是present working directory的缩写。而且参数繁多,区分大小写。由于Linux shell命令参数多,经常需要查 看这些命令的帮助手册,可以使用man命令查看,如man ls命令用来查看ls命令的帮助 及参数解释。 39 服务器学习笔记(十二):Linux第二篇,学习常用的Shell命令 用户及用户权限管理 Linux是多用户多任务的操作系统,超级管理员的名字为root,在系统中有着最高的权限。通过对用户及及用户权限的管理,可以让不同权限的管理协同工作更好维护、管理好Linux系统。在Linux系统中为每一个用户建立专用的文件夹,创建相关的用户配置文件。除root用户,其它用户的专用目录存储在/home下。与用户管理的常用命令有:useradd、userdel、groupadd、groupdel、passwd等,与用户、用户组相关的配置文件有:/etc/passwd、/etc/group等。 ◎useradd命令新建一个用户 [root@localhost liveuser]# useradd user1 [root@localhost /]# useradd user4 -g Ourusers 新建一个用户帐户并把该用户加入到Ourusers用户组 ◎passwd命令修改用户登录密码 [root@localhost liveuser]# passwd user1 Changing password for user user1. New password: BAD PASSWORD: it is based on a dictionary word 提示输入的密码过于简单 BAD PASSWORD: is too simple Retype new password: passwd: all authentication tokens updated successfully. ◎userdel命令:删除一个用户。 userdel命令直接跟用户名时,该用户的目录不会被删除,当使用-r选项时,把用户帐户删除的同时也会/home下的用户目录文件删除,示例: [root@localhost home]# userdel user6 [root@localhost home]# ls john liveuser tom user5 user6 //user6用户虽然被删除,但是它目录仍然存在 [root@localhost home]# userdel -r tom [root@localhost home]# ls john liveuser user5 user6 //使用-r选项时,用户及其用户主目录也会被删除。 ◎groupadd命令新建一个用户组 [root@localhost /]# groupadd Ourusers ◎两个重要的配置文件:/etc/passwd、/etc/group 40 /etc/passwd存储着用户帐户的信息;、/etc/group存储着用户组的信息。可以直接用vi打开查看或者编辑。 [liveuser@localhost etc]$ vi passwd sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin liveuser:x:500:500:Live System User:/home/liveuser:/bin/bash senya:x:501:501::/home/senya:/bin/bash 以上是/etc/passwd文件的部分内容。 [root@localhost /]# vi /etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon tty:x:5: disk:x:6:root lp:x:7:daemon,lp mem:x:8: kmem:x:9: wheel:x:10:root mail:x:12:mail uucp:x:14:uucp man:x:15: games:x:20: gopher:x:30: video:x:39: dip:x:40: ftp:x:50: lock:x:54: audio:x:63: nobody:x:99: users:x:100: ◎who与id命令 [root@localhost user5]# who liveuser tty7 2011-09-26 11:37 (:0) user6 pts/0 2011-09-26 11:47 (:2) john tty1 2011-09-26 11:42 (:1) user6 tty8 2011-09-26 11:44 (:2) //查看当前登录到系统的用户。 [user6@localhost senya]$ whoami user6 [user6@localhost senya]$ who am i user6 pts/0 2011-09-26 11:47 (:2) //查看本用户的帐户信息 41 [tom@localhost home]$ id uid=502(tom) gid=100(users) groups=100(users) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 //查看当前用户的的 ID及GID。 在多用户系统中,不同的用户对某个文件或目录的访问权限是不一样的。linux系统中 有三种权限:读权限(read,r)、写权限(write,w)和执行权限(execute,x)。 ◎用ls -l(ll就ls -l的alias)命令查看文件权限 [root@localhost liveuser]# ll total 36 drwxr-xr-x. 2 liveuser liveuser 4096 Sep 25 11:11 Desktop drwxr-xr-x. 2 liveuser liveuser 4096 Sep 25 11:11 Documents drwxr-xr-x. 2 liveuser liveuser 4096 Sep 25 11:11 Downloads drwxr-xr-x. 2 liveuser liveuser 4096 Sep 25 11:11 Music -rw-r--r--. 1 root root 29 Sep 25 11:20 myfile1.txt drwxr-xr-x. 2 liveuser liveuser 4096 Sep 25 11:11 Pictures drwxr-xr-x. 2 liveuser liveuser 4096 Sep 25 11:11 Public drwxr-xr-x. 2 liveuser liveuser 4096 Sep 25 11:11 Templates lrwxrwxrwx. 1 root root 13 Sep 25 11:24 user1 -> /var/user1dir drwxr-xr-x. 2 liveuser liveuser 4096 Sep 25 11:11 Videos 在ll命令输出结果中,每一个文件或目录的属于显示一行,文件名称显示在每一行的 最后。每一行的第一个字母表示该文件的类型,d表示是目录文件,-表示是普通文件,l表 示是一个符号链接文件。紧跟着文件的类型符后的九个字符表示文件的访问权限,在这个 九个字符,前三个字符文件所有者的权限,中间三个表示文件所属组的权限,后三个表示 其它用户的权限。 如:-rw-r--r--. 1 root root 29 Sep 25 11:20 myfile1.txt,这个文件的所有者是root, 属于root用户组,root用户对该文件的有读写权限,组内及其它用户有读的权限。 ◎chown命令:更改文件的所有者。 [root@localhost liveuser]# chown liveuser myfile1.txt [root@localhost liveuser]# ll myfile1.txt -rw-r--r--. 1 liveuser root 29 Sep 25 11:20 myfile1.txt 经过chown liveuser操作后 myfile1.txt的所有者由root变成了liveuser。 ◎chgrp命令:更改所在组属性。 [root@localhost liveuser]# chgrp Ourusers myfile1.txt [root@localhost liveuser]# ll myfile1.txt -rw-r--r--. 1 liveuser Ourusers 29 Sep 25 11:20 myfile1.txt ◎chmod修改文件或目录的访问权限。 [user6@localhost senya]$ ll total 4 -rw-r--r--. 1 root root 58 Sep 26 11:54 user6file.txt 42 由ls显示结果看,user6file.txt被root用户所用,组属性也是root,用户所有者root 可以对该文件进行读写操作,root组内的用户及其它(other)用户只有读的权限。使用命令 chmod o-r user6file.txt把文件其它用户的读权限去掉,这样其它用户就不能读取该文件。 [root@localhost senya]# chmod o-r user6file.txt [root@localhost senya]# ll total 4 -rw-r-----. 1 root root 58 Sep 26 11:54 user6file.txt 此时,其它用户用vi编辑器读user6file.txt时,会提示:"user6file.txt" [Permission Denied]。 43 服务器学习笔记(十三):Linux第三篇,文件管理中常用的Shell命令 Linux文件管理 Linux系统中有七种类型的文件:常规文件(regular file)、目录文件(directory)、字符设备文件(character device file)、块设备文件(block device file)、本地域套接字文件(Local domain socket)、命名管道文件(named pipe)、符号链接文件(symbolic file)。使用ls -l命令可以查看文件属性及类型。 ◎mkdir与rmdir 目录创建与删除命令 [liveuser@localhost ~]$ mkdir senya 创建一个名称为senya的目录 [liveuser@localhost ~]$ rmdir senya 删除一个名为senya的空目录 rmdir只能删除一个空目录,当用rmdir试图删除一个非空目录时会出现错误提示: [liveuser@localhost ~]$ cd testdir [liveuser@localhost testdir]$ ls file1 testdir目录下包含一个文件file1 [liveuser@localhost testdir]$ cd .. [liveuser@localhost ~]$ rmdir testdir rmdir: failed to remove `testdir': Directory not empty 试图用rmdir删除非空目录testdir时,提示目录不是空的,而放弃操作。 如果要删除一个非空目录,使用rm -r命令。如下: [liveuser@localhost ~]$ rm -r testdir ◎mv命令:移动、重命名文件 [liveuser@localhost ~]$ mv file1 file2 files 把file1、file2这两个文件移动到files文件夹内。 [liveuser@localhost ~]$ mv -t files file3 把文件file3移动到files文件夹内,-t选项后面跟的是目标文件夹。 [liveuser@localhost ~]$ mv file4 testfile1 把文件file4重命名为testfile1。 ◎cp命令:文件拷贝 [root@localhost liveuser]# cp testfile1 /var/senyafiles 把文件testfile1拷贝到/var/senyafiles目录。 [root@localhost liveuser]# cp -r files /var/senyafiles 把目录files及其下面所有的文件拷贝到/var/senyafiles目录下。 ◎cd命令:切换目录 [root@localhost user5]# cd /mnt/disk1 //由当前目录切换到/mnt/disk1 44 ◎pwd命令,显示当工作目录 [root@localhost user6]# pwd /home/user6 ◎tar命令:归档、备份文件。 [root@localhost etc]# tar -cvf /var/senya/UserInfobk.tar passwd group passwd group [root@localhost etc]# ls /var/senya UserInfobk.tar 上面的例子是把/etc目录下的passwd、group文件打包一个UserInfobk.tar文件,存储在/var/senya目录下。-c选项表示创建一个tar归案文件。 [root@localhost etc]# tar -zcvf /var/senya/userinfobk.tar.gz passwd group passwdgroup [root@localhost etc]# ls /var/senya UserInfobk.tar userinfobk.tar.gz 命令选项-z表示使用gzip对文档进行压缩。 [root@localhost etc]# tar -jcvf /var/senya/UserInfobk.tar.bz2 passwd group passwd group [root@localhost etc]# ls /var/senya UserInfobk.tar UserInfobk.tar.bz2 userinfobk.tar.gz 命令选项-j表示使用bzip2对文档进行压缩。 [root@localhost senya]# tar -zxvf userinfobk.tar.gz passwd group 命令选项-x表示把归案内的文件释放出来。 ◎文件名通配符:*、? *可以匹配任意长度的任意字条;?可以匹配任意一个字条。 [root@localhost senya]# ls *d //显示当前目录所有以d结尾的文件。 passwd [root@localhost senya]# ls *a? //显示当前目录下所有倒数第二个字条为a的文件。 UserInfobk.tar 有关文件与目录管理的命令很多,有些命令还有许多选项,在使用过程要经常使用man获得帮助。 45 服务器学习笔记(十四):Linux第四篇,Shell脚本简单了解 当把Shell用作一种编程语言时,命令和Shell控制结构在文本编辑器中被写入文件,这个文件称为脚本。脚本的命令被Shell逐行读取并执行。这些程序是被解释而不是被编译的。 一个最简单的Hello,World!脚示例:用vi编辑器创建一个文件FirstScript.sh,内容如下: myVar='Hello,World!' echo $myVar [root@localhost senya]# ll total 8 -rw-r-----. 1 root root 33 Sep 26 14:02 FirstScript.sh -rw-r-----. 1 root users 58 Sep 26 11:54 user6file.txt ls命令查看FirstScript.sh脚本的没有执行权限,这时需要用chmod命令修改。 用chmod命令为该文件的所有者添加可执行权限: [root@localhost senya]# chmod u+x FirstScript.sh 再次用ls命令查看FirstScript.sh脚本的属性,这时我们发现它的拥有者已经具备执行权限了。 [root@localhost senya]# ll total 8 -rwxr--r--. 1 root root 33 Sep 26 14:02 FirstScript.sh -rw-r-----. 1 root users 58 Sep 26 11:54 user6file.txt 下面运行这个服本: [root@localhost senya]# ./FirstScript.sh Hello,World! [root@localhost senya]# Linux或UNIX的书籍上说,shell脚本是由shell程序解释翻译后传给Kernel执行的,shell脚本程序是不用编译的。我的理解它有点儿类似于DOS下的批处理或者JavaScrit。(这里只是类比) ◎变量 实际上shell脚本与所有的编程语言一样,shell也允许把值存在在变量中。等号=为变量赋值,如上面示例中myVar='Hello,World!'。需要注意的是shell没有任何数据类型的概念。当向shell变量赋值时,不管值是什么,shell都简单地将它理解为字符串。$+变量名引用变量的值。 ◎三种脚本结构:顺序结构;选择(条件)结构及循环结构。这与其它的程序是相同的。 顺序结构的脚本是按着已有的顺序逐行执行,即从第一行开始到最后一行结束。 ?选择结构,满足某一个件进行跳转。 if list1 then list2 elif list3 then list4 else 46 list5 fi 其中,elif和else语句都是可选的。if语句的执行流程: list1是条件,它被求出值。如果list1退出代码为0,则指出条件为真,计算list2的值并退出if语句,否则,执行list3并检查其退出代码。若list3返回0,执行list4并且退出if 语句;若list3不返回0,执行list5。 示例: echo "What is your name?Please answer:" read Inputname if [ $Inputname = "senya" ];then echo "Hi,senya!" else echo "hello,Other!" .fi 上面示例说明:等键盘输入的字符,并把输入的字符存储在变量Inputname,然后判断输入的是否是senya,如果是则输出Hi,senya!,否则输出hello,Other!。 示例: read Username if [ $Username = "senya" ];then echo "Hello,senya!" elif [ $Username = "Peter" ];then echo "Hi,Peter!" else echo "Who are you?" fi case word in pattern1) list1 ;; pattern2) 47 list2 ;; ... patternN) listN ;; esca case结构中,字符串word与每一个模式pattern进行比较直到找到一个匹配,然后执行跟随在匹配模式pattern后的命令清单。若找不到匹配,case语句不执行任何动作而退出。匹配数量没有上限,但至少要有一个。 示例: echo "Is it morning?Please Input:" read myVar case $myVar in yes)echo "Good Morning!";; no)echo "Good Afternoon!";; y)echo "Good Morning!";; n)echo "Good Afternoon!";; *)echo "What is that?" esac ?循环结构。 while循环 语法: while command do list done command是要执行的单条命令,而lists是要执行的一个或多个命令所组成的集合。do与done是循环的开始与结束标志。command可以是任何有效的Linux命令,但它通常是一个表达式。while循环的执行步骤:?执行command;?若command的退出状态不为零,则从while循环中退出;?若command的退出状态为零,执行list;?当list执行结束,返回第1步。 示例: myVar=1 while [ $myVar -le 10 ] 48 do echo "$myVar" myVar=$(($myVar+1)) done until循环 until command do list done until与while循环非常相似,while循环是当某些条件为真时,执行一个命令集;而 until是直到某个条件为真时执行一个命令集。 示例: myVar=1 until [ $myVar = 10 ] do echo $myVar myVar=$(($myVar+1)) done for循环 基本语法: for name in word1 word2 word3 ... wordN do list done 示例: for myVar in One Two Three Four do echo $myVar done 上面也可可以写成:for name in word1 word2 word3 ... wordN;do list;done 在for循环中name是一个变量名,word1到wordN是被空格分开的字符序列。for循 49 环每次执行时,变量name的值被设为字符序列中的下一下。第一次name被设定为 word1,第二次被设为word2等。这就表明for循环执行的次数依赖于指定的字符数量。 50 服务器学习笔记(十五):Linux第五篇,磁盘管理之为linux系统添加一块新硬盘 在linux系统下安装一块新硬盘的基本步骤: ◎连接硬盘到到计算机(硬件安装); ◎如果需要,格式化硬盘;(通常不做格式化操作。) ◎为硬盘建立分区且添加分区标签; ◎建立文件系统; ◎挂载文件系统; ◎设置文件系统自动挂载; ◎在交换分区设置交换。 以下的操作环境为:VMware workstation 7、Redhat Enterprise Linux 6.1。 在VMware workstation 7环境下为Redhat Enterprise Linux新建一个虚拟硬盘,并启动系统。运行fdisk -l|grep sd命令查找新添加的硬盘: 图一 查找新添加的硬盘 从fdisk -l|grep sd命令的结果中可以看到/dev/sdb,新添加的硬盘。接下来用fdisk命令对新添加的硬盘分区:fdisk /dev/sdb 51 图二 fdisk为新添加的硬盘分区 图三 在Command(m for help):后输入m可以查看fdisk可用的所有命令。n是用来创建一个新的分区。 52 图四 选择要创建分区的类型:主分区或扩展分区 在这个实例中,只对硬盘做一个分区,创建好自己想的分区后,输入w完成最终的分区 图五 图六 再次查看硬盘属性 为硬盘创建完分区后,要建立文件系统,使用mkfs命令,我打算把这个硬盘的分区做ext3类型的文件系统,使用命令:mkfs -t ext3 /dev/sdb1 53 图七 mkfs命令建立文件系统 创建好文件系统后,就可以挂载文件系统并使用了。用mount命令挂载: 图八 挂载文件系统 如果让系统在启动时自动挂载文件系统,可以通过修改/etc/fstab来实现。 通过以上步骤完成了在linux系统中安装一个新硬盘。 54 服务器学习笔记(十六):Linux第六篇,磁盘管理之LVM 本实例的操作环境为:VMware workstation 7、Redhat Enterprise Linux 6.1。 LVM:Logical Volume Manage。逻辑卷的优点是:◎逻辑卷可以跨多个硬盘;◎可以动态地增加、减少逻辑卷大小,管理灵活、方便。 创建一个逻辑卷的基本步骤是:?使用pvcreate命令建立物理卷;?使用vgcreate命令建立卷组;?使用lvcreate命令建立逻辑卷;?为逻辑卷建立文件系统;?挂载逻辑卷文件系统。 在VMware workstation 7中为Redhat Enterprise Linux添加两块硬盘并启动系统,启动后,使用fdisk -l命令查看新添加的硬盘: 图一 由上图可以看到新添加的两块硬盘的设备文件名分别为:/dev/sdb、/dev/sdc。接下来使用pvcreate命令建立物理卷。 图二 pvcreate命令建立物理卷 55 图三 vgcreate命令建立卷组 在上图中,vg01是要创建的卷组的名称。不重新启动系统而想让新创建的卷组生效,需要使用vgchange命令: 图四 vgchange命令 图五 lvcreate命令创建逻辑卷 -L选项后跟着的参数是逻辑卷的容量,默认单位是M,上图中,表示新创建的逻辑卷为2000M,-n选项后跟着的参数是逻辑卷的名称,vg01表示新创建的逻辑卷所在的卷组。我们可以使用与逻辑相关的命令查看逻辑卷相关的信息:lvdisplay,查看逻辑卷信息;vgdisplay,查看卷组信息;pvdisplay查看物理卷信息: 56 图六 lvdisplay 图七 pvdisplay 图八 vgdisplay 57 图九 使用mkfs命令为逻辑卷建立文件系统 图十 挂载逻辑卷文件系统 下面的操作是为一个逻辑卷增加容量: 新添加一块硬盘并创建物理卷,使用vgextend命令把这个物理卷添加到卷组内,然后再使用lvextend命令为一个逻辑卷增加容量: 58 图十一 为一个逻辑卷添加容量 图十二 查看逻辑卷的容量 逻辑卷容量增加后还得使用e2fsck和resize2fs命令(或者fsadm命令),增加容量的逻辑卷才可以使用: 59 图十三 仅是简单地了解了Linux下逻辑卷的一个操作。 60
/
本文档为【服务器学习笔记】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索