1.3 拥有你自己的IBM小型机
看过了前面的介绍,你也许跃跃欲试,想马上动手开始学习小型及相关的技术。实验是最好的学习方法,但可以接触到小型机的机会并不很多,特别是对于初学者,有什么办法呢?为什么不像学习PC一样自己攒出一台小型机?其实小型机并没有什么特别之处,无论是大型机、小型机还是微机,都由CPU(中央处理器)、内存、总线、IO接口卡(有一些外部设备被安装到了计算机机箱内部,因此被称为主板集成或直联设备)、外设等几部分组成,当你把这些部件组合到一起后,就构成了一台完整的计算机。
1.CPU
CPU是任何计算机的核心,用于提供数据处理。pSeries的核心是POWER系列CPU,是一种IBM自己研发、生产的高性能处理器。
2.内存
内存用于临时存储CPU将要处理的数据,当机器下电以后,内存中的数据就会丢失。因此如果数据很重要,那么要在机器运行的时候,将数据通过网络发送出去,要保存到磁盘永久储存。
3.IO卡
IO卡连通IO设备与CPU、内存或其他系统,实现数据交换,有一些IO卡上有内置的处理器,能够对数据进行进一步处理,分担CPU的负荷。IO卡有网络卡、串口卡、FC(光纤通道)卡、SCSI卡等。
4.系统总线/板
系统总线用于安置和互联CPU、内存与IO控制器。在pSeries服务器中,系统总线电路及控制芯片所在的电路板通常被称做System Planar(系统板)。
5.IO总线/板
由于服务器的IO吞吐量很大,因此需要特别的IO通信设计,以便满足不同IO设备之间及IO设备与CPU、内存之间进行数据交换的要求。这些交换电路被称为IO总线,而电路和处理芯片所在的电路板被称为IO Planar(IO板)。
6.IO外设
有CD-ROM、磁带机、磁盘阵列等很多种,用于储存、输入、输出数据。
1.3.1 攒小型机的原材料
In the beginning, the world was void and empty…
(在世界之初,一切都一无所有)
——圣经
进入小型机世界,开始“玩/攒”小型机,首先要准备一些基本工具,了解必要的技术,而且还要找到恰当的渠道。小型机不同于PC,市场上有现成的零配件,等你去抓货。寻找小型机的部件更像逛古玩市场,是在“寻宝”而不是在买东西。小型机所用的标准实在是太多了,不“懂行”可不行!各种不同接口、型号之间的互联互通性很差,所以心中要有很清晰的概念,以确保各种配件都能如你所需,为你所用。DIY需要材料、工具和技术,无论是攒小型机还是PC都是如此,而攒小型机则更复杂一些,这也许是小型机能卖那么高价的原因之一?!如前面介绍,小型机有很多种,由于本书的主要内容都是介绍IBM小型机,所以书中以后如果没有特别说明,各种小型机、产品都指IBM小型机或IBM产品。
攒小型机的材料是最难置办的。小型机的配件通用性极差,尽管各个厂商也开始使用同样的接口标准连接外部设备和通用的磁盘、光驱等部件,但对于核心部件,厂商依然我行我素,从来没考虑过给别人“兼容”自己的机会,自己同样也不会主动去“兼容”别人。因此在淘“宝”的时候,你可能会遇到这几种情况:不知道这个部件是干什么用的;更搞不清楚一堆部件还缺哪些才完整;只有核心设备而接口不对,无法互连;接口看起来一样系统却不识别;系统识别了设备但提示需要的一个驱动程序找不到;系统可以访问此设备,设备的属性信息却是乱码。这几种情况都是你可能面临的问题,下面一些经验会帮助你:
(1)如果不知道某一种部件是做什么的,看看这个部件上还保留的标签、主要芯片厂商和型号、电路接口的样子等。从网络搜索引擎(例如www.google.com)输入这些数据,以及你所知道的关于这个部件的“历史”信息(从何种设备上拆下来),都能帮助你尽快识别该设备。
(2)如果是搞不清楚一组部件缺哪些才完整、接口不对、找不到驱动程序这一类问题,访问设备生产厂商的网站,寻找有关技术支持的链接,规划手册、安装/使用手册、维护手册、驱动程序下载都能帮助你解决问题。手册上的装配图和部件标号列表能让你获得产品的第一手信息。一些技术标准的网站也需要经常访问,以便获取最新(也许你需要“最旧”的!)消息。
(3)当使用了“兼容”设备(非原厂认可的设备)的时候,设备属性可能无法正确显示,但一般来说,这并不影响设备使用。使用兼容设备偶尔也有设备无法正常工作的情况,升级微码(具体参考设备的支持网站)可能有所帮助,但并不能保证如此。如果发生了这种情况,只能说遗憾。按照各个厂商“官方”提供的设备支持列表选择设备,或者询问更有经验的工程师。
由于几乎没有全新的小型机部件可供攒机使用,即使有也会价格不菲,因此要做好买旧部件的准备。获得小型机的部件有5个渠道:
1.IBM原厂部件
这是IBM公司为维修设备或者升级产品准备的,当然是最好的,但也是最贵的。如果你很有钱,属于“终极”发烧友,可以直接与IBM联系,可以拨打8008101818免费电话,联系售后部门的电话销售,直接说要买的部件号。
此渠道的缺点是不仅价格贵一点(不要惊讶,报价可能是你心目中价格的100~1000倍!),而且与你打交道的销售不懂技术,往往听不明白你的意思,你要不厌其烦地向他/她解释;更需要你了解要买的东西的部件号(稍后再向你解释关于部件号等相关知识);还需要签合同,并且在签合同之前,IBM要审查你的“资信”,所以如果是个人行为,就别想这条路了;最可怕的是如果你买错了,想要退货是绝对不可能的。
优点:几乎任何部件都可以买到。通常IBM的产品周期是新产品发布之后,半年到1年后发布增强型,与旧产品除了CPU和少量核心设备不同,其他部件都一样。3~4年后会发布下一代产品,此时两种产品之间的部件可能有很大差异,通常不能互换。新产品发布后,旧产品一年左右会退出市场,不再销售。这样在总计在将近6年(高端支持时间长,低端可能只有3年)的时间里,IBM都会提供对旧产品的正规升级服务,可以通过订单升级或者购买部件,但是这种升级不能买单件,只能一整套购买,也适合用于替换故障部件,因为到货是一整套设备,不是一件,而且不能任意购买,必须经过验证旧机器的可升级性。好处是对于正式下单的产品,会有IBM工程师现场服务,完全不用操心,而且费用已经包含在产品订单之中。以上订单方式,是通过IBM产品部门下单,由于总总限制,通常不可能用这种方式购买旧设备。
如果超出了以上这个时间,就需要从服务部门购买,在IBM承诺的时间内(每种产品不同,一些产品可能达到10年),只要你愿意等就可以拿到,当然最长可能需要将近两个月的到货期;质量有保证,尽管IBM也可能用旧备件翻新,不过看起来是全新的,并且一定已经通过了严格的测试。
2.IBM分销或者小型机维保公司
这是性价比最高的一个渠道。许多分销商批量采购了IBM的整机或者升级配件,但没有能够及时卖出,手中压了一些库存,维保公司的货源则来自国外二手机、二手备件进口。分销商手中以中端产品备件居多,不太适合DIY(太贵),但从他们手中购买新IO卡、内存、磁带机、硬盘是不错的选择;维保公司的报价一般会很便宜,只是要注意部件的新旧、成色,虽然我们没有指望一定买新件,可是一定不想把翻新的旧件当新件买了!维保公司偶尔会有一些很古老机型的整机非常便宜,值得一淘,建议保持长期的联系。
3.公司淘汰的旧设备
从这个渠道采购需要碰机会,如同买古董,自己如果不懂行,就先不要考虑了(整机例外,因为可以很容易验证好坏),这些设备一般不保证完好,而且也没有经过检修,也不提供保修,只有当你已经很精通之后,才可以考虑这条渠道。通过这条渠道,尽管有风险,也可能有大惊喜!——以废铜烂铁的价格买到价值几万、几十万的设备!
4.过时的兼容设备
如果你需要的是标准的IO卡、存储设备,可以考虑直接去市场买过时的兼容设备所谓过时,是指已经不是当前的主流产品。IO卡、设备包括1GB的FC-AL(环路)光纤通道卡,20MB/s、40MB/s的SCSI卡,DDS2/DDS3磁带机等。要特别小心,此类设备要注意兼容问题,不仅仅包括接口针脚、高低电压,还要考虑驱动程序和设备的微码,可以先到产品生产商网站查看兼容信息和支持列表,再按图索骥,最好已经有成功先例。有一些部件是PC和pSeries通用的,但价格可相差很多!厂商为了特别的市场策略,对同样的卡片注入了不同的BIOS(卡片的微码),这样卡片就不可以互换了!如果你技术足够好,完全可以重刷写里面的BIOS(没种卡片都不尽相同,请参考厂商提供的技术文档,如果没有,只能找“精通”的专业人员了解),以PC卡片的价格搞到小型机才能用的接口卡!不过刷微码是有风险的,如果刷写失败,这个卡片可能就彻底坏掉了,请谨慎为之。
5.舶来品
在北美、欧洲等一些国家,特别是经历了前几年的IT泡沫,许多公司淘汰了大批设备,在eBay上,在电子垃圾处理场,到处都有这些设备的踪迹,国内的二手机或者备件大部分都是源自于此。因此如果你有国外懂行的朋友,这是不容错过的金矿!
通过以上各个渠道买部件的时候,最好整机、整板购买,因为拆得很细小的零件的可靠性很难检验,除非是单独购买线缆、接口等配件;操作时注意尽量跟卖方商定测试后再付款的方案(或者可以退货、换货),至少要当面测试完好,并要求提供驱动程序。如果没有办法做到,就需要你自己承担此风险,当然价格要压得更低一些。
现在市场上最便宜的二手小型机(工作站,43p-140)大约1000元左右,再往上则各种价位都有,从几千到几万,图1-19是一些常见的旧机型。白色的机型较陈旧,黑色的机型是较新的机型。在小型机上也有一个标志,例如7043-140等,这代表机器的型号请参考本书的对照表,标注有各种机型的名称和昵称。不同机型对于操作系统的支持程度不同,也请参考这个对照表(本书1.3.4节18.Machine Type,机器型号一节),以便了解该型号能安装哪个版本的操作系统。
图1-19 几种相对廉价的IBM小型机
能淘到合适价位的整机并不困难,但是可能其配置并不如所愿,你就需要再去寻找合适的配件“升级”你的小型机。而且为了简化运输,二手小型机基本都没有配显示器和键盘鼠标、电源线,由于这些部件都是标准的,与PC通用,因此你需要自己准备显示器和键盘鼠标等设备。
1.3.2 攒机必备工具
工欲善其事,必先利其器。DIY都需要哪些工具呢?硬件工具和软件工具。DIY并不是部件修理,因此我假设大家“淘”来的部件都是完好的,修理小型机故障部件可不是一般的技术,暂时放弃这个想法吧。下面介绍的工具都是DIY相关的工具,而不是维修工具。
1.笔记本电脑或者PC机
绝对必需,并且确保串口、软驱、光驱、以太网卡都能正常工作。一台PC机既可以作为小型机的字符终端、图形终端,也可以作为网络服务客户机,验证小型机上安装的软件。刷写微码经常要用到软盘,1.44寸的软驱也是必需的。
2.RS-232线缆一到两条,9-25针转换头两个
小型机最基本的访问方式是通过串行通信口,也就是通过RS-232线缆连接小型机。可以按照下面提供的线序自己焊接,接头在电子市场有售,线缆可以使用8芯双绞线。RS/232标准,在参考地址:http://www.arcelect.com/rs232.htm有详细的线序介绍,分别适合不同的情况,有兴趣的朋友可以自己阅读。
● 最简单的线序,无握手协议,只要三根线,如图1-20所示。但对于不同的软件,有时效果不好:
图1-20 最简单的线序
● 本地回馈握手协议的线序如图1-21所示。
图1-21 本地回馈握手协议的线序
● 部分握手协议的线序(在IBM小型机系统推荐使用)如图1-22所示。
图1-22 部分握手协议的线序
● 全握手协议线序(不用于eServer pSeries)如图1-23所示。
图1-23 全握手协议线序
● 各种线序的软件兼容性如表1-2所示。
表1-2 各种线序的软件兼容性
● 9-25转换接头线序如图1-24所示。
图1-24 9-25转换接头线序
① 公头(Male)是插针式的接头,母头(Female)是插孔式的接头。
● 终端监视线如图1-25所示。
使用这样的一根终端线可以实现终端监视的功能。
图1-25 终端监视线线序
3.以太网线若干条
网线的重要性毋庸置疑,赶快准备吧!
4.以太网级连(交叉)线一条
可以购买或者自己压线,但一定要用绞线,并且线序正确,不要使用简单的排线。错误的线序在百兆、千兆网卡或长距离传输时容易出现丢包。具体线序请参考如下地址:http://www.faqs.org/faqs/LANs/cabling-faq/。EIA/TIA定义的RJ-45(ISO 8877)标准线序如图1-26所示。
图1-26 RJ-45标准线序
以太网线(普通网线)(T568B colors)如图1-27所示。
图1-27 普通网线
注意
线序的颜色非常重要,对于10M以太网还不明显,对于100M以太网,错误的线序尽管可以通信,但是会导致丢包,因为标准线序保证了接收和发送的电路分别构成的电流环使用绞在一起的一对线缆,电磁干扰最少,抗干扰能力最强。
以太网交叉线(直连线)如图1-28所示。
图1-28 交叉线
注:交叉线就是把普通以太网线的一端1与3,2与6线互换。
标准一点,不仅仅交换1-3,2-6,还要交换4-5,7-8,如图1-29所示。
图1-29 以太网交叉线(直连线)线序标准
5.以太网集线器(HUB)一个
6.大、小一字螺丝刀各一把(小螺丝刀刀口宽度小于2毫米),十字螺丝刀一把
7.套筒,丝杠连轴器等,便于拆卸螺丝
8.记号笔,可以在各种标签、设备上做标记
9.万用表
即使不去维修机器,一台万用表也可以让你不会由于很“傻”的问题耽误时间。
10.防静电腕带、防静电垫
如果你想做得专业一点,并且减少不必要的“损失”,准备这些防静电设施还是很有必要的,特别是在北方,冬天由于天气很干燥,很容易击穿电路板上的集成块。
11.毛刷
用高档油画笔充当,不能掉毛,可以帮助你清理电路板接口的灰尘。
12.压缩空气筒
选配,特别是收购旧机器时,清理电路板很有效。
1.3.3 攒机必备软件
由于IBM和其他公司网站经常更新,如果以下列出的地址无法正常访问,请发邮件与作者本人联系:ensighine@yahoo.com,索取最新的地址列表。
1.AIX操作系统盘
拥有IBM UNIX小型机、服务器的用户都有,如果为了测试使用,可以暂借,如果长期使用,请仔细阅读IBM有关的版权信息,并遵从其要求。
2.各种版本的PTF(补丁程序)
可以从IBM网站免费下载:
http://www-912.ibm.com/eserver/support/fixes/
https://www-304.ibm.com/systems/support/supportsite.wss/brandmain?brandind=5000025
3.各种型号主机、外设的微码
下载(RS6000/pSeries)请到:http://www14.software.ibm.com/webapp/set2/firmware/gjsn解压缩密码(如果需要)是:**RS/6000**
4.Pro Comm效果最佳的串口通信、终端仿真商业软件
这些软件操作也非常方便。从http://www.symantec.com/product/ 可以查询软件详细信息。许多路由器、串口设备都免费提供了一个简装版的procomm软件,对于终端仿真,也足够了。Windows的超级终端也可以提供同样的功能,但是需要使用合适的终端线,并正确设置相关参数。
5.Telenet / SSH软件
很多,有一个免费的PuTTY效果不错,下载地址:http://www.putty.nl/。
6.Neterm
经典的终端仿真共享软件,好处是可以提供一个小FTP server。
7.X-Window Terminal仿真软件
比较知名的有Hummingbrid(Exceed)等,有共享软件和免费软件可用。
8.InfoCenter
强烈推荐:http://publib.boulder.ibm.com/infocenter/pseries/index.jsp诸如维护手册、管理手册、操作系统手册等都可以找到,有一些还是中文的呢!
9.eConifg
eConfig是IBM产品的配置器。什么叫配置器呢?由于IBM产品众多,同类产品自身也很复杂,产品组件之间有许多依存或排斥关系。例如,同样是内存,不同型号的服务器需要不同种类的内存。为了合理地选择配件,避免出现无法使用的情况,IBM开发了一个程序专门用来生成配置,这个程序就是eConfig。我们并不是销售IBM产品,不需要做产品配置,但确实需要一个配置器去查看各个部件的F/C(Feature Code,特征号)订购代码等信息。如果你想找某一个部件,就一定要至少给出F/C号,否则别人怎么知道你要什么呢?而且这个配置器还能帮助你检验部件之间是否“兼容”,如果配置器里没有组合关系,则一般是不可用的,或者使用时容易出现错误。
这个配置器可以从IBM网站免费下载,但是要先进行注册。访问地址http://www.ibm.com/partnerworld/,单击“Join Now”按钮可以注册。注意:可能需要24小时等待注册生效(如果你所在公司不是IBM的合作伙伴,请找符合要求的朋友帮忙)。再次访问此地址,先登录进去(成员登录),然后依次选择:
Technical shortcuts Configurators IBM configurator for e-business 再次输入用户ID和密码 Mobile Edition.
现在,你将位于e-padm页面。如果你没有安装过Java的运行环境,请先安装JRE。下面要下载并执行epadmpre.exe程序。必须重新启动PC以便设置生效。再次来到此页面,将看到如图1-29所示的页面,选择“Install/Update”单击按钮进行安装。
图1-29 e-padm页面
单击“Continue”按钮后,将显示e-padm程序,等待下一步操作。如图1-30所示,按照屏幕提示,选择合适的组件下载。必须选择的是pSeries and RS/6000 Systems NEW,如果想了解最新的产品,可以选择POWER Systems,存储则是Storage NEW。其他还有软件方面的信息,尽管与我们关系不大,但是可以作为参考,去了解一下。
图1-30 e-padm程序
单击“Install/Update”按钮开始安装。程序会自动安装程序,并生成一个程序组,如图1-31所示。
图1-31 程序组
单击“eConfig”图标可以启动eConfig进行配置。详细的使用介绍请查看eConfig Users Guide网页。
如何查询需要的信息?
启动eConfig此项可以选择新配置(Blank Portfolio)或者打开保存的文件(Open Existing Portfolio),如果我们查看新配置信息,直接单击“OK“按钮如图1-32所示。
图1-32 新配置信息
选择Portfolio菜单中的“Add Initial Order”。
选择你要查看的配置,我们当然是查看小型机硬件啦,而且是旧机器,所以选择pSeries and RS/6000 Systems,如图1-33所示。当然如果你有意于P5的最新款,可以选择POWER Systems。
图1-33 选择pSeries and RS/6000 Sytems
下一个页面其他的选项都不用动,只有在pSeries and Global Settings页面中的一个Order Type要特别注意,其中有Initial和Installed两个选项,如图1-34所示,我们一定要选Installed,否则就只能查看当前还可以销售的机型,老机型都看不到啦!
图1-34 pSeries and Global settings页面
好多机型啊!如图1-35所示,你现在可以看到RS/6000或pSeries历史上在中国销售的各种机型,选择你需要的,例如RS/6000 7043-140,用鼠标单击7043-140的图标,然后按住左键,将其拖到右侧的空白窗口中,就会弹出一个新的提示窗,等待你选择。
图1-35 各种机型
如图1-36所示,从提示窗可以看到7043-140支持的最多CPU(Max CPUs,1颗),内存(Max Memory,768MB),接口卡(Adapter Slots),以及介质槽(Bays,用于安装硬盘、软驱、光驱、磁带机)。从操作系统选项我们也可以看到此型号可以支持的操作系统版本为:4.1-5.1,很遗憾,不支持AIX 5.2以上的操作系统。下一步,继续看CPU,内存等特性,选择System。
图1-36 提示窗
这一页有很多CPU内存型号,你可以查到对应的F/C是什么东西。例如4310代表了1路604e/200MHz的CPU卡,如图1-37所示。选择右边的数字可以更改该设备的数量,但是如果不符合此型号小型机的要求(多配了设备,或必要的部件没有配等)会有提示信息。在下方也有提示显示出当前系统配置还有多少余量可用。
图1-37 CPU内存型号
我们的主要目的不是做配置,而是要了解各种型号、F/C对应的信息,因此其余的内容就不具体介绍了。只是提示大家,做好了配置后,可以单击下面的“Configure”按钮生成配置。此时你还看不到配置清单,而是如图1-38所示的一个东西。
图1-38 生成配置
想要查看配置清单需要单击窗口上部的“Proposed”选项。此时显示在窗口中的就是IBM标准的配置清单(签合同用的订单)。第一次看订单内容,你一定会被搞晕,所以在此找一个新机型介绍一下其中各项的大概含义(以下内容仅供参考,如果发现与IBM正式提供的订单含义不同,以IBM为准!毕竟IBM有最终解释权!)。
Extended Extended Product Description Qty Purchase Maint Term ________ _____________________________ _____ ________ ________ ____ 9110-510 Server 1:eServer p5 510 1 275.00 服务器机箱 2640 IDE SLIMLINE DVD-ROM DRIVE 1 2079.00 IDE DVD光驱 3274 73.4GB10,000RPM DISK DRIVE 2 8250.00 2个73G硬盘 4443 512MB(2X256MB)DIMMS,208-PI 1 3025.00 512M内存 5005 SOFTWARE PREINSTALL 1 N/C 预装软件,免费的 5706 2-PORT BASETX ETHT.PCI-X A 1 8795.00 2口以太网卡 5716 2 GIGAB.FIBRE CHANN.PCI-X 1 6801.00 2口FC卡 5723 2-PORT EIA-232 ASYNCH,SHORT 1 1568.00 2口232串口 6458 PWR CAB-DRAWER TO IBM PDU 2 154.00 双电源线 7166 IBM/OEM RCK MTG SLIDE KIT HV2 1 825.00 机柜安装架 7432 LPAR SUB CAP ENABLEMT MOD510 1 3245.00逻辑分区授权 7442 1 PROC ENTIT PROC Fc #7609 1 4653.00 1个CPU授权 7609 PLANAR+1W PROC 1.5GHZ,NO L3 1 7464.00 11636.00 Ann 1个1.5G CPU及每年维护费 7989 AC P/S,700 WATT,HV2 1 2063.00冗余电源 7998 BEZEL + MISC HDWR,IBM HV2 DWR 1 138.00 杂七杂八的零配件 8800 QUIET TOUCH KEYB-USB,US EN 1 457.00 USB键盘 8841 MOUSE-BUS.BLACK W/KEYB.ATT 1 341.00 USB鼠标 9722 Language Grp Spec-S/Chin(PRC) 1 N/C 中文手册,免费(No Charge) ________ ________ Serial: N/A Total 50133.00 * * 15778.00 Ann 14580.00 OTC Initial Software - ( Server 1 ) Extended Lic Product Description Qty Price Term Type ________ ______________________________ _____ ________ ____ ____ 5692-A5L AIX 5L V5.1 FOR POWER SPO 1 N/C 0967 SPO 5765G03 CD-Rom Power V5.3 1 N/C 0968 SPO 5765G03 CD-Rom Expan Pack 1 N/C 0970 AIX 5L UPDATE CD 1 N/C 0975 MICRO UPD DISCOVERY TOOL V1.1 1 N/C 0999 Virtual I/O Server 1 N/C 1403 Optional Preinstall 64-bit Ker 1 N/C 1424 Partition Load Manager5765-G31 1 N/C 2987 TRADITIONAL CHINESE 1 N/C 3410 MEDIA FEATURE NUMBER 1 N/C 5005 PRE-INSTALL OF AIX 1 N/C 5987 TRADITIONAL CHINESE 1 N/C A2FW Media Process Charge CD ROM 1 65.00 OTC 介质费用(操作系统光盘) ________ Serial: N/A Total 65.00 OTC 5765-G03 AIX 5L for Power V5.3 1 N/C B8AD AIX5L V5.3 1 CPU,D5 1 221.00 OTC 操作系统费用 ________ Serial: N/A Total 221.00 OTC 5765-G31 Partition Load Manager V1.1 1 N/C B8BD PLM V1.1,1 CPU,D5 1 N/C ________ Serial: N/A Total 5765-G34 Virtual I/O Server V1.1 1 N/C B8BB V I/O V1.1,1 CPU,D5 1 N/C ________ Serial: N/A Total 5773-PLM SWMA for PLM V1.1 3Yrs 1 N/C A0FC PLM,3y SWMA,1 CPU,D5 1 72.00 OTC 3年电话技术支持(操作系统) ________ Serial: N/A Total 72.00 OTC 5773-SM3 SWMA for AIX 5L 3Yrs 1 N/C 0458 1 PROC D5 SWMA 3Y RENEW 1 1049.00 OTC 电话技术支持(3年续约) ________ Serial: N/A Total 1049.00 OTC 5773-VIO SWMA Virtual I/O Svr V1.1 3Yrs 1 N/C A0FA V I/O,3y SWMA,1 CPU,D5 1 319.00 OTC VIO功能3年电话技术支持 ________ Serial: N/A Total 319.00 OTC
各项含义:
Extended Purchase:产品报价,美元价格,打折前价格。
Extened Maint:此部件一年维修服务价格,人民币报价,但由于没有含税、维修响应时段是5天9小时而不是7天24小时响应,实际维修报价要贵一些。当然,也没有含折扣,具体价格需要询问IBM销售部才能确定,此处的价格仅供参考。有许多机器只有关键部件(例如CPU、机架)有维修价格,其他部件都“免费”,当然你只能保整机,不能只保免费的或者“部分”部件!
SWMA:软件的800电话技术支持费用(美元)。
1.3.4 IBM相关基础概念
技术是DIY的精髓,熟练地应用技术,完成攒机工作也是DIY的乐趣所在。攒机更是为了学习技能,找到好工作。当你进入小型机这个圈子里的时候,会发现很多不懂的名词,如果你都不知道别人在说什么,想挤进这个行业自然不容易。在这个时代,永远没有足够的知识,如果想成为高手,就不得不去持续学习!在此先介绍一些必备的知识。
1.AIX操作系统
我们一直在说AIX,那么什么是AIX?最简洁的回答是:与在PC上运行的Windows 2000、Windows XP一样,在IBM p系列小型机上也需要运行一个操作系统,对小型机硬件设备进行管理,这个操作系统就是AIX。在两年前,这一类小型机上还只能跑AIX,而AIX也只能在p系列上跑(不能装到PC或者VMWare里面)。现在多了一些选择,在p系列上还可以运行Red Hat Linux或者SuSe Linux(当然有别于市面上卖的跑在PC上的Linux,它们是不同的二进制代码,不能直接用PC的光盘安装)。AIX只能在p系列上运行这一点依然没有变,如果想装AIX系统,必须有p系列的小型机(或者更早的RS/6000系列)。
AIX也是一种UNIX,是System V和BSD UNIX的复合体,遵循了IEEE,POSIX 1003.1,ANSI C,FIPS和X/Open标准,。开始的时候也有PC版,但AIX最后一个RT PC版是2.2.1,最后一个PS/2和Intel架构机型的版本是AIX 1.3。现在就只能抛在p系列(或者RS/6000)上面了。最新的AIX版本已经不支持很旧的机型,各个版本AIX对具体机型的支持情况请参考附录。现在最常见的几个版本是:AIX 4.3.3,5.1,5.2和5.3。通过地址:http://publib.boulder.ibm.com/infocenter/pseries/index.jsp可以访问许多关于p系列小型机及AIX操作系统的资料。
2.BIST
即Build In Self Test,小型机上电后,用系统内部固化的自检程序进行自检,如果发现问题,则停在某个代码,给管理员提示,以等待修复,BIST可以检测出大部分的硬件故障。这里也要说明小型机的一个特点:如果机器在运行时发生硬件故障,由于机器本身的冗余设计,还可以“轻伤不下火线”,但如果关机,再重新启动的时候,BIST却通不过去,小型绝不“带病上战场”,机器就无法再运行了。所以如果是单机环境,当发现有可能有硬件故障的时候,不要立刻关机排错,如果业务比较重要,最好已经准备好备机接管业务之后,再停机检修。否则,在机器没修好之前,是无法重新启动小型机的。
类似地还有POST:Power On Self Test,小型机经过BIST后,将控制权交给POST,微码和操作系统都会做POST,微码的POST与BIST是同一个意思。
3.Band,BP,Brand,ISU…
这些都是IBM的“行话”:
● Architect,系统设计师,负责根据业务需求进行系统搭建,以满足功能性(例如互联正确、计算/查询出结果)和非功能性(例如可靠性、可用性、性能)需求。
● AP,Asia,Pacific,代表亚洲、太平洋地区。类似的EMEA,Europe,Middle East and Africa代表欧洲、中东、非洲地区;LA,Latin American拉丁美洲地区。
● Band,IBM员工的级别名称,从3, 4, 5, 5, 6, 7, 8, 9, 10, D, C, B, A这样排下去,越靠后级别越高。从IBM员工的Title也可以分辨出Band,一些主要职位类型的Band如表1-3所示(仅供参考,不确认正确性)。
表1-3 主要职位的Band
● BCS,IBM服务部的一个分部(Business Consultant Service),负责业务咨询、行业解决方案,现在改名为GBS, Global Business Service。
● Brand,原意是品牌,也就是IBM公司对于不同产品部门的称呼,eServer pSeries产品部就是其中一个Brand。
● BP,Business Partner,IBM公司对于与之有业务关系的经销商(Distributor)、集成商(SI)、软件开发商(ISV)的统称。
● Channel,渠道部门,IBM内部对于分销商进行管理的一个职能机构。
● Consultant,咨询顾问(此处指IT Consultant),帮助客户理清思路,将客户自己的更接近于行业业务的信息、需求转换成IT可以“理解”的数据、需求。
● CRL,CDL,China Research Laboratory和China Development Laboratory。都是IBM在中国成立的研究、开发(软件开发)机构。IBM在世界上有8大实验室(ResearchLaboratory)如图1-39所示,分别介绍如下。
➢ 1945年成立的第一个实验室Watson Scientific Computing Laboratory靠近位于曼哈顿的哥伦比亚大学,1961年搬迁到Yorktown Heights的T.J. Watson Research Center。沃森实验室重点研究物理学、计算机科学、数学等科目。
➢ 1952年在加利福尼亚成立的CALIFORNIA RESEARCH LAB位于San Jose(10年后这一地区成为著名的硅谷),又名Almaden Lab,重点研究存储、数据库等学科。
➢ 1956年在瑞士苏黎世建立了Zurich Lab,其中两个研究项目曾获得诺贝尔奖,分别是在超导领域的研究和隧道扫描显微镜制造。苏黎世实验室重点在通信技术,发明了令牌环网协议,在渐渐退出历史舞台的令牌环网、FDDI、SSA技术,以及现在的FC-AL、SATA、RIO技术中都有它的身影。苏黎世实验室在ATM技术领域也成绩斐然。
➢ 1995年成立的Austin Lab是后起之秀,是IBM想在微处理器领域有所作为而成立的一个新型实验室。它创造了一种全新的研发模型,力图将未来技术与产品创新密切结合,为IBM创造出更多的“财富”。奥斯丁实验室重点开发超大规模高性能、低功耗的集成电路以及开发、设计、仿真工具,本书的主角:p系列小型机的前身RS/6000就是从这里诞生的。
➢ 1982年成立的Tokyo Research Laboratory重点研究分析、优化算法、软件工程、中间件、安全、语音识别等“软”技术和电子、光设备封装技术、工程实现等“硬”技术。
➢ IBM Haifa Labs(以色列海法实验室)于1972年成立,研究存储技术、多媒体、电子签名、系统主动管理、系统优化、生命科学等技术。
➢ IBM中国实验室(China Research Laboratory)于2003年在北京成立,目前发展极其迅速,已经有数百名研究人员,主要研究领域包括语音识别、协同工作软件等技术。
➢ IBM India Research Laboratory(IRL)于1998建于印度德里,研究分步计算、软件工程、信息管理、普及计算、生物信息处理和自主计算。
图1-39 IBM在全世界的7大实验室
● CSU,Customer Service Unit,意思是客户自己“服务”的设备,就是客户自安装的设备,IBM不提供工程师现场安装(与之对应的叫做ISU,即IBM Service Unit设备)。这些设备都是低端、小型设备,如果客户自己不能安装,可能需要产品分销商提供服务,或者IBM也可以额外提供收费的现场安装服务。
● GBS,IBM服务部的一个分支,Global Technology Service,即原来的ITS, Information Technology Service,主要负责产品服务,工作类似系统集成商。
● GTS,IBM服务部的一个分支,请参考GBS。
● IBM World Trade Company,由于IBM在中国是独资公司,称为IBM中国(这一点与HP公司不同,HP是合资公司,被称为中国HP),在很早以前受中国商业政策限制,没有在国内进行产品销售、进出口的权利,因此只能通过代理商、进出口商向中国客户销售产品。IBM World Trade Company(WTC)将产品销售给代理商在香港的分公司,由他们完成海关进口手续,运输,在国内现场向用户交货。现在进出口已经不再受限制,但为了降低中间成本(IBM自己做进出口成本比较高),简化手续,依然通过WTC的销售模式销售,很少直销到最终客户。另外也有公司资金链的问题:IBM WTC必须收到产品全款才会发货,而国内的最终用户可能在系统验收通过后才会付全款,这期间需要垫资,就需要有中间的渠道公司进行资金运作,同时也有付款的信用风险,需要代理商、进出口商承担。
● IGS,IBM Global Service,IBM全球服务部,包括GBS和GTS。
● ISSC,IBM Solution Service Company。这是IBM全球服务部在中国成立的另一家服务公司,主要业务领域是提供大型数据中心的外包托管服务,现在有许多欧洲数据中心都是由ISSC提供远程外包服务管理。
● IGSC,IBM Global Service Company。由IBM全球服务部在中国的注册公司。
● ISU,Industry Solution Unit,就是负责行业解决方案的部分,简单可以这样理解:他们就是行业销售部门。
● ISV,Indival Software Vendor,独立软件商,与硬件厂商合作(保持中立,没有明确的硬件品牌要求),专门开发某一种软件的软件公司,可能以软件产品为主,也可能以软件项目为主。
● ITS,Integrated Technology Services,可能代表服务部门里的一个分部,负责硬件、基本软件相关的业务;也可能代表技术工程师,负责售前或者售后技术服务(IT Specialist)工作;或者,就是IBM技术服务部(Information Technology Service)。
● MA,Maintenance Assurance,产品维护服务。IBM的产品超出保修期后,如果不购买维护服务,发生机器故障后,从IBM只能获得按次收费的方式进行修复(被称为Per Call),通常比较贵,而且没有响应时间保证,包括人工和备件。MA的价格根据机器型号、服务时段(5×9或7×24)、所在城市(IBM分公司所在地、大城市、周边地区)不同。保修的范围又分硬件MA,软件EPSA/B(包括操作系统和基础软件),软件EPSP(在EPSA/B基础上增加HACMP等),IMA(Integrated MA,是综合的套餐式保修,可以根据客户需要定制,包含第三方产品如Cisco的保修),IBM软件MA(根据软件类型DB2,Websphere等提供的以人天为单位的保修服务)。
● Matrix,在IBM内部,是按照Matrix的方式进行职能划分的:纵向的产品线、职能等垂直管理和横向的地域、行业的水平管理互相交织,构成一个大矩阵,每个人都受两个方向的管理、制约。这种Matrix即可能造成低效率的互相牵制,也可能得益于团队间互相支持,IBM能实行Matrix的管理方式并且生存至今,至少说明Matrix方式在IBM并不是错误的管理模型。
● PMR/PMH,Problem Management RS6000 / Hardware的缩写,是IBM提供给IBM保修用户对系统软、硬件进行保修和故障跟踪、修复的系统。IBM用户可以直接同国王展“开case”报修,IBM工程是根据从1~5的相应级别进行故障诊断交互,指导用户收集故障信息,进行故障修复。
● R6,RS/6000的缩写,这是IBM UNIX服务器/小型机的最早称呼,现在都被称为eServer pSeries。
● Rep,Representative的缩写,就是IBM的销售,由于这些销售在客户面前,代表IBM,在IBM内部,代表客户,所以被称为Rep。
● Sector,每个大的行业就被称为一个Sector,甚至一个行业分为几个Sector,例如电信(Telecom)、金融(Finance)都被分成几个Sector,其他则也有可能很多行业合成一个Sector,例如GMB(General Medium Business)代表中小企业等。
● SSR,是Service Sales Representative的简称,通常是负责售后服务的产品工程师,更早以前被称为CE,即Customer Engineer。
● STG,System Technology Group,硬件产品(或服务器产品)部门。IBM把PC业务卖给联想后,将服务器和存储等硬件产品部门组织在一起,构成了STG。
● SWG,Software Group,软件部门。类似IGS,IBM的软件部门也是一个比较庞大的部门,随着IBM最近越来越重视软件,发展迅速。
● TSS,Technical Support Service,IBM服务部中专门提供硬件及附属软件产品维护的部门。
● WTY,Warranty,产品保修期,买硬件后就一定提供的产品故障修复服务。在此期间,如果机器故障,IBM负责免费修复。WTY和MA类似,但也有不同:通常在WTY期间,IBM不负责巡检(故障发生之前对机器进行现场检查),服务时段、响应时间也可能与MA不同,具体需要查看IBM的网站对应产品的说明,以获得最新、最准确的消息。网站的地址是:http://www-304.ibm.com/systems/support/machine_warranties/warranties_licenses_maintenance.html不同产品保修期不同,可能1~3年;报修处理时段也不同,可能5×9或7×24。另外要注意,保修起始时间并不是机器到场安装的时间,而是IBM机器出厂三个月或机器到用户现场安装完成的时间中先到的那一个。由于IBM的小型机都属于大型设备,中间商务过程太长、或者项目延误,有时出现客户购买机器后长期没有安装,或没有运到现场,在代理商库房存放了很长时间的情况,结果装机的时候保修期已过大半,甚至装机时就已经过了保修期。由于机器没有发生故障,使用者并不知晓,当出现故障的时候,打电话给IBM报修,才发现早已经过了保修期!
4.Checkstop
还没有一个正式全面的“官方”定义,需要根据具体情况判断,但是,通常都是硬件检测到了一个不可恢复的内部错误,为了防止对数据造成损害,CPU停止执行指令和响应外界中断,机器将产生并记录下一个checkstop错误,所以checkstop应当是硬件运转过程中发生过错误。
5.Daemon,守护进程
作为服务器,需要在小型机上运行很多服务软件提供网络访问服务,这些网络服务程序被统称为Daemon或者守护进程/精灵进程。
6. DASD
Data Access & Store Device,数据访问、保存设备,也就是存储、磁盘。
7. Down,Machine Down
经常听到宕机这个词,就是Down的简称,其含义是机器挂起或者自动关掉了,通常是检测到严重的硬件、软件故障。
8.Feature Code,F/C特征号
F/C——Feature Code是IBM产品订购时的特性代码,就是告诉IBM我要购买的产品应当具有哪些模块或者功能,例如7043-140中的233Mhz CPU Feature Code是4315。尽管大部分F/C都可以有对应部件,特别是各种主要的板卡,但是Feature Code并不总是能与产品部件一一对应,部件也不一定有F/C。例如安放CPU卡的系统背板一般不会有FC直接对应,另一些F/C仅代表一种订购时提供的功能(例如Pre-Install,代表操作系统与安装,9110-510小型机的Pre-Install Feature Code是5005),并没有实际的部件。Feature Code是由IBM产品的配置器:e-Config系统产生的。由于是订购代码,因此从分销商手工购买部件,都是看F/C。相同的F/C,即使在不同型号的机器上,通常也代表相同的部件,但并没有官方的确认,只是凭经验看来如此。
9.File Type,文件类型
在Windows / DOS系统里,文件类型是靠扩展名(文件全名的最后三个字母,一般由一个点与文件名分隔开)控制的。在UNIX世界中,文件名(包括扩展名)没有什么特定的含义,尽管在起名字的时候都尽力想把文件的作用、类型说明清楚,但是没有严格的规定或限制。文件类型是靠Magic Number控制的,在inode中保存,文件是否可执行则是由文件的属性控制的(还记得UNIX / Linux中rwx, ugo的概念么?如果你不知道这些符号的含义,请查找任何一本UNIX入门书)。通过file命令可以查看文件真正的类型。
$file file_name_you_want file_name_you_want: commands text
说明这是一个平文件或者文本方式可执行的命令。
UNIX系统中文件名没有什么实际的意义,但是玩UNIX的人都比较有公德心,会把文件名起得长长的,各种含义表示得清清楚楚,文件的类型也会直接在文件名里标注出来,因此建议你也这样做。但是由于对文件名没有任何限制,因此不能保证文件名和实际文件的类型一定是对应的!反之,你改了文件名,也不能更改文件类型!
表1-4列出了AIX中一些文件后缀类型(指文件名最后几位,一般也是最后一个点之后的字符串)的含义和处理方法。
表1-4 AIX文件后缀类型
gunzip/gzip在rpm.rte程序集中,从AIX 5.1以后提供,或者也可以单独从下面网站下载:
http://www.ibm.com/servers/aix/products/aixos/linux/rpmgroups.html
uncompress是AIX提供的一个标准命令,在4.3.3以后版本的AIX中都有提供。
10.FRU
FRU——Field Replicable Unit,可更换的部件号,通常用于维修。当某个部件发生故障,需要更换的时候,如果分析出是哪个最小可拆卸单元发生故障,并进行更换,尽管看起来比较节省,但是需要现场工程师的技术非常高,拆卸时更容易造成机械损坏,设备自身的故障定位功能也要很强大,备件储存和管理的成本也太高(备件太多)。因此厂商通常会把一组小零件组合到一起,整体检查、整体更换。这一组部件就被称为FRU。在操作系统中,可以通过lscfg –vp命令查看硬盘、磁带机等设备的FRU,如果想查看所有设备的FRU,还是需要看对应机型的Service Guide(服务、维修)手册。
11.Infocenter
现在是网络时代,IBM将很多信息都存放在网上,用户可以自由访问、查询、下载服务器相关的信息,这个网站就是Infocenter。可以说,几乎所有的信息都能通过Infocenter找到,所以当你有疑问的时候,最好先查看Infocenter,地址在本文中已经一再提示:
http://publib.boulder.ibm.com/infocenter/pseries/index.jsp
其中很多内容都有中文说明,只是可能由非专业人员、甚至是计算机(猜想)直接翻译过来的,中文翻译非常不容易理解,建议参考其中的英文页面。
通过AIX 5.3的Basic Document资料光盘可以在任何一台AIX系统上安装Infocenter,你也可以在安装之后,到AIX系统目录中把这些HTML文件复制到自己的笔记本中离线使用,但由于原系统采用的是Java编程,下载到笔记本后,查询等功能(甚至包括部分链接)都会失效,需要根据提示安装,而不是简单地copy。
12.Hang
这是描述计算机故障的常用术语之一,当机器运行过程中没有任何提示、反应时,就说这台机器Hang(挂起)了,通常是软件故障,而硬件还在运行(带电)。可能有应用程序Hang(挂起),也可能操作系统Hang(当然应用程序也死了)。比较常见的一种现象是内存交换区耗尽,此时小型机的物理内存和虚拟内存都已经被用尽,已经启动执行的程序由于不再申请新内存,所以可以正常运行,但用户想登录小型机,需要启动新进程,则没有足够的虚拟内存,无法启动,也被称为Hang(其典型现象是ping正常,而其他任何telnet等访问请求都没有反应,如果可以使用串口终端/分区虚拟终端,能够看到登录提示,但进入系统后有unable fork program等错误提示,不能执行任何命令)。
13.IPL
Initial Program Load,初始程序调用,就是boot、引导系统的意思。
14.Korn Shell
Shell也是UNIX系统的一个非常重要的概念,类似于DOS/Windows的命令行,在不使用图形方式的时候,就需要命令行操作大显身手。由于图形操作非常消耗CPU的处理能力,也不方便远程管理,这两点都是大型服务器必须提供的功能(减少管理负荷,方便远程管理),因此大型服务器通常都是通过命令行进行控制的。命令行的管理程序就是Shell,Shell有很多种,它们之间只是基本的内部命令和语法不同,效果没有差别。通常AIX上使用的Shell是Korn Shell,简称Ksh。
尽管smit可以提供强大的功能,但是对于组合处理就无能为力了,只能通过Shell编程实现,Shell也可以实现复杂的控制。对于一些简单命令,直接敲命令也比通过smit菜单选择更便捷,所以Shell还是有必要学习的。在“第四日——终端”一章将对shell和常用控制命令进行介绍。
15.LPar, Partition, DLpar, APV
传统的计算机每台物理的机器只能安装一套操作系统,随着虚拟化技术的发展,一台物理的计算机现在通常可以切分为若干个小的分区,这就是Partition。每个分区都能安装一套操作系统,成为一台独立运行的计算机。不同厂商的计算机、配合不同的软件,可以提供的分区能力不同,如果只能以某些固定的硬件配置进行分区,通常被称为“硬”分区,而IBM的pSeries小型机则可以提供更为灵活的分区功能,可以实现以单个CPU、256MB内存、单一IO卡槽为单位,进行分区(POWER 4 CPU的小型机),如果是POWER 5 CPU的小型机,更可以实现以0.1个CPU、16MB内存为单位进行分区。由于IBM的pSeries提供了强大的分区功能,脱离了物理限制,并且不是通过操作系统软件实现的“软”分区(类似VMWare,Virtual PC / Virtual Server就可以被称为软分区),因此取名Logical Partition,即逻辑分区(LPar)。
IBM pSeries的分区技术更强大的功能是动态分区技术,即Dynamic Logical Partition(DLPar),它可以在各个分区之间动态调拨资源,例如把一个分区的几个CPU或若干内存、IO卡移给另一个分区使用,而不用停止、启动任何一个操作系统,所有的工作都在软件运行过程中进行。
不仅如此,IBM pSeries小型机还提供了APV功能(需要POWER 5以上CPU的小型机才能支持),即高级POWER虚拟化Advanced Power Virtualization功能,此功能允许IBM小型机在各个分区之间动态共享CPU。这并不是切换的概念,而是可以让每颗CPU以1/100的最小单位在各个分区之间实时共享。当某个分区(需要设定为Shared分区)繁忙时,它可以利用其他分区空闲CPU的时间片。当然,并不是任何分区都可以无限抢占CPU资源,通过设定物理处理器个数、虚拟处理器个数、是否封顶、权重等参数,可以从各个方位控制分区对CPU的使用。
APV不仅提供了CPU共享,完全包容动态逻辑分区的动态切换功能,还通过虚拟以太网卡、虚拟SCSI卡、VIO(虚拟IO)服务器等功能,提供了更为灵活的虚拟化功能。
LPar, DLPar都是随机器免费提供的,只要正确配置,即可使用。APV功能则需要单独购买License(授权),通过输入激活码的方式(与物理机器绑定),通常中低端的机器要特别额外采购(p570以下,包括570),而高端的机器则已经包含在标准订单之内(p590,p595)。
16.LIC
Licensed Internal Code,某种类型的微码。由于在高端服务器上,微码越来越复杂、庞大,已经成为一种程序,因此也申请了版权保护,被称为LIC。
17.LPP
Licensed Program Package,是AIX一组程序,用来完成某些功能。一个LPP就是一个可以独立使用的软件产品,它由几个package组成,每个package是单独可安装的一组程序;fileset又叫做程序集,是提供单独功能或命令的程序包。与LPP配合,还有一个Bundle的概念,它是适合某个特定环境的一组经过挑选的package或者fileset,有点类似于Windows软件安装时选择的完全安装、典型安装、自定义安装(每一种安装所选择的程序就是一个Bundle)。如果你有兴趣,也可以制做自己的Bundle定义,这样你在安装软件的时候就不用手工选择一个个需要安装的软件,只要选定Bundle,这些在Bundle中定义的软件就可以一次性被自动安装进小型机,如图1-41所示。
图1-41 LPP
程序命名规则:如图1-42所示。
图1-42 程序命名规则
18.Machine Type,机器型号
由于IBM服务器/小型机历经了几代,中间几易其名,表1-5列出其相关的信息。
表1-5 IBM服务器/小型机型号
19.Microcode,微码
小型机上许多部件都有智能功能,高级的部件甚至内嵌一个真正的CPU。例如Service Processor就是小型机上用于管理小型机的电源、风扇、环境温度、启动等的一个专用CPU,当然比小型机主CPU的性能要低许多。低级的可能只是一个ASIC处理器。这些CPU或者类似CPU设备本身也需要执行程序,这些程序存储在部件自身的Flash ROM(可改写的只读存储器)之中。当小型机工厂设计出增强功能的程序,支持新硬件,或者程序中发现Bug,需要修补的时候,就通过特定的方式进行升级,更新程序。这些程序被称为微码,升级程序的过程就是升级微码的过程。每一种设备都有自己独特的微码升级方式,具体请参考设备的服务手册(Service Guide)。
20.ML,TL,SP,CSP,IF补丁
每隔几个月,IBM将最近的AIX修补程序汇集在一起,集中发布出去,称为Maintenance Packet(类似Windows的Service Pack),其版本被称为Maintenance Level(就是我们经常说的ML),依照先后序号为ML01,ML02,…。如果想得到最新的修补程序或者针对某个程序包的修补程序,可以通过Internet网络下载,地址是:
http://www.900.ibm.com/cn/support/download/r6download.shtml
下面的命令可以检查当前系统的ML:
#instfix -i | grep ML
或者:
#oslevel -r 5.1.0.0-13 (代表5.1版本,ML是13)
关于AIX补丁现在又出现了几个新名词TL technical level和SP service pack等。
TL是最近两年新发布的内容,以前是没有的。包括硬件、软件的新功能和传统的service update。以前当AIX一个版本发布后,如果出了一款新机型,旧AIX里面当然没有对新机型的支持,那么就通过service pack或者ML包提供支持。
但由于最近推出的新机型比较多,包括对新机型支持和对旧的程序打补丁,都需要新的SP/ML,这样就让人觉得IBM的软件补丁是不是太多了?为了避免这种误解,就干脆把ML转为另一种含义,也就是说,如果有了新的包,可能不是补丁,只是提供额外的驱动程序之类的含义。例如5.3.0.0-04就是TL,而不是ML,以后也会逐渐将ML淡化。
TL有什么不同?从2006年起,TL不同于ML/SP可以部分升级(或叫做打patch,ptf),就是不会再出现打了一些高版本的包之后,看到的oslevel -r还是低的。现在提供的TL就是整个包的格式,要打全打,不能部分打。这样做的目的是防止高低版本并存,造成不必要的麻烦,杜绝由于不同版本之间匹配问题产生的故障,也简化了测试。对于工程师来说,意味着不再能下载到单独的fileset包(补丁例外),只能一次几百兆地下载整个包。
IBM不建议使用删除(reject选项)没有提交(程序包处于apply状态)的包的方式回退TL,这是由于TL安装一次的数据很大,如果没有回退干净,系统就混乱了。建议采用备份恢复、另外磁盘安装(alt-disk-install)的方案回退,这种方案显然有点麻烦。总之,安装前做好测试,没什么事,就不要回退了,否则“后果自负”。
SP, service pack是真正的补丁包PTF,大约4~6周出一版。如果单独打某个PTF需要回退还是支持的。
通过oslevel -s可以查看sp版本。例如:
5300-04-02
含义是:
TL=04, SP=02
CSP是又一个新概念,Concluding Service Pack,通常是最新的AIX TL发布后为前一版本AIX TL准备的,它与SP的不同之处在于给前一版本的TL提供了后一版本的某些功能,这句话很不容易理解。举例来说:发布了AIX 5.3 TL04不久后,发布了AIX 5.3 TL03的CSP。因为原则上对新设备的支持应当都在5.3 TL04里提供,可是为了让旧的03TL也能对某些highly pervasive, critical, or security related issues,(意思是提供对非常普遍使用的新设备的支持和与系统安全、稳定关系非常大的程序的修复)。作者理解这句话的含义是虽然IBM建议你通过升级到TL04去解决当前问题,但是如果某些问题确实明确是IBM的软件BUG,而且又只影响一两个小程序集,那么让用户完全升级系统到TL04也有很大风险,毕竟TL03已经投放市场比较久,更为稳定,因此就变通一下,用一个小补丁包解决了事,暂时放弃那种“要升级全升级”的策略,有时也对少量的新设备提供支持。CSP同样用oslevel -s来看,你可能看到这样的东西:5300-03-CSP。另外CSP将终结继续对此版本的TL提供更进一步的补丁,如果没有“非常严重的影响系统稳定性和安全性的问题需要修复”,这就是此TL的最后一个修复版本了!
IF,Interim Fix紧急修补程序, 替代了原来的eFIX, emergency fix, 只是名词变了,实际上没什么变化,是实验室为客户的一个特定案例紧急研制的补丁(又叫做e-fix)。可以用emgr -l命令查看。由于是实验室的特别功能,因此可以提供一些额外的能力。利用emgr可以锁定某个fileset,让它在你进行TL等升级的时候不去升级这个特定的软件包。某些时候,IF也会导致不能升级,就需要先把IF删除掉,然后再进行TL升级。使用emgr -l可以显示当前的紧急修补程序,而emgr –r –L fix_id则可以删除掉这个修补程序。
21.ODM
与Windows系统的注册表类似,AIX将大部分系统管理信息都储存在/etc/objrepos,/usr/lib/objrepos,和/usr/share/lib/objrepos三个目录下的一些文件里。这些文件(也被称为object classes)由组件数据库管理程序(Object Database Manager或简称ODM)管理,它们是一组例程或程序,提供着系统组件的最基本的管理功能。
通常只有SMIT或者SMIT调用的命令才能够更改系统组件族。但你可以使用odmget <Class>命令查看组件族中的信息而不会对系统造成任何影响。这里的<Class>是/etc/objrepos目录下的一个组件族。
有经验的用户可以使用AIX提供的几个ODM命令进行查看或者修改,但是在修改前一定要小心,除非你确实了解你正要修改的内容,而且知道将会发生什么,因为如果ODM有问题,系统可能无法正常启动或者运行。为了防止修改错误,最好先做好备份,如果修改错误,导致系统严重问题,可以通过光盘启动后用备份恢复。备份方法非常简单:只要直接把以上提到的几个目录下的所有文件都复制一份保存到其他地方就可以了。同样,恢复也只需要将备份文件复制回去。
AIX提供了几个ODM命令可以直接对ODM进行操作:
#odmshow 查看ODM的结构
#odmadd 将新记录加入ODM库中
#odmdelete 从ODM库中删除记录
#odmcreate 按照给定结构生成新ODM库
#odmchange 更改ODM库中的内容
#odmdrop 删除一个ODM库
#odmget 取出ODM库中的数据
ODM库文件的所在位置由$ODMDIR环境变量控制,默认是:
$echo $ODMDIR /etc/objrepos #odmget -q"uniquetype=tape/scsi/8mm and attribute=block_size" PdAt > file → 从ODM库文件PdAt中取出uniquetype是tape/scsi/8mm, → 并且attribute是block_size的一项,并保存到文件file #vi file → 编辑含有ODM内容的file文件 PdAt: uniquetype = "tape/scsi/8mm" attribute = "block_size" deflt = "1024" → 将默认的1024修改为512 values = "0-245760,1" width = "" type = "R" generic = "DU" rep = "nr" nls_index = 6 #odmchange -o PdAt -q"uniquetype=tape/scsi/8mm and attribute=block_size" file → 修改原项目,下面两个命令(删除并添加)与此命令相同(修改) #odmdelete -o PdAt -q"uniquetype=tape/scsi/8mm and attribute=block_size" → 删除原项目 #odmadd file → 将修改后的内容添加回原ODM库
ODM库文件有很多,如表1-6所示。
表1-6 ODM库文件
ODM库文件分布位置如图1-42所示。
图1-42 ODM库文件分布位置
22.Red Book,红皮书
IBM在网上免费公开了许多技术书籍,在很早以前,这些书的印刷版封面都是红色的,所以叫红皮书,现在则是在封面上印刷一个红色的地球。这些书由IBM出资编写,内容涵盖了IBM各种软、硬件产品的设计、管理技术,IBM希望通过提供更为专业的技术介绍和支持,让客户们更好地使用IBM产品,从而提高产品的市场接受度、占有率。发布红皮书的网站是:http://www.redbooks.ibm.com。
在这个网站可以下载html或者PDF格式的电子书(完全免费),也可以订购纸质书(要收一些费用)。红皮书的编写者可能是IBM自己的技术专家,也可能是IBM业务合作伙伴中的专家,甚至是IBM产品的用户。任何人只要具有足够的技能,通过IBM红皮书编写委员会的技术审查,就可以参加编写工作。红皮书的编写流程是红皮书编写委员会定期确定一些写作目标,在红皮书网站发出邀请,任何人都可以参与,把自己的简历发过去。如果通过了技术审查,就可以参加编写小组,一个编写小组需要3~5人。工作期间(一般2~3个月)的费用(包括工资、食宿、差旅、签证、测试试验环境)都由编委会提供,如果你有兴趣,不妨一试,一旦通过,这可是“公款”到美国旅游的好机会!当然,你需要好好撰写自己的简历,以证明你有足够的能力完成此书。
23.PD,Problems Determination,故障判断
PD是工程师经常用到的名词,意思为故障判断,当问题发生时,通过一些方法研究故障的根本原因(root cause),另一个与之具有同样含义的名词是Troubleshooting。当系统比较简单,问题很明显的时候,不需要什么技巧,而当我们面对一个小型机系统时,组件众多、关系复杂,就必须专门的PD技巧才能快速定位故障。完整的故障判断过程如下。
1)明确故障现象
最重要又是最难实现的一步,我们往往以为问题现象都很清楚了,实际上却不是这样。简单的一句话“某台机器无法访问”,与真正明确这个故障现象相距何止千里!你说这句话如同对医生说“我病了”一样正确但无用。这里面有许多经验和技巧,无法用简短的语言说明,通过一个例子你或许可以理解其间机巧。
没经验的小J:“我连不上服务器!”
资深的老S:“从一台PC机(地址是xxxx)通过telnet协议访问服务器(地址是xxxx)无法连通,telnet之后就停止在等待状态直到超时;与我同网段的其他机器可以正常连通;这台PC机访问其他服务器也正常,而且昨天也可以访问此服务器,并且在这段时间没有人对系统的软件、硬件、网络等做非例行操作……”
从以上说明故障现象的方式你就会发现,老S已经把问题描述得非常清楚,甚至感觉把可能的故障原因都进行了判断,并由故障现象说明中已经否决了一些可能的原因。对问题描述确实需要长期的经验积累,尽管有经验可谈,PD的能力依然不是能“教”得会的,需要自己“学”明白。前辈留下来的名言是:故障诊断与性能优化都是一门艺术,而不是技术。
另一条重要经验是实话实说,不要隐瞒,特别是对于自己已经不记得的事情,不要“猜想”自己当初是如何操作的,而要实话实说,告诉专家:我忘记了!这可以大大缩短问题解决的时间,防止造成别人的困惑,毕竟你需要最终解决问题,而不是把专家“难”住。
经常遇到一些年轻的工程师操作动作快,命令不熟练,有时由于自己的错误造成了一些后果,然后自己再试图用自己的方式去修正错误,而怕由于被别人知道丢了工作或受到批评,当然,这种自我保护的心理无可厚非,美国的宪法也有第五修正案嘛!但是如果从解决问题和避免损失的角度,首先不要在重要系统上去执行自己不熟练(不确知结果,而仅仅是试探性的)命令;其次,要检查系统环境是否正常,有时前一个人做了错误动作,但并没有生效,等你进行操作,重新启动了计算机,结果生效,你却只能一脸茫然地说:“不是我干的!不关我的事,我什么都没做!”。所以包括在进行重要工作之前先充启动计算机,以确认都完好是非常重要的经验;再次,操作不要过快,应看看结果是否正确再进行下一步操作,还要多注意你操作前后,系统是否有硬件、软件故障信息;最后,一旦发生了问题,要及早找技术专家解决,而不是自己去有病乱吃药,甚至掩盖“犯罪现场”。如果你怕被领导批评,可以找技术专家,而不是自己的领导(此时可以发现平时多几个朋友的好处),让他们帮你去判断后果,推荐解决方案。
2)了解系统构架和操作过程细节
你当然可以在不了解系统架构和操作细节的情况下对系统进行故障分析,这种分析叫做“黑箱分析”,是更复杂的问题分析手段,通常用于探索未知领域(例如产品开发),却不适合在工程领域进行故障诊断。因为工程领域的技术、产品都是已经经过验证的,一定是什么地方与原来正确的环境不一样,才会出现错误,理论上如果能将系统完全(所有的组件,甚至包括UPS/电缆等)更换为另一套系统,访问用户的操作恢复为昨天的情况(当然不太可能),则系统一定会正常。所以了解系统架构和过程细节既是可能的,又是必要的,你可以依次检查哪一部分“被更改”或与原来“不一样”。
这个时候你不能相信任何人说的话,对每个人说的话,都要对照你的拓扑图进行考查,可能他并没有骗你,但系统发生了许多他不知道的事情——网线被插到交换机的另一个端口、系统夜晚进行了软件升级等,这些都可能会导致同样的故障现象。反之,同一故障原因在不同的时间,又可能表现出截然不同的状况。
另一方面,有了架构图,就可以知道哪些地方出问题会对系统造成影响,导致什么结果。如果问题很复杂,经过一段时间分析后仍没有头绪,则不要先假设什么地方没问题,而是要假设所有的地方都有问题,然后一步一步确认此组件没有问题。例如如果服务器无法通过Telnet登录,那么可以查看其他的rlogin, ftp等类似的服务是否正常,这样去验证服务器、网络、服务程序自身是否正常。
3)问题定位(再现)和测试
不要急于动手更改任何硬件、软件,先要看和想。如果问题复杂,你的操作会“破坏犯罪现场”,对今后定位故障制造难度。有很多时候,故障是偶发的(持续发生的故障一般都比较容易判断、定位),你的操作会产生“故障循环”,你不知道是由于操作使问题解决(或导致新的故障现象),还是恰好这个时候一些偶发性故障没有发生(例如接触不良)。
只有做好了充分准备之后,才动手设计一些方案去验证故障和试探修复。每次只进行一个(或者一类,但千万不能多)变更,然后等故障再现,如果问题依旧,记得要恢复原状之后再进行下一次试验验证。如果你没能恢复原状,那么结果往往是问题莫名其妙地产生,莫名其妙地解决(实际上你并没有解决它),过了一段时间,你可能已经淡忘此事后,故障又毫无征兆地冒出来。最后一定要记得验证确实是这个问题,因为很多故障都是由接触不良引起的,你可能更换其他部件的时候恰好碰到了故障点(你并不知道),结果好像更换了这个设备,故障被解决了,可是不久之后,故障又出现。定位、判断故障的有很多种,常用的技巧如下。
● 极小配置法:就是将设备拆成可工作的最小配置,由于工程系统一定是由于什么东西不对才引起问题,因此如果拆除的组件中恰好包含了故障组件,则系统就可以正常运转,之后我们再把被拆除的组件一个一个还原归位,最后一个导致问题的组件可能就是故障点。
● 好部件替换法:如果猜想问题的来源是某个组件,那么可以用同类型部件替换掉这个组件,如果问题解决,那么被替换的就可能是故障点。
● 坏部件替换法:如同好部件替换法一样,可以将怀疑有故障的部件安装到好设备上(或恢复回原来系统)查看故障是否再现(要注意如果是电器故障,不建议这样测试,有可能导致损坏好设备)。前面已经说过,有时你的操作会以你预料不到的方式影响故障点,而且有可能临时掩盖故障现象,如果不进行坏部件替换,就不能确定问题所在。
● 槽位更换法:在AIX中有很强的故障定位能力,通常可以定位到故障点,但是有一些故障属于两个设备之间的配合问题,例如插板和插槽之间的虚连接,这就很难确定到底是哪个设备出现问题,还是两者都有问题。因此可以根据故障提示,更换故障相关两个设备的相互位置,等待故障再现,比对故障现象和故障点。如故障点是否移位,如果移位,再看移位的位置与两个设备中的哪个设备相关。
4)越离奇的故障,原因越简单
这是被千百次故障诊断结果验证的真理,没有那么复杂的原因,可能只是一根线接触不良,运行一段时间后温度过高,没有接SCSI电缆终结器,甚至是光盘坏了!
24.P/N
P/N——Parts Number,部件号,这是用于设备生产和维修时使用的代码。每一个P/N代表了唯一一个部件,并且即使在不同型号的机器上,只要P/N相同,就一定代表同样的东西;每一个部件也都有一个Parts Number,即使没有F/C。当你需要某些特别部件的时候,例如终端线、电池等,都需要告知P/N,这样可以确认大家所说的是同一个东西。在维修的时候进行部件更换,使用FRU号与P/N号都可以,只要你能找到对应的部件!通常由于P/N所针对的是较小的部件,所以会便宜一些。
25.ROS
ROM OS,就是小型机在软件启动之前执行的ROM中固化的软件程序。由于其内容繁多,功能强大,已经不是简单的小段程序,而是一个真正的操作系统。
26.PPA
Passport Advantage,是针对IBM软件产品的许可、软件升级准许权和技术支持的购买方式集,简单来说就是软件的8008101188电话支持,如果购买了PPA,则可以免费拨打800电话咨询技术问题和在软件小版本内免费升级。PPA需要连续购买,如果间断,则需要先补齐中间的差额。详细请参考:http://www-900.ibm.com/cn/software/ppa/faq.shtml。
27.PTF
Patch File,单独的AIX的补丁程序,也是对补丁的通称。具体请参考关于ML的解释。
28.SIGNAL信号
AIX定义了若干信号控制程序,有UNIX标准信号,也有非标准含义的信号,我们常用的是9和15,kill -9或者kill -15就是向程序发送此信号,让程序中止。
SIGHUP 1 /* hangup, generated when terminal disconnects */ SIGINT 2 /* interrupt, generated from terminal special char */ SIGQUIT 3 /* quit, generated from terminal special char */ SIGILL 4 /* illegal instruction (not reset when caught)*/ SIGTRAP 5 /* trace trap (not reset when caught) */ SIGABRT 6 /* abort process 此命令也用作强制生成此程序的dump,即core文件*/ SIGEMT 7 /* EMT instruction */ SIGFPE 8 /* floating point exception */ SIGKILL 9 /* kill (cannot be caught or ignored) 硬终止,我们经常用的 kill -9 pid 就是发送这个信号给操作系统,让它把这个程序终止*/ SIGBUS 10 /* bus error (specification exception) */ SIGSEGV 11 /* segmentation violation */ SIGSYS 12 /* bad argument to system call */ SIGPIPE 13 /* write on a pipe with no one to read it */ SIGALRM 14 /* alarm clock timeout */ SIGTERM 15 /* software termination signal 软终止*/ SIGURG 16 /* urgent condition on I/O channel */ SIGSTOP 17 /* stop (cannot be caught or ignored) */ SIGTSTP 18 /* interactive stop */ SIGCONT 19 /* continue (cannot be caught or ignored) */ SIGCHLD 20 /* sent to parent on child stop or exit */ SIGTTIN 21 /* background read attempted from control terminal*/ SIGTTOU 22 /* background write attempted to control terminal */ SIGIO 23 /* I/O possible, or completed */ SIGXCPU 24 /* cpu time limit exceeded (see setrlimit()) */ SIGXFSZ 25 /* file size limit exceeded (see setrlimit()) */ SIGMSG 27 /* input data is in the ring buffer */ SIGWINCH 28 /* window size changed */ SIGPWR 29 /* power-fail restart */ SIGUSR1 30 /* user defined signal 1 */ SIGUSR2 31 /* user defined signal 2 */ SIGPROF 32 /* profiling time alarm (see setitimer) */ SIGDANGER 33 /* system crash imminent; free up some pg space */ SIGVTALRM 34 /* virtual time alarm (see setitimer) */ SIGMIGRATE 35 /* migrate process */ SIGPRE 36 /* programming exception */ SIGVIRT 37 /* AIX virtual time alarm */ SIGKAP 60 /* keep alive poll from native keyboard */ SIGGRANT SIGKAP /* monitor mode granted */ SIGRETRACT 61 /* monitor mode should be relinguished */ SIGSOUND 62 /* sound control has completed */ SIGSAK 63 /* secure attention key */
29.smit
在AIX中,最为高效的管理工具就是smit,这是一种字符菜单方式的命令管理器。虽然使用命令行也可以实现管理目的,但是smit让你大大简化了工作的复杂性,也不容易出错。smit实际上就是将命令和参数组合起来,以方便管理人员实现管理功能,命令的格式和屏幕输出被存放到用户home目录(如果是root用户,就存放在/目录)的smit.script和smit.log文件里,便于日后检查。查看smit.script和smit.log可以看到实际执行的系统命令和曾经执行过的操作。
#smit -l PathName
参数-l将把smit.log文件保存到PathName所指定的目录中。注意:如果执行用户没有对所指定目录的写权限,将无法生成smit.script和smit.log。每次运行SMIT不会覆盖smit.log和smit.script,新的信息会追加到这些文件中。
#smit -D
参数-D执行smit将会以调试模式运行SMIT,这种方式下SMIT将产生更多的信息,保存到smit.log文件中。如果想研究SMIT所执行的命令,可以通过参数-D,保留更详细的信息,供学习分析。
在执行smit命令之后,如果是在图形界面进行的操作,会启动一种图形方式的smit,可以称之为是非常“ugly”的一种“图形界面”,所以强烈建议使用字符方式的smit。在敲命令的时候使用smitty,直接进入字符smit操作界面,而不用管当前的是图形方式还是字符界面。也可以在用户自己的.kshrc文件里加入下面一行,强制每次都是用字符界面:
#alias smit="smit -C"
smit功能键如表1-7所示。
表1-7 smit功能键
smit提示框符号的含义如图表1-8所示。
表1-8 smit提示框符号的含义
30.SMS
SMS即Service Menu System。IBM pSeries服务器为了提供更强的维护、管理功能,单独使用了一个小CPU进行电源、配置管理,被称为Service Processor,而与这个CPU进行交互操作的界面就是SMS(仅对POWER 4/5以前型号的机器有效)。通常只要将小型机的电源连接好,即使没有打开电源开关,液晶屏也会变亮,提示OK,此时只要将字符终端(或通过计算机仿真终端)连接到小型机的串口1(S1),并调整好通信参数(一般是9600bps, 8位数据,1位停止,无奇偶校验),然后按几次回车键就可以进入SMS。如果没有出现SMS,可能的原因有以下几点:
(1)以前SMS被设置成屏蔽状态,需要通过其他的方式进入SMS后,修改配置。或者简单地把SMS清成出厂配置。低端小型机可以使用主板电池放电的方法:拔下电源插头,打开机箱,找到主板上的纽扣电池,将其取下,等待几十分钟(也可能几小时,本人的经验是睡觉前取下电池,第二天早上就OK了);另一种方法通常也有效,而且更简单,那就是拔下小型机的电源插头,然后按住白色的电源开关按钮15秒钟。
(2)终端仿真程序参数设置不对,例如通信参数被修改为19 200b/s,如果无法确知正确参数,也可以使用主板电池放电的方法。
(3)终端线不对。尽管你所采用的终端线在安装系统的时候都没问题,但在连接Service Processor时一定要完全符合IBM小型机标准的终端线线序,建议按照本书中推荐的线序。
(4)最新型号的小型机(POWER 5系列)采用ASMI(Advanced System Management Interface,高级系统管理接口)方式,通过网络进行管理,而不再使用串行终端(当然终端也可以用于更低级的管理功能,例如更改ASMI的访问IP地址)。
通过SMS可以完成开机、关机、升级微码、设定启动顺序等功能,越高档的服务器,功能稍有增强,但差别不会很大。在本书第5章的“终端”一节有关于SMS的更详细介绍。POWER 4/5系列的机器采用HMC(Hardware Management Console)和ASMI(Advanced System Management Interface)两种方式进行管理,比SMS功能更强大,并且可以提供Web方式的管理界面。
31.SRN Service Request Number
服务请求码。当系统运行中有错误发生时将显示SRN,SRN码会以xxxx-xxx的形式显示在LED或者屏幕上,通常在AIX的错误日志中也会有记载。如果查询服务请求码的具体含义,可以访问Infocenter中的系统信息。
32.Version,如何查看AIX或相关软件是什么版本的?
小型机是一种专业服务器,操作系统中有许多程序,为了进行程序版本控制,每一个程序集都有自己的版本号。版本号是由小数点分隔的四位数字,例如5.3.0.9。其含义是:操作系统版本号(version).发行版号(release).改进版号(modification).修正版号fix。
最后的改进号和修正号不同的程序又经常被称为补丁,不同改进号的升级是免费的,即由v4.3.2可以下载免费的补丁程序升级到v4.3.3。
$oslevel 5.3.0.0 → 表明系统是5.3版。
如果想查看补丁版本可以用以下语句:
$oslevel -q
以下语句单独检查某一个程序集:
$lslpp -h bos.mp Fileset Level State Description ---------------------------------------------------------------------------- Path: /usr/lib/objrepos bos.mp 5.3.0.30 COMMITTED Base Operating System Multiprocessor Runtime Path: /etc/objrepos bos.mp 5.3.0.0 COMMITTED Base Operating System Multiprocessor Runtime
33.VI
VI是UNIX世界里普遍使用的全屏幕文本编辑器,几乎任何一种UNIX系统都提供VI,AIX当然也支持这种编辑器,不会VI,在UNIX世界可能寸步难行。如果熟悉DOS/Windows下的文本处理器,在开始接触VI时会感到它并不好用,然而当你熟悉、掌握了VI后,就会发现它实在是一种功能强大、灵活方便的编辑器,可以更快速实现文本查找、替换等功能。
UNIX不止提供了VI,还有一系列其他文本编辑器,包括EX,EDIT。相对于全屏幕编辑器,现在可能很难想象如何使用EX,EDIT这种行列编辑器。VI的原意是“Visual”,它是一个可以立刻看到操作结果的编辑器。VI必须控制整个终端屏幕的显示输出,而终端的种类有许多种,特性又不尽相同,所以VI需要知道现在所使用的是哪一种终端。通过TERM这个环境变量可以进行终端类型设定。
在命令行键入VI就可以进入VI的编辑环境。VI有三种模式:命令模式、文本输入模式及命令项模式。执行VI以后,先进入命令模式,此时用户可输入各种子命令对行进行编辑,如删除行、复制行等。在文本输入模式下,用户可以修改一行的内容并添加新行。在命令模式下键入i、I、a、A或o等即可进入文本输入模式,键入Esc键即可返回命令模式。在命令项模式下,命令输入位于屏幕底端一行,在命令模式按:冒号可以进入命令项模式。用户可以通过子命令输入更多的参数,如“/”子命令要求输入下一个查找项。用户使用Esc键返回命令模式。
1)VI的进入与退出
VI可以在全屏幕方式下编辑一个或多个文件。如果在执行VI时没有指定文件名,则VI命令会自动产生一个无名的空文件。如果指定的文件不存在,则VI将按指定的文件名创建一个新的文件。
进入VI后屏幕左方会出现波浪符号,凡是列首有该符号的情况就代表此列目前是空的。要离开VI可以在命令模式下键入:q或:wq命令则是保存后再离开(注意冒号)。注意VI并不锁住所编辑的文件,因此多个用户可能同时编辑一个文件,那么最后保存的文件版本将被保留。
以下是VI命令使用的一些选项及说明:
-c command :在对文件进行编辑前,先执行command命令;
-r filename :恢复文件filename;
-R :以只读方式编辑文件;
-y number :每屏只编辑number行文本。
2)VI的文本输入模式
使用以下几种命令可以进入文本输入模式(用户在任何时候都可以按ESC键返回命令模式)。
● 新增(append):
a :从光标所在位置之后开始输入文本。
● 插入(insert):
A :从光标所在行尾开始输入文本。
i :从光标所在位置之前开始输入文本。
I :从光标所在行的第一个非空白字符前面开始输入文本。
● 开始(open):
o :在光标所在行后插入一新行。
O :在光标所在行前插入一新行。
3)VI基本编辑命令
在VI里,输入和编辑都是通过输入字符。编辑是在命令模式下操作,先利用命令移动光标来定位要进行编辑的地方,然后才下命令做编辑。进入VI之后就是在命令模式,如果需要输入字符,需要按功能键转换到编辑模式,例如输入字符i之后就进入编辑方式(i代表插入字符)。如果想从编辑模式退出,按一下Esc键。各种命令及说明如表1-9所示。
表1-9 命令与说明
续表
这些编辑命令非常灵活,输入命令可以增加范围参数。例如dw是由删除指令d与范围w所组成的,代表删除一个字d (elete) w (ord) 。命令列表如下:
d删除(delete)
y复制(yank)
p放置(put)
c修改(change)
范围可以是下列几个:
e光标所在位置到该字的最后一个字母
w光标所在位置到下个字的第一个字母
b光标所在位置到上个字的第一个字母
$ 光标所在位置到该行的最后一个字母
0光标所在位置到该行的第一个字母
) 光标所在位置到下个句子的第一个字母
( 光标所在位置到该句子的第一个字母
} 光标所在位置到该段落的最后一个字母
{ 光标所在位置到该段落的第一个字母
4)文件处理子命令
:q结束编辑(quit)
如果不想存档而要放弃编辑过的档案则用:q! 强制离开。
:w存档(write)
其后可加所要存档的档名。可以将档案命令合在一起,例如:wq即存档后离开。
zz功能与:wq相同。
:n开始编辑VI激活的文件列表中的下一个文件。
:n filename指定被编辑的新的文件。
:e filename在VI中编辑另一个文件filename。
:e # 开始编辑另一个文件。
:e ! 重新装入当前文件,如果当前文件有改动,则丢弃以前的改动。
:r filename将文件filename合并至当前文件的文件尾。
例子
部份存档功能:可以用:n,m w filename将第n 行到第m 行的文字存放的所指定的filename里去。
查找替换功能::n,ms/source-string/target-string/g将替换从第n行到第m行的选择文字(如果n为1,m为$将全文查找替换。