Red Hat Enterprise Linux 6.4网络操作系统详解
上QQ阅读APP看书,第一时间看更新

1.1 任务1 认识Linux操作系统

1.1.1 子任务1 认识Linux的历史与现状

1.Linux系统的历史

图1-1 Linux的标志Tux

Linux系统是一个类似UNIX的操作系统,Linux系统是UNIX在计算机上的完整实现,它的标志是一个名为Tux的可爱的小企鹅,如图1-1所示。UNIX操作系统是1969年由K.Thompson和D.M.Richie在美国贝尔实验室开发的一个操作系统。由于良好而稳定的性能,其迅速在计算机中得到广泛的应用,在随后的几十年中又做了不断的改进。

1990年,芬兰人Linus Torvalds接触了为教学而设计的Minix系统后,开始着手研究编写一个开放的与Minix系统兼容的操作系统。1991年10月5日,Linus Torvalds在赫尔辛基技术大学的一台FTP服务器上发布了一个消息,这也标志着Linux系统的诞生。Linus Torvalds公布了第一个Linux的内核版本0.02版。在最开始时,Linus Torvalds的兴趣在于了解操作系统运行原理,因此Linux早期的版本并没有考虑最终用户的使用,只是提供了最核心的框架,使得Linux编程人员可以享受编制内核的乐趣,但这样也保证了Linux系统内核的强大与稳定。Internet的兴起,使得Linux系统也能十分迅速地发展,很快就有许多程序员加入了Linux系统的编写行列之中。

随着编程小组的扩大和完整的操作系统基础软件的出现,Linux开发人员认识到,Linux已经逐渐变成一个成熟的操作系统。1992年3月,内核1.0版本的推出,标志着Linux第一个正式版本的诞生。这时能在Linux上运行的软件已经十分广泛了,从编译器到网络软件以及X-Window都有。现在,Linux凭借优秀的设计、不凡的性能,加上IBM、Intel、AMD、Dell、Oracle、Sybase等国际知名企业的大力支持,市场份额逐步扩大,逐渐成为主流操作系统之一。

2.Linux的版权问题

图1-2 GNU的标志角马

Linux是基于Copyleft(无版权)的软件模式进行发布的,其实Copyleft是与Copyright(版权所有)相对立的新名称,它是GNU项目制定的通用公共许可证(General Public License, GPL)。GNU项目是由Richard Stallman于1984年提出的,他建立了自由软件基金会(FSF)并提出GNU计划的目的是开发一个完全自由的、与UNIX类似但功能更强大的操作系统,以便为所有的计算机使用者提供一个功能齐全、性能良好的基本系统,它的标志是角马,如图1-2所示。

GPL是由自由软件基金会发行的用于计算机软件的协议证书,使用证书的软件称为自由软件,后来改名为开放源代码软件(Open Source Software)。大多数的GNU程序和超过半数的自由软件都使用它,GPL保证任何人都有权使用、复制和修改该软件。任何人都有权取得、修改和重新发布自由软件的源代码,并且规定在不增加附加费用的条件下可以得到自由软件的源代码。同时还规定自由软件的衍生作品必须以GPL作为它重新发布的许可协议。Copyleft软件的组成非常透明化,这样当出现问题时,就可以准确地查明故障原因,及时采取相应对策,同时用户不用再担心有“后门”的威胁。

小资料:GNU这个名字使用了有趣的递归缩写,它是“GNU's Not UNIX”的缩写形式。由于递归缩写是一种在全称中递归引用它自身的缩写,因此无法精确地解释出它的真正全称。

3.Linux系统的特点

Linux操作系统作为一个免费、自由、开放的操作系统,它的发展势不可挡,它拥有如下所述的一些特点。

(1)完全免费。由于Linux遵循通用公共许可证GPL,因此任何人都有使用、复制和修改Linux的自由,可以放心地使用Linux而不必担心成为“盗版”用户。

(2)高效安全稳定。UNIX操作系统的稳定性是众所周知的,Linux继承了UNIX核心的设计思想,具有执行效率高、安全性高和稳定性好的特点。Linux系统的连续运行时间通常以年作单位,能连续运行3年以上的Linux服务器并不少见。

(3)支持多种硬件平台。Linux能在笔记本电脑、PC、工作站甚至大型机上运行,并能在x86、MIPS、PowerPC、SPARC、Alpha等主流的体系结构上运行,可以说Linux是目前支持硬件平台最多的操作系统。

(4)友好的用户界面。Linux提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标方便、直观和快捷地进行操作。经过多年的发展,Linux的图形界面技术已经非常成熟,其强大的功能和灵活的配置界面让一向以用户界面友好著称的Windows也黯然失色。

(5)强大的网络功能。网络就是Linux的生命,完善的网络支持是Linux与生俱来的能力,所以Linux在通信和网络功能方面优于其他操作系统,其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些网络特性的灵活性。

(6)支持多任务、多用户。Linux是多任务、多用户的操作系统,可以支持多个使用者同时使用并共享系统的磁盘、外设、处理器等系统资源。Linux的保护机制使每个应用程序和用户互不干扰,一个任务崩溃,其他任务仍然照常运行。

1.1.2 子任务2 理解Linux的体系结构

Linux一般有3个主要部分:内核(Kernel)、命令解释层(shell或其他操作环境)、实用工具。

1.Linux内核

内核是系统的心脏,是运行程序和管理磁盘及打印机等硬件设备的核心程序。操作环境向用户提供一个操作界面,它从用户那里接受命令,并且把命令送给内核去执行。由于内核提供的都是操作系统最基本的功能,如果内核发生问题,整个计算机系统就可能会崩溃。

Linux内核的源代码主要用C语言编写,只有部分与驱动相关的用汇编语言(Assembly Language)编写。Linux内核采用模块化的结构,其主要模块包括存储管理、CPU和进程管理、文件系统管理、设备管理和驱动、网络通信以及系统的引导、系统调用等。Linux内核的源代码通常安装在/usr/src目录,可供用户查看和修改。

当Linux安装完毕之后,一个通用的内核就被安装到计算机中。这个通用内核能满足绝大部分用户的需求,但也正因为内核的这种普遍适用性使得很多对具体的某一台计算机来说可能并不需要的内核程序(如一些硬件驱动程序)将被安装并运行。Linux允许用户根据自己机器的实际配置定制Linux的内核,从而有效地简化Linux内核,提高系统启动速度,并释放更多的内存资源。

在Linus Torvalds领导的内核开发小组的不懈努力下,Linux内核的更新速度非常快。用户在安装Linux后可以下载最新版本的Linux内核,进行内核编译后升级计算机的内核,就可以使用到内核最新的功能。由于内核定制和升级的成败关系到整个计算机系统能否正常运行,因此用户对此必须非常谨慎。

2.命令解释层

shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,并且把它送入内核去执行。

操作环境在操作系统内核与用户之间提供操作界面,它可以描述为一个解释器。操作系统对用户输入的命令进行解释,再将其发送到内核。Linux存在几种操作环境,分别是:桌面(desktop)、窗口管理器(window manager)和命令行shell(command line shell)。Linux系统中的每个用户都可以拥有自己的用户操作界面,根据自己的要求进行定制。

shell是一个命令解释器,它解释由用户输入的命令,并且把它们送到内核。不仅如此,shell还有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。shell编程语言具有普通编程语言的很多特点,如它也有循环结构和分支控制结构等,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。

同Linux本身一样,shell也有多种不同的版本。目前,主要有下列版本的shell。

• Bourne Shell:贝尔实验室开发的版本。

• BASH:GNU的Bourne Again Shell,是GNU操作系统上默认的shell。

• Korn Shell:对Bourne Shell的发展,在大部分情况下与Bourne Shell兼容。

• C Shell:SUN公司Shell的BSD版本。

shell不仅是一种交互式命令解释程序,而且还是一种程序设计语言,它跟MS-DOS中的批处理命令类似,但比批处理命令功能强大。在shell脚本程序中可以定义和使用变量,进行参数传递、流程控制、函数调用等。

shell脚本程序是解释型的,也就是说shell脚本程序不需要进行编译,就能直接逐条解释,逐条执行脚本程序的源语句。shell脚本程序的处理对象只能是文件、字符串或者命令语句,而不像其他的高级语言有丰富的数据类型和数据结构。

作为命令行操作界面的替代选择,Linux还提供了像Microsoft Windows那样的可视化界面——X-Window的图形用户界面(GUI)。它提供了很多窗口管理器,其操作就像Windows一样,有窗口、图标和菜单,所有的管理都通过鼠标控制。现在比较流行的窗口管理器是KDE和GNOME(其中GNOME是Red Hat Linux默认使用的界面),两种桌面都能够免费获得。

3.实用工具

标准的Linux系统都有一套叫作实用工具的程序,它们是专门的程序,如编辑器、执行标准的计算操作等。用户也可以产生自己的工具。

实用工具可分为以下3类。

• 编辑器:用于编辑文件。

• 过滤器:用于接收数据并过滤数据。

• 交互程序:允许用户发送信息或接收来自其他用户的信息。

Linux的编辑器主要有:Ed、Ex、Vi、vim和Emacs。Ed和Ex是行编辑器,Vi、vim和Emacs是全屏幕编辑器。

Linux的过滤器(Filter)读取用户文件或其他设备输入数据。检查和处理数据,然后输出结果。从这个意义上说,过滤器过滤了经过它们的数据。Linux有不同类型的过滤器,一些过滤器用行编辑命令输出一个被编辑的文件;另外一些过滤器是按模式寻找文件并以这种模式输出部分数据;还有一些执行字处理操作,检测一个文件中的格式,输出一个格式化的文件。过滤器的输入可以是一个文件,也可以是用户从键盘键入的数据,还可以是另一个过滤器的输出。过滤器可以相互连接,因此,一个过滤器的输出可能是另一个过滤器的输入。在有些情况下,用户可以编写自己的过滤器程序。

交互程序是用户与机器的信息接口。Linux是一个多用户系统,它必须和所有用户保持联系。信息可以由系统上的不同用户发送或接收。信息的发送方式有两种:一种方式是与其他用户一对一地链接进行对话;另一种方式是一个用户对多个用户同时链接进行通信,即所谓广播式通信。

1.1.3 子任务3 认识Linux的版本

Linux的版本分为内核版本和发行版本两种。

1.内核版本

内核是系统的心脏,是运行程序和管理磁盘及打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。例如,程序本身不需要了解用户的主板芯片集或磁盘控制器的细节就能在高层次上读写磁盘。

内核的开发和规范一直由Linus领导的开发小组控制着,版本也是唯一的。开发小组每隔一段时间公布新的版本或其修订版,从1991年10月Linus向世界公开发布的内核0.0.2版本(0.0.1版本功能相当简陋所以没有公开发布)到目前最新的内核2.6.24版本,Linux的功能越来越强大。

Linux内核的版本号命名是有一定规则的,版本号的格式通常为“主版本号.次版本号.修正号”。主版本号和次版本号标志着重要的功能变动,修正号表示较小的功能变更。以2.6.12版本为例,2代表主版本号,6代表次版本号,12代表修正号。其中次版本号还有特定的意义:如果是偶数数字,就表示该内核是一个可放心使用的稳定版;如果是奇数数字,则表示该内核加入了某些测试的新功能,是一个内部可能存在着BUG的测试版。如2.5.74表示是一个测试版的内核,2.6.12表示是一个稳定版的内核。读者可以到Linux内核官方网站http://www.kernel.org/下载最新的内核代码。

2.发行版本

仅有内核而没有应用软件的操作系统是无法使用的,所以许多公司或社团将内核、源代码及相关的应用程序组织构成一个完整的操作系统,让一般的用户可以简便地安装和使用Linux,这就是所谓的发行版本(Distribution),一般谈论的Linux系统便是针对这些发行版本的。目前各种发行版本超过300种,它们的发行版本号各不相同,使用的内核版本号也可能不一样,现在最流行的套件有Red Hat(红帽子)、SUSE、Ubuntu、红旗Linux等。

1)Red Hat Linux

网址:http://www.redhat.com

Red Hat是目前最成功的商业Linux套件发布商。它从1999年在美国纳斯达克上市以来,发展良好,目前已经成为Linux商界事实上的龙头。一直以来,Red Hat Linux就以安装最简单、适合初级用户使用著称,目前它旗下的Linux包括了两种版本,一种是个人版本的Fedora(由Red Hat公司赞助,并且由社区维护和驱动,Red Hat并不提供技术支持);另一种是商业版的Red Hat Enterprise Linux,最新版本为Red Hat Enterprise Linux 6。

2)SUSE Linux Enterprise。

网址:http://www.novell.com/linux

SUSE是欧洲最流行的Linux发行套件,它在软件国际化上做出过不小的贡献。现在SUSE已经被Novell收购,发展势头很好。不过,与红帽子相比,它并不太适合初级用户使用。

3)Ubuntu

网址:http://www.ubuntu.org.cn/

Ubuntu是Linux发行版本中的后起之秀,它具备吸引个人用户的众多特性:简单易用的操作方式、漂亮的桌面、众多的硬件支持……它已经成为Linux界一颗耀眼的明星。

4)红旗Linux

网址:http://www.redflag-linux.com/

红旗Linux是国内比较成熟的一款Linux发行套件,它的界面十分美观,操作起来也十分简单,仿Windows的操作界面让用户使用起来更感亲切。

1.1.4 Red Hat Enterprise Linux 6的新特性

红帽企业版Linux 6.4的正式版已于2013年2月发布。红帽企业Linux操作系统丰富的特性源自包括红帽工程师、合作伙伴、用户以及开源社区在内的众多人员的努力。凭借通过强大的生态系统实现的创新能力,红帽企业Linux 6.4操作系统能为用户提供由红帽屡获殊荣的全球支持团队所支持的成熟稳定的技术。

红帽企业Linux操作系统继续强化着在混合应用环境中领先操作系统的地位,用户希望通过创建物理、虚拟和云环境中通用的标准化基础架构来达到同时具备持续性、稳定性和灵活性的目的,其特性就包括了安全硬盘删除和虚拟客户端的实时卷标重新分区等。同时,还对关键功能进行了整合,诸如安全性和存储资源管理,包括云和虚拟化在内的新一代体系结构。

对于这款红帽企业Linux的升级版本,红帽利用硬件OEM最新的技术对其进行了改进,包括更新了多个外围设备的设备驱动器,还有很多诸如针对英特尔至强E5处理器家族的编译器优化等改进。

红帽企业Linux 6.4操作系统还包含了很多最新的功能,特别是提供了研发人员工具、虚拟化、安全性、扩展性、文件系统和存储等领域的功能。以下着重介绍的就是红帽企业Linux 6.4操作系统的部分最新特性。

1.研发人员工具

除了红帽企业Linux 6中所支持的OpenJDK6外,最新推出的OpenJDK7可以帮助用户运行红帽企业Linux 6.4来开发和测试开源Java的最新版本。除此之外,其他的功能还包括红帽企业Linux工具组(升级的GCC)、性能优化、线程编译和NUMA。

2.虚拟化

红帽企业Linux 6.4操作系统有助于虚拟化环境的顺利迁移。在最新的Virt-P2V工具的帮助下,可以轻松地将物理硬件上运行的红帽企业Linux或者微软Windows系统转换到KVM虚拟客户机上运行。这个版本部署了更加强大的机制来保护与虚拟机相关的数据,并对安全擦除虚拟硬盘映像的方法进行了改进,可以使用户的操作更加安全且符合支付卡行业数据安全标准(简称PCI-DSS)的规定。

3.安全性

用户目前可以使用双因素验证来安全访问他们的红帽企业Linux环境。这种类型的验证机制比简单基于密码验证的方式更加安全。双因素验证已经被企业级环境所接受,也经常被作为行业标准使用。红帽企业Linux 6.4操作系统还包括了高级加密功能,这样数据块就能利用底层多处理器功能进行并行加密。用于OpenSSH的AES-CTR(高级加密标准计数器模式)密码的推出可以支持这些功能。AES-CTR非常适用于高速网络环境。

4.可扩展性

红帽企业Linux 6.4继续试探操作系统平台扩展能力的底线,将每个虚假客户机的虚拟CPU(VCPU)的最大数量从64个增加到160个,相比VMwareESX5.0每个虚拟客户机仅限32个VCPU来说要高了很多。KVM虚拟机可支持的内存配置最大容量也从512GB增加到了2TB。

5.文件系统

文件系统的改进包括FUSE(用户领域的文件系统)支持的O_DIRECT,当其激活后,所有的FUSE读写都可以绕过服务器缓存直接进入存储。这种特性还可以通过对特定使用案例的多存储带来更加持续的响应时间和对数据更可预测的访问,包括数据库写入和重复数据删除。目前的GFS2(共享存储文件系统)较之前的版本,读写硬盘数据的速度都要快了很多。除此之外,GFS2文件系统检查功能还可以用于检查上一代版本GFS1文件系统的完整性。

6.存储

逻辑卷管理器(LVM)目前可以为RAID 4.5和RAID 6提供支持,通过加强所有的管理功能(比如创建和调整卷大小、配置RAID和对单个界面进行快照)来简化整体的存储管理。目前可以将红帽企业Linux 6作为基于FCoE的存储目标服务器进行配置,保持本地光纤通道的可靠性和性能在较高水平上,同时还能大幅度降低成本。这种特性为红帽企业Linux 6.4的FCoE Initiator支持提供补充。

7.订阅管理

凭借红帽企业Linux 6.4,用户可以默认使用红帽订阅管理(SAM),这是一种加强型订阅管理能力,使用X.509证书来帮助用户有效地管理本地订阅。用户可以使用红帽订阅管理器在红帽屡获殊荣的客户门户或者红帽企业Linux SAM实例上注册他们的系统。红帽企业Linux版本的RHN传统订阅管理的用户可以继续使用这种传统方式或者迁移到红帽订阅管理。