走入IBM小型机世界
作者:Orian(网名:垃圾猪)
出版社:电子工业出版社
出版日期:2008年7月


第一章:认识IBM小型机

1、小型机的历史:
经过这么多年的发展,计算机市场最终形成了两大类产品:个人计算机(pc机)和商用计算机。
在pc机领域,由于信息技术能够提供近乎零的软件复制成本(盗版更是发挥了重要作用),导致异常明显的规模效应,最终导致windows操作系统和x86硬件平台胜出,基本上垄断了pc机领域。这也导致非计算机专业的业余人士,把电脑等同于桌面pc,操作系统等同于windows的错误认识。
在非pc机领域,由于销售量比pc机少很多,规模效应没有成为决定因素,使得每一种计算机都有自己的生存空间,没有哪一家能在所有行业中都独占鳌头。

2、计算机分类:
大型机:又叫Mainframe,通常特指IBM的eServer zSeries(原390系列)。
小型机、UNIX服务器:基于RISC技术的CPU,运行某一种UNIX类操作系统。
PC机及PC服务器:x86 CPU,操作系统Windows居多。

3、曾经生产RISC cpu的公司很多,也曾经很牛,譬如DEC,后被康柏公司收购,后者又被惠普公司兼并。现在还有IBM,Intel,Motorola,Sun,而Sun现在又被Oracle收购。
现在计算机界的四大金刚:IBM,HP,Oracle(Oracle收购Sun之后也有了自己的硬件,OS了),microsoft。

4、IBM四大系列计算机:
zSeries:大型机,原390系列,主要运行OS/390、VM、MVS、linux操作系统。
iSeries:原AS/400系统,运行OS/400操作系统,比较封闭的一款机器,所有硬件、软件都得IBM提供。
pSeries:IBM UNIX小型机。
xSeries:x86 CPU,运行windows、linux、Solaris操作系统。
IBM现在正进行产品整合,iSeries已经并入pSeries,预计不久,zSeries也会并入。


第二章:第一日上帝说:“我要计算”,便有了计算机。

1、POWER家族:
POWER CPU共有3个系列:POWER、Power PC、CELL(用于嵌入式)。
POWER系列:POWER1,POWER2,POWER3,POWER4,POWER4+,POWER5,POWER5+,POWER6。
Power PC(PC指Performance Computing,高效处理)。
IBM的芯片专利很多。
IBM最早设计了SQL,FORTRAN,第一台硬盘驱动器,第一台PC,最早的商用计算机。

2、AIX:Advanced Interactive uniX。

3、32位/64为问题:CPU有32/64问题,AIX有32/64之分,有些应用程序API也有32/64之分。
AIX下有查看CPU型号,主频的相关命令。

4、SMT:Simultaneous Multi-Thread,并发多线程;
   HMT:Hardware Multi_Thread,硬件多线程。

5、zombie:僵尸进程
ps -ef 显示的程序名为:defunct;
只查看僵尸进程:ps as ;

6、进程定时执行控制:
/var/spool/cron下的crontab文件。

7、SMP:Symmetric MultiProcessing,对称多处理器技术。多个CPU,每个在执行队列中选取一个线程执行。
Cluster群集技术:另一种实现并行的技术。多个os内核通过群集管理软件或并行计算应用软件进行并行处理。
SMP是硬件来实现并行,Cluster是软件来实现并行。

8、DUMP和DUMP分析
程序死掉会产生一个core dump文件,系统死掉会产生一个system dump文件。
可以把DUMP理解为系统当时的一个快照,供以后进行分析。
系统默认已有dump设备用来存放dump文件,也可以自己在分配,有很多相关命令。

系统dump时:888 102 205 0c0
第一段数字888:以888开头的都表示DUMP;
第二段数字102:状态码Message Type;
第三段数字205:原因码,一般都是硬件故障;
第四段数字0c0:DUMP状态码。
各种代码都有代码含义表。

9、系统性能优化
技术含量非常高的一个话题,工具和经验是最重要的优化手段。

10、虚拟化技术
计算机非常重要的一个概念,包括:资源共享和隔离、分配方式和颗粒度、上下层之间的相关性。


第三章:第二日上帝说:“储存与计算要分开”,便产生了内存

1、交换区,Paging Space
当程序访问的虚拟内存数据不在物理内存的时候,硬件系统产生中断,中断调用例程将需要的数据由磁盘上的交换区调入物理内存(Page In)。当物理内存没有足够空间存放执行数据的时候,执行换页算法,把内存中的适当也调出,保存到磁盘的交换区(Page out)。

AIX系统,传统的交换区配置为内存相等或者内存的两倍大小。实际应用中,要根据运行软件的情况进行设置。查看交换区使用率,经常超过50%,可以扩大,经常不到10%,可以缩小。

分配交换区的建议:

如何缩小默认的交换区:

2、内存管理
AIX虚拟内存管理把内存分为以下几种类型:
(1)、working,工作区,计算区;
(2)、persistent或permanent,文件区/缓存区;
(3)、client;
(4)、log;
(5)、mapping;

vmstat内存管理相关信息:
avm:active virtual memory,系统分配出去的所有虚拟内存之和;
fre:可用的物理内存;
sr:在寻找空余内存的时候,所搜寻到的内存页;
fr:在搜寻到的内存页中,真正能够释放的内存页。

管理内存的多条命令:

3、内存泄漏
内存泄漏是个很难避免的软件bug,治本的方法是找到内存泄漏的程序代码,修正错误,但是非常困难。于是有两种治标的方法:一是重启系统;但是商业环境的系统往往不能轻易重启,于是有了第二种方法,在程序启动是一次性申请足够大的内存(大型商业软件都是如此,例如Oracle的SGA区),自己在内部进行重新分配,如果内存泄漏严重,可以单独重启这一程序,而不用整机重启。
内存泄漏检查方案:

4、AIX的虚拟内存管理VMM(Virual Memory Manage)

5、内存优化:


第四章:第三日上帝说:“数据要永不丢失”,因此创造了磁盘

1、常见存储设备:
(1)磁带,最古老而又技术最先进,海量存储,最大1.5TB,吞吐速度快,最大160M/s;磁带不如磁盘的地方主要在于随机读写。
(2)磁盘,
(3)光盘,
(4)软盘,

2、RAID技术:

3、智能存储:在RAID阵列基础之上增强了RAID控制器的功能。

4、磁带库:有磁带机和机械手组成。

5、存储淘宝:AIX/pSerie,只要是SCSI设备基本都可用,但要对照清楚接口。

6、SCSI技术:Small Computer System Interface
包括:一组特定软件、硬件、接口标准;一种总线;一种通信协议。

-----------------------------------------------------------------------
第八章:第七日上帝休息了,我们却刚刚醒来

1、什么是技术:
technical skill:专业技术,包括计算机技术等;
professional skill:职业技能,包括销售,管理等。

2、AIX认证考试:
包括两个级别,specialist和expert,包括多门考试:
000-190:AIX Basic Operations V5;
000-223:System p Administrator;

3、我是否希望成为系统工程师:
需要的知识:一定的硬件技术,一定的OS技术,一定的Database技术,一定的中间件技术,一定的编程技术,一定的网络技术等。包含了系统工程师,应用系统管理员,程序员的角色。
总之就是计算机技术的大杂烩,博中有精。

4、怎样得到第一个系统工程师职位:
接受培训;获得认证;利用现有技能、现有机会;先寻找一个叫低级的系统工程师职位。

5、怎样进阶:
学习原理,知其所以然;
至少了解几门语言,熟练一门语言;c、java、sql、shell,不要提.net、sqlserver,iis之类。
自学能力,阅读英文文献能力;
实践;
参见各种论坛,多与别人交流。
成为各方面的专家(这是我的理想,而在我的观念中,理想不是用来实现的,而是用来仰望的)。

6、小型机的用途:
核心交易处理系统:银行,电信,制造行业;
数据处理中心、高性能计算:群集能力,可靠性,高强度数据计算;
前置业务、支撑软件服务器:企业IT环境。

7、小型机相关工作:
系统工程师1:os安装、管理、维护、升级、维修;
系统工程师2:db,中间件,维护;
软件工程师:应用程序开发;
IT架构师:IT系统设计;
------------------------------------------------------------------------------------

7、AIX的存储管理:LVM(Logical Volume Manager);
os看到的物理磁盘被称为Physical Volumes(PVs),对应设备名用hdisk表示;PV要加入Volume Group(VG,卷组)中,PV从属于一个VG后,被分为若干个大小相等的PP(Physical Partitions,物理分区);还可以继续在VG上创建Logical Vloume(LV,逻辑卷),组成逻辑卷的是Logical Partitions(LP,逻辑分区);
逻辑卷在/dev/目录下能看到对应的设备名;逻辑卷可以直接被应用程序使用,这种使用方式叫做裸设备方式,也可以在逻辑卷上创建文件系统,然后按照普通文件操作方式使用;
系统中管理PV完全依靠PV ID;
VGDA(Volume Group Descriptor Area):
VGSA(Volume Group Status Area):127个字节,每一位代表这个PV的一个PP的状态;
相当多的管理命令,还有涉及底层硬件的管理命令;

8、AIX的文件系统通常使用JFS(jonural File System,日志文件系统,也可能是第二代:JFS2),JFS通常与UNIX/Linux下的文件系统类似,但略有不同;
相当多的命令查看,管理文件系统,调整文件系统参数;

9、特殊的卷组rootvg:
管理自身的代码和配置文件:
    LV name        TYPE        SIZE(MB) MOUNT POINT
    hd5        boot    32    N/A    引导区
    hd6        paging    512    N/A    系统交换区
    lg_dumplv  sysdump    512    N/A    用于保存系统dump
    hd8        jfslog    32    N/A    rootvg中所有文件的log
    hd4        jfs    64    /    
    hd2        jfs    64    /usr
    hd9var     jfs    128    /var
    hd3        jfs    128    /tmp    
    hd1        jfs    32    /home
    usrlocallv    jfs    128    /usr/local
    hd10opt        jfs    256    /opt

10、LVM命令:

11、系统备份:


第五章:第四日上帝说:“你应与我沟通。”,终端由此产生

1、字符终端仿真:Nettem、PuTTY、telnet;
实现命令行编辑:set -o vi;

2、X-windows终端仿真:
UNIX系统的一种通用显示界面,叫做CDE(Common Desktop Eevironment)界面;

3、技巧:如何显示特定的命令行提示
$PS1='PWD$'                命令行提示:当前路径$
$PS2='${PWD##*/}$       命令行提示:路径的最后一级目录$

太多的技巧了;

4、SMS(System Management Service)
以字符、菜单方式进行小型机硬件管理的界面,由小型机的管理控制卡(Service Processor)提供支持;

5、HMC(Hardware Management Console)
用于在硬件层面管理IBM小型机,有两种操作方式:命令行方式和Web方式;
HMC的基本功能包括:小型机及配置识别、分区设置、启动\停止分区、动态分区资源迁移等;

6、DLpar(Dynamic Logical Partition)动态分区管理
动态资源迁移包括4中资源:物理CPU、虚拟CPU、内存、I/O控制卡(槽);

7、小型机的用户管理
/etc/passwd:包含用户的基本信息;
/etc/security/passwd:主要包含用户的密码信息;
/usr/lib/security/mkuser.default:包含创建用户时的系统默认信息;
/etc/group:包括用户组信息;
/etc/security/group:包括组的名字和类型;
/etc/environment:为系统中所有进程设置环境变量;
/etc/utmp:记录所有登录到系统中的用户信息;“who a”命令将读取该文件;
/var/adm/wtmp:记录系统所有用户的login和logout动作;
/etc/security/failedlogin:用户登录不成功时,将信息记录到该文件;
/etc/motd:用户登录时的系统显示信息;
/etc/security/user:用户扩展信息;
/etc/security/limits:指定每个用户处理资源的限制;
/etc/security/login.cfg:用户登录时的系统配置信息和用户授权信息;

增加一个用户(组):smit mkuser(mkgroup);
修改用户参数(组):smit chuser(chgroup);
删除一个用户(组):smit rmuser(rmgroup);
显示用户信息:lsuser;

8、小型机提示信息
位置代码(Location Code):系统中所有部件位置的定义代码,通常是6位16进制数字;
物理位置码:直接标记了物理位置,物理位置是一组用-, /, #, .分隔开的英文字符;
错误日志:Error Log:记录系统所有的异常信息;
故障码:系统启动时,在液晶屏上显示的一些代码,表示提示码或者故障码;

9、shell
一本书也写不完;
日常管理用shell实例:


第六章:第五日上帝说:“大家要联结在一起。”,网络时代降临

本章把所有通信设备都算做一种“网络设备”,包括系统总线、I/O总线、网络接口卡、存储接口卡、显示卡、串行通信卡;

1、小型机接口卡(Interface Card)
接口卡物理标准——PCI插槽:I/O卡都是用PCI插槽,PCI标准也有好多类型,参数不一样;
接口卡物理标准——网络GBIC接口:网络通用的光纤接口;
接口卡物理标准——FC接口设备协议的标准:网络传输相关标准;

2、设备管理
设备的四种情况三种状态:不存在、已定义(Defined)、可用(Available)、停止(Stopped);
查看设备状态:lsdev -C;
相当多相关命令;

3、网络技术
最原始的网络设备其实就是一台小型机,随着发展,网络设备逐渐专一化,路由专一化为单独的设备,接着其他功能模块也专一化

为单独的设备,防火墙、交换功能等;
配置IP地址:smit mktcpip;
修改Hostname:smit hostname;
改变网卡的配置:smit chinet;
删除网卡配置:smit inet;

4、路由管理
netstat的详细使用介绍:
路由管理相关命令;

5、网络工具
ndb:
iptrace:跟踪ip数据包;
lsof:查看当前服务器打开的文件;

6、网络连接状态
netstat -a可以查看到网络以下的几种状态之一:

7、no命令详解
调整网络参数最重要的命令之一,调整各个参数的值要弄清各个参数的含义;

8、资源控制
大部分网络服务功能和其他AIX的服务功能都是通过SRC(System Resource Controller,系统资源管理器)来管理的;
SRC本身是一个守候进程,叫做srcmstr;
最经常使用的SRC命令有:startsrc用于启动;stopsrc用于停止;refresh用于刷新(停止后再启动);

9、lsof使用介绍
UNIX下的文件分析工具,其含义就是“list open files”;
UNIX下“任何事物都是文件”,lsof分析文件描述符,可以实现很多功能;
查找应用程序打开的文件;查找打开某个文件的应用程序;找出谁在使用文件系统;有条件地恢复删除的文件;查找网络连接;

10、网络时钟同步
当管理多台小型机服务器时,统一服务器的时间用两种方法实现:启动xntpd守护进程;启动timed进程。

11、NIM(Network Installation Management,网络安装管理)
NIM可以实现的功能就是通过一台NIM服务器,对各个客户端提供网络裸机安装os、安装软件、网络备份/恢复os等功能;
在NIM的基础上,IBM推出了CSM(Cluster System Management),更增强了远程启动、停机、群集命令执行等功能;
NIM服务器和客户机之间通过nimsh(一种类似rsh的nim专用协议)或者rsh进行命令交互;


第七章:第六日上帝说:“这里将孳生生命。”,AIX被赋予那个奇妙的黑盒子,小型机诞生

1、启动、安装OS
(1)检查设备及系统配置信息;
(2)光盘启动(引导系统);
(3)重新启动、登录;
(4)修改必要的系统参数;

2、软件安装
(1)安装OS组件:直接通过IBM提供的光盘安装;
(2)安装AIX标准安装格式文件:
(3)安装第三方软件:
(4)补丁管理:


第九章:寻找金钥匙,开启小型机功能

1、应用软件及系统程序管理:
Alternate Disk Install:
实现当前系统在线运行时,进行新系统安装、旧系统升级或迁移的功能;

c语言编译环境:
IBM的Visual Age C/C++;
光盘上的文件:vac.c(c语言编译器);vacpp.cmp(c++编译器);vacpp.lic(版权控制文件);
IBM的VAC&VACPP产品要购买,也可以安装免费的gcc编译器;

制作CD系统备份:
与普通用磁带方式备份类似;

Java Developer Kit:
也可以下载eclips等免费的Java开发工具包;

2、存储管理:
AIO(Asynchronous IO,异步IO):
同步IO(Synchronous IO);
安装数据库时要打开AIO功能;

如何创建可以容纳超过2GB文件的文件系统:
文件大小的限制在/etc/security/limit中定义(fsize=),将其后数值改为-1可以不限制文件大小;

Snapshot存储快照:

3、网络管理:
AIX出现蓝屏怎么办:
通常都是DNS配置错误,AIX不能解析出自己的主机名与ip地址的对应关系,或者telnet时无法通过域名服务器获得客户机地址,直到DNS超时;
正确配置DNS解决;
直接修改/etc/hosts(添加IP和域名的对应)和/etc/netsvc.conf解决;
修改环境变量NSORDER解决;

4、安全管理:
AIX的log文件都在/etc/syslog.conf中定义;

5、Console、Shell操作:
kill,如何杀掉一个死进程:
kill -QUIT -KILL -STOP pid;
kill -15 pid(相当于“劝退”,需要程序自己退出);
kill -9 pid(相当于“开除”,只要程序没有在执行IO中,就可以杀掉);
如果这个进程正在等待IO,那么进程得不到kill信号,也不能退出,它会成为所谓的僵尸进程,只有重启系统才能清除,别无他法;


附录:
RISC:Reduced Instruction Set Computer;
CISC:Complex Instruction Set Computer;

09-04 02:28