认证目标1.02 基本的硬件要求
现在开始详细介绍Red Hat企业版Linux的硬件配置。尽管现在有些制造商继续保留自己的Linux硬件驱动程序,但是大多数Linux硬件支持来自于第三方志愿者的工作。幸运的是,Linux用户形成了一个巨大的社区,其中的许多人为Linux系统开发了驱动程序,并发布在Internet上供大家免费使用。当某个硬件开始流行时,对该硬件的驱动支持肯定会在Internet上的某个地方出现,而且将会被集成到Linux的各个不同版本中,其中包括RHEL。
1.2.1 硬件兼容性
RHEL 7只能安装在64位系统上。幸运的是,当今市场上销售的大多数PC机和服务器都属于64位系统。即使是慢速的Intel i3 CPU也可以运行64位操作系统。在笔记本电脑中甚至使用Intel Atom CPU的64位版本。对于来自Advanced Micro Device(AMD)公司的CPU也有类似的对比。
在为Linux系统购买新机时要小心。虽然Linux在最近几年里已取得很大进展,而且在当今绝大多数的服务器和PC机上安装Linux系统也不会存在问题,但是你还是不要理所当然地认为,Linux可安装在任何计算机上或者在任何系统上都可以完美无瑕地运行。对于目前最新的手提电脑,更不要有这种假设(你要参加Red Hat考试,必须准备一个64位的系统)。手提电脑经常使用专用配置,使得它只有经过逆向工程才能使用Linux。例如,当作者之一在一台2014年生产的名牌手提电脑上安装RHEL 7时,必须做一些额外的工作才能使它的显卡在RHEL 7中正常工作。
服务器或PC机的体系结构决定了系统使用的组件及它们之间的连接方法。换言之,体系结构不仅仅描述了CPU的细节,还包括了对内存、数据路径(如计算机总线)、常规系统设计等其他硬件的标准。所有软件都是针对某个特定计算机体系结构而设计的。
即使某个制造商基于一种CPU平台开发了一个设备,但是它可能在Linux中无法工作。因此,重要的是要知道一个计算机的体系结构。从严格意义上说,如果你想知道自己的硬件是否与Red Hat相兼容或者是否得到Red Hat支持,则要查看https://hardware.redhat.com上的硬件兼容列表。
考试提示
虽然有必要知道Linux与硬件交互的方式,但是Red Hat考试并不属于硬件考试。但为了练习考试内容,你需要安装RHEL 7(或等效版本)。为了配置一个KVM系统(它要求硬件支持的虚拟技术),你需要一个带64位CPU和相关硬件的系统。
1.2.2 体系结构
虽然RHEL 7设计时已考虑到各种不同的体系结构,但是为了参加RHCSA和RHCE考试,你最好还是把重点放在Intel/AMD 64位或x86_64体系结构上。在撰写本书期间,这些考试只能在上述CPU的计算机上进行,因此考生无须担心与体系结构有关的问题,如专用的引导程序或者定制的专用驱动程序。虽然如此,定制的Red Hat可以适用于各个不同的平台。
你可以在各种不同CPU的计算机上安装RHEL 7。Red Hat支持以下3类不同的64位CPU体系结构:
● Intel/AMD64(x86_64)
● IBM PowerR7
● IBM System z
为确定系统的体系结构,要执行以下命令:
# uname -p
如果你打算在RHEL 7上配置虚拟机,则必须选择支持硬件辅助虚拟技术(hardware-assisted virtualization)的系统以及启动硬件辅助虚拟技术的基本输入/输出系统(BIOS)或者通用可扩展固件接口(Universal Extensible Firmware Interface, UEFI)菜单选项。支持硬件辅助虚拟技术的配置文件在/proc/cpuinfo文件中设置vmx(Intel)或svm(AMD)标志。
实际经验
如果你无法确定自己的系统属于哪个体系结构,可在供应商网站上查看处理器规格,检查处理器是否有支持硬件辅助虚拟技术的扩展。
1.2.3 内存要求
虽然在较小的内存里也能运行RHEL 7,但是RAM内存要求是由Red Hat安装程序的需要来确定的。对于基本的基于Intel/AMD的64位体系结构,Red Hat官方要求1GB的内存,不过在最小512MB的内存中,也可以运行图形化的安装程序。
当然,实际内存需要取决于在系统上可能同时运行每个程序的负荷。这包括了任何可能运行在物理RHEL 7系统上的虚拟机所需要的内存。实际上不可能使用最大内存,因为理论上在RHEL 7里可以配置64TB的内存,但是这只是理论上而已。对于基于Intel/AMD的64位系统,RHEL 7所支持的最大内存是3TB, RHEL 7.1将其增加为6TB。
实际经验
如果你把Linux配置为服务器,则随着需要同时运行的应用程序数量的增长,内存需求也随之增加。在同一个系统上运行几个不同的虚拟机,情况也是如此。然而在配置了不同功能的虚拟机上,系统管理员通常会超额分配内存。虚拟机也可能以透明的方式共享内存页,以进一步提高效率。
1.2.4 硬盘选项
在计算机加载Linux之前,BIOS或UEFI必须能够识别硬盘上的活动主分区,这个分区应该保存Linux引导文件。这样,BIOS或UEFI才可以配置并初始化这个硬盘,然后加载活动主分区上的Linux引导文件。有关硬盘和Linux,你必须知道以下事实:
● 当今的计算机上可安装的硬盘数量已经增加。在商用硬件上,很容易在一个系统上配置16个或24个串行高级技术附件(Serial Advanced Technology Attachment, SATA)或串行连接SCSI(Serial Attached SCSI, SAS)内置硬盘。
● 当硬盘超过2TB时,需要使用UEFI固件和GPT分区的硬盘来引导。UEFI是一种固件接口,用于取代传统的BIOS,如今在市场上的许多PC机中可以看到。GUID分区表(GUID Partition Table, GPT)是一种分区格式,支持超过2TB的硬盘,但是需要使用UEFI固件(而不是传统的BIOS固件)来从这种设备中引导。
● 可在存储区域网络(Storage Area Network, SAN)卷上安装RHEL 7。RHEL 7支持超过10000个多路径设备。
1.2.5 网络连接
由于最初将Linux设计为Unix的克隆,因此它保留了Unix作为网络操作系统的优点。但是并非每个网络组件都适用于Linux系统。许多无线网络设备的制造商并没有推出相应的Linux驱动程序。很多时候,Linux开发人员努力开发出合适的驱动程序并把它们嵌入到主要版本里,包括RHEL。
1.2.6 虚拟机选项
正如虚拟技术使我们更容易建立多个系统,它也同样可以帮助我们配置很多个系统,每个系统专用于某个服务。为此,虚拟技术可以分为几个类别。一些解决方案可能属于多个类别。例如,VMware ESXi是基于超级监视程序的裸机虚拟技术解决方案,它支持硬件辅助虚拟技术,并提供了可选的准虚拟驱动程序,可安装到guest OS上。
● 应用层(Application-level)与VM层 诸如WINE(Wine Is Not an Emulator)的系统支持单个应用程序的安装。此时WINE允许在Linux系统中安装专为微软Windows设计的程序。另一方面,VM层虚拟技术模拟了许多完整的计算机系统,可安装不同的guest OS。
● 托管型与裸机超级监视程序 VMware Player和VirtualBox等应用程序是托管型超级监视程序,因为它们运行在传统的操作系统上,例如Microsoft Windows 8。与之相反,裸机虚拟技术系统(例如VMware ESXi和Citrix XenServer)包含一个虚拟机操作专用的最小操作系统。
● 准虚拟技术(Paravirtualization)与全虚拟技术 全虚拟技术允许guest OS不做修改地运行在超级监视程序上,而准虚拟技术要求在guest OS中安装专门的驱动程序。
配置RHEL 7的KVM解决方案被称为超级监视程序,即一个支持在同一个CPU上同时运行多个操作系统的VM监视器。KVM替代了RHEL 5的默认设置Xen。
实际经验
在很多开源的Linux版本里,KVM已取代了Xen。XenServer属于Citrix公司。
另一种吸引了大量关注的虚拟技术是Linux容器,例如Red Hat Enterprise Linux Atomic Host项目提供的Linux容器。这种解决方案不是基于超级监视程序,而是依赖于Linux内核中的进程和文件系统隔离技术(即cgroups和名称空间),在同一个物理主机上运行多个相互隔离的Linux系统。