54SA.COM|专注于系统运维管理,为中国SA提供动力!
Getting online shouldn't be tough. $7.99 .COMs
系统管理员之家Banner
当前位置: 主页 > Linux > Unix相关 >

AIX系统运维文档大全三

时间:2012-01-09 11:32来源:未知 编辑:admin

 

 

AIX是IBM公司开发的业界领先的优秀商务Unix操作系统,在可靠性、可用性、开放性、扩展性、高性能、安全性等方面都非常突出,尤其是在Internet的关键应用领域以及系统和硬件管理能力方面,其性能表现更为出色,受到了业界的普遍认可和广泛使用。

本文收集整理了AIX系统运维的相关文档,以章节形式供大家参考。所有资料来源于网络。

第三章目录:(31-48节)

第 32 节:AIX经验搜集

第 33 节:find的用法

第 34 节:RS/6000小型机故障的基本定位方法

第 35 节:使用lastcomm命令查看用户命令历史

第 36 节:关于OS定期检查及维护

第 37 节:关于AIX系统文件安全性方面的几点考虑

第 38 节:AIX资源监控与调制工具

第 39 节:fastt动态扩展容量

第 40 节:aix操作系统的备份和恢复

第 41 节:使用recreatevg来修复卷组

第 42 节:组织规划逻辑卷以增加系统的I/O性能及可靠性

第 43 节:深入讨论lvm,你该如何换硬盘?

第 44 节:模拟硬盘更换

第 45 节:AIX资源监控与调制工具

第 46 节:关于AIX系统文件安全性方面的几点考虑

第 47 节:使用lastcomm命令查看用户命令历史

第 48 节:RS/6000小型机故障的基本定位方法

 

本章内容:

第 32 节:AIX经验搜集

 

如何建立第二个root用户

AIX V3, V4

建立第二个root用户

步骤如下:

1. 添加一个用户

2. 手工修改/etc/passwd文件中的 user ID 和 group ID

3. 将user ID改为0.

如下,可对用户russ做改动:

将 russ:!:206:1::/u/russ:/bin/ksh

改为:russ:!:0:0::/u/russ:/bin/ksh

具有root权限的用户可执行一条命令,完成特定的任务。如下你可以建立一个用户(shutdown)负责系统的重启动.

在AIX 3.2.5中:

shutdown:!:0:0::/u/shutdown:/etc/shutdown -Fr

在AIX 4:

shutdown:!:0:0::/u/shutdown:/usr/sbin/shutdown -Fr

这个用户一注册,操作系统就会重起。

 

AIX 的许可权限

说明

如何查看许可权限

许可权限字母的意义

当产生文件或目录时, 如何决定性权限

如何改变文件或目录的所有者或组

如何改变文件或目录的权限

ACL

文件系统和目录安装点权限

NFS安装文件系统许可

本文介绍了AIX 如何控制文件和目录的权限 。所有文件和目录对以下对象都有权限控制 : 所有者(通常是创造文件的人)

用户组(将该组作为组集之一部分或主组的任何人)

其他人(不是所有者或不属于这个群的用户以外的任何用户)

AIX 4.3版本和RS/6000产品资料可在以下网址获得 :

http://www.rs6000.ibm.com/resource/aix_resource/pubs/index/index html.

1.如何查看许可权限

执行命令" Is -l file_name " 或" Is -ld directory-name" 会显示不同的数据, 左侧的一个 有10个字符的字串:

—rwxrwxrwx

该字符串可分解为3个许可权限集:

—rwx rwx rwx

| | |其他用户许可 。

| |

| |

| 把该组作为主组或作为他们组集之一部分的用户许可。

|

文件或目录所有者许可

这些命令同时也显示文件或目录的所有者和用户组 。

—rwxrwxrwx joe joegroup

许可 所有者 用户组

所显示的所有者名称来自 /etc/passwd。文件的inode 存储用户的Id 。如果你看到的是一个数字而不 是名称,这就是说/etc/passwd文件无法读取,或该文件不存在此用户id 。同样,用户组的名称来自/etc/group 文件.

系统首先检查你是否是所有者;如果是,你会得到所有者的许可权限 ,即使这个许可比 “用户群”或“其他人”许可权限集严格。

然后系统会检查你是否将该组列为主组或组集的一部分。如果是,你会得到组许可,尽管这些 许可限制比“其他人”许可权限集更严格。

如果你既不是所有者也不是组集的一部分,你会得到“其他人”的许可。

2. 许可权限的字母的意义

许可权限字母的意思因文件或目录的不同而有区别。读/写目录的权限与读/写目录所指文件的权限无关。

对于目录,许可权限字母的含义如下:

r --- 指读目录中文件列表的能力,如"ls"命令。

注 :如果只有读目录列表的许可,则不可以在目录内部执行命令。

x ---目录搜索能力。可以在已知文件名时在目录中执行此文件。一般来说,大多数目录操作都要求读®和搜索(x)权限。

w---同搜索(x)权限共同使用时,在目录中产生或删除文件的能力。如果目录具有写的权限,而没有在文件写的权限,你仍可以删除文件,但不可以修改文件.

t ---指链接权限。设置链接权限可防止除文件所有者、根用户和目录所有者之外的所有用户删除文件,虽然目录中的权限可能允许删除这个文件。在这种情况下,可为“其他人”设置搜索(x)位。

T---同t相同,但不为其他用户设置搜索(x)位。

s---不适用于所有者。用于用户组 ,它成为组的继承位(sgid,亦称set groupid) 。这个目录中创建的所有文件都与此目录有同样的组。

S---与s相同,但不为用户组设置搜索(x) 。

对于文件,许可字母有下列含义:

r--- 指阅读文件的能力。

w--- 指修改文件的能力。只有在目录中有写权限时才可以创建或删除文件。

x--- 指执行文件的能力。

3. 当产生文件或目录时,如何决定性权限?

用户id(uid)用来设置文件所有者。主组用来设置用户组(除非创建文件的目录有Sgid位设置)。

"umask "可设置初始权限。在命令行中键入"umask "命令,查看当前设置 ,如要修改" umask"设置,输入umask号码,如:

umask 022。

"umask" 命令不设置文本文件和脚本文件而只在目录中设置执行位。

如果你创建一个目录或文本文件,可按以下例子设置权限 :

以umask 022为例 :

777-022=755

666-022=644

执行"ls -l",会显示以下权限,(r=4, w=2, x=1)

目录:rwxr-xr-x

文本文件:rw-r--r--

4.如何改变文件或目录的所有者或组?

"chown "和 "chgrp" 命令用于改变所有者和组。只有"根 "用户才能改变文件的所有者。" 根"用户或文件的拥有者可以改变这个文件的组。

使用Chgrp命令:chgrp (New_group_name) (file_name)

使用Chown命令: Chown (new_owner) (file_name) 或 chown (new_owner) (file_name)

5.如何改变文件或目录的权限?

使用"chmod "命令来改变文件或目录的权限.权限可以用字母或数字表示。读 ® = 4 ,写(w) = 2 ,执行(或搜索)(x) = 1

这些数字加到一起就得到用于chmod命令的数字.(注意:如果您正在文件或目录中使用ACL,使用数字模式chmod命令会使ACL无效) 。

如 :所有者权限:读+写+执行= 4+2+1=7

组 许 可 权 限 : 读 + 写 = 4+2 =6

其他用户许可权限:阅读=4

chmod 764 file_name。

如要设置特殊位如suid(设置用户ID)、sgid和链接数位,chmod命令需要第四个数字。

suid=4

sgid=2

link=1

如要在前面的例子中加入suid许可,它的命令是:

chmod 4764 file_name

如果采用符号模式,首先确定要改变哪个位置所有者 、组[g] ,其他[o] 或所有[a])和要加(+)或减(- )哪些符号。要为所有者增加读和写的权限,可采用以下两种方式:

chmod u+r u+w (file_name) 或 chmod u+rw (file_name)

6. ACL

ACL是对标准权限位的扩展。通过修改分配给个人或组的标准权限,对每个文件或目录进行更精细的控制。对每个组或用户,有3种权限分配情况:

PERMIT : 准许对文件或目录的特定权限。

DEMY : 限制对文件或目录的特定权限。

SPECIFY : 明确地定义文件或目录权限。

"acledit "命令用于建立ACL。首先必须设置文本编辑器.如:export EDITOR=/usr/bin/vi。

然后使用:acledit file_name

屏幕上将会显示:

attributes:

base permissions

owner (rcunning): rwx

group (staff): r—

others: ---

extended permissions

disabled

要设置扩展的权限,将“disabled ”设置改为“enabled”:

extend permissions

enabled

使用permit、deny 或specify关键字来定义扩展权限。前面的例子表明只有所有者能对这个文件写操作。组成员能读此文件而其他用户则没有任何许可权限。如果要使用户" joe"能够读写这个文件,用以下命令:

extended permissions

enabled

permit rw- u: joe.

要允许组用户joegroup读这个文件,用以下命令:

rermit r-- g: joegroup

你能够通过在同一行中合并多个条目来对权限进行微调。如果只想为pete提供读写权,而他是系统组的一部分,则用以下命令:

permit rw- u: pete, g: system

要为几个用户或组增加许可权限,则使用分行命令 :

permit rw- u: joe

permit rw- u: pete

使用" ls -el"命令,查看ACL是否已在文件中设置。如"ls -el profile"命令显示:

— rwxw--------+

最后的+表示文件已具 有有效的ACL 。

注意:使用有数字争议的chmod 命令将使文件或目录的ACL无效。

7.文件系统和目录安装点权限

文件系统安装在目录安装点上。安装点和文件系统都有权限。安装点的权限由文件系统创建时所采用的umask设置来决定。

虽然已安装文件系统的权限优先于安装点的权限,但安装点必须尽可能限制每个人的搜索权限(也就是111)来避免不可预测的结果。记住,安装文件系统后,不能看到安装点上的权限。在检查或改变安装点权限之前,必须卸载(umount )文件系统。

在创建文件系统时,缺省权限来自基本文件,同时sgid (组 继 承)位被设置。用户的umask不用于文件系统中而只用于基础安装点。

8.NFS安装文件系统许可

网络文件系统(NFS)安装在当地目录中。目录安装点在创建网络安装文件系统时建立。安装点在建立时使用当前的umask设置来决定许可权限。

NFS 安装文件系统使用一个叫作nobody的特殊用户id。这个uid一般都是很大的数字,以便使它不会和真实用户id发生冲突。除非NFS服务器在 /etc/passwd中有您的用户id(不是文本名) ,否则你在远程安装文件系统时所享有的权限只使用该假用户nobody。如果你的用户id碰巧与远程系统的某个有效id相吻合,你就会成为是由那个所有者创建的所有文件的所有者。这有可能导致无法预见的严重后果。如果你希望能够在远程系统中创建和拥有文件,你的本地系统和服务器系统必须具有与 /etc/passwd文件中相匹配的用户(用户名称和相同的id号码)。而且文件系统必须以能够读和写的形式输出。

"根"用户是一个特殊情况。由于“根”用户id在所有系统中都是0,如果没有特殊保护,任何安装该文件系统的系统都将成为该服务器系统的根。因此,NFS文件系统的输出必须带有一些主机名称的" 根"接入,以便使您可以从这些主机名称中要求特殊的"根"接入。如果文件系统不以这种方式输出,"根"就成为用户nobody.

如何限制用户改变密码

RS6000,AIX V4

如何限制用户改变密码?

可以用命令pwdadm -f ADMIN username来实现,如果想让用户恢复更改密码的权利,运行pwdadm -f ADMCHG username 来重置.

非root用户的登录问题

本文档描述了非root用户的登录及权限问题, 以及这些问题如何通过检查目录和文件的权限, 属主及属组来解决.

问题的症状

. 用户得到下面的错误信息, 可能指明组文件丢失或被破坏:

3004-010 设置终端属主和模式失败

/etc/passwd 文件中对应该用户的主组不能在/etc/group文件中被找到.

如 tps:!:215:1::/u/tps:/bin/ksh

在上例中, 组号为1. 检查/etc/group文件确认组号1存在.

. 只有root用户可以登录, 一般用户得到下面的错误信息:

3004-009 运行登录初始程序失败

系统不可用

. 执行命令 su - [user_name] 时返回如下错误:

3004-505 不能设置进程环境

. 用户登录后得到如下错误信息:

0653-345 权限被拒绝

(当登录后进行任何操作时)

ksh: pwd: 不能访问父目录

(当登录后执行pwd命令时)

这些现象是由于用户不能执行登录初始程序或由于用户主目录的权限问题造成的.

检查问题文件和目录的步骤

下述步骤说明如何检查有权限问题的文件或目录.

如果任何文件或目录的权限有问题, 使用命令 chmod, chown 或 chgrp 更改相应的权限, 属主或属组.

如果符号链接丢失, 使用ln命令重建它.

例如, 要创建/bin链接到/usr/bin, 执行下面的命令:

ln -s /usr/bin /bin

步骤

1. 以root身份登录

2. 如果非root用户登录时得到的是系统不可用的错误, 则继续本步骤. 否则, 跳到下一步.

用命令 ls -l /etc/nologin 命令检查文件/etc/nologin.

如果文件/etc/nologin存在, 用命令 rm /etc/nologin 删除它.

对于AIX 4.x, 执行:

cd /

ls -al

输出举例:

drwxr-xr-x 19 bin bin 1024 Dec 12 21:14 .

drwxr-xr-x 19 bin bin 1024 Dec 12 21:14 ..

lrwxrwxrwx 1 bin bin 8 Nov 22 09:37 bin -> /usr/bin

drwxrwxr-x 4 root system 2048 Dec 12 21:12 dev

drwxr-xr-x 12 root system 2048 Dec 12 21:11 etc

drwxr-xr-x 5 bin bin 512 Nov 22 14:51 home

lrwxrwxrwx 1 bin bin 8 Nov 22 09:37 lib -> /usr/lib

drwxr-xr-x 20 bin bin 512 Nov 22 13:33 lpp

drwxr-xr-x 3 bin bin 512 Nov 22 09:37 sbin

lrwxrwxrwx 1 bin bin 5 Nov 22 09:37 u -> /home

drwxr-xr-x 20 bin bin 512 Nov 22 14:24 usr

drwxr-xr-x 12 bin bin 512 Nov 22 12:59 var

3. 执行:

ls -ld /usr/bin /usr/lib /tmp

输出举例:

drwxr-xr-x 3 bin bin 10752 Nov 22 12:53 /usr/bin

drwxr-xr-x 28 bin bin 4096 Dec 15 17:08 /usr/lib/

drwxrwxrwt 8 bin bin 2560 Jan 22 14:46 /tmp/

4. 执行:

ls -l /usr/bin/csh /usr/bin/ksh /usr/bin/bsh

输出举例:

-r-xr-xr-x 2 bin bin 341020 Nov 22 09:37 /usr/bin/bsh

-r-xr-xr-x 1 bin bin 154412 Nov 22 09:37 /usr/bin/csh

-r-xr-xr-x 4 bin bin 230148 Nov 22 09:37 /usr/bin/ksh

确定用户的主目录. 在这些步骤中, 假定用户的ID和目录为"user_one".

5. 执行:

ls -ld u/user_one (use path of user's directory)

输出举例:

-drwxr-xr-x 9 user_one system 7680 Dec 24 15:00 /u/user_one

该目录应被此用户所有, 并且此用户应对它有rwx权限.

6. 执行:

cd /u/user_one

ls -al | pg

输出举例:

drwxr-xr-x 9 user_one system 7680 Dec 24 15:00 .

drwxr-xr-x 71 bin bin 1536 Dec 14 09:37 ..

"."目录的所有者应为该用户. ".."目录的权限对于组和其它用户至少应为r-x.

7. 如果用户仍然有权限被拒绝的问题, 但没有登录的问题, 则可能是由于文件系统mount点的权限造成的.

为了检查mount点的权限, 文件系统必须首先被unmount. 一些文件系统的mount点则只能在进入系统维护模式的情况下进行检查.

如何屏蔽某一用户的ftp访问?

产品: AIX

平台: RS

机型: RS6000

如何屏蔽某一用户的ftp访问?

将被拒绝的用户名加入到/etc/ftpusersw文件中

var/adm/wtmp档案太大怎么办

产品:RS/6000

软件:AIX

/var/adm/wtmp文件保存所有用户登录的讯息,随著时间会增长到很大,/var/adm/wtmp档案太大时怎么办?

/var/adm/wtmp档案太大时,有时需要清理或编辑整理。

要清理它,执行cp /dev/null /var/adm/wtmp.

要编辑整理部分清理,用fwtmp命令先将文件wtmp变成ASCII格式的档案dummy.file:

/usr/sbin/acct/fwtmp < /var/adm/wtmp > dummy.file,

编辑之後用

/usr/sbin/acct/fwtmp -ic < dummy.file > /var/adm/wtmp

再将ASCII文件转变成二进位文件.

JESMSG显示屏幕,进行类似于上述2中的操作即可.

AIX 用户的系统资源使用限制

说明

适用操作系统

网络配置步骤

本文介绍的是AIX用户的系统资源使用限制,以及修改方法。

适用操作系统

AIX V4

网络配置步骤

AIX 用户使用的系统资源限制包括两个概念 --- 硬限制(hard limits) 和软限制(soft limits)。

hard limits自AIX 4.1版本开始引入。hard limits 应由AIX系统管理员设置,只有security组的成员可以将此值增大,

用户本身可以减小此限定值,但是其更改将随着该用户从系统退出而失效。使用下列命令可以查看hard limits的限定值:

ulimit -Ha

soft limits 是AIX核心使用的限制进程对系统资源的使用的上限值。此值可由任何人更改,但不能超出

hard limits值。这里要注意的是只有security组的成员可使更改永久生效,普通用户的更改在其退出系统

后将失效。使用以下命令可以查看soft limits的设置:

ulimit -a

下面为系统的soft limits的默认值:

3.2

4.1-4.3

===============

=================

fsize = 2097151

fsize = 2097151

core = 2048

core = 2048

cpu = 3600

cpu = -1

data = 131072

data = 262144

rss = 65536

rss = 65536

stack = 8192

stack = 65536

nofiles = 2000*

nofiles=2000 *

* 该值(nofiles)只能在AIX 4.3.1 或以后的版本中更改。

上述定义作为默认值存放在文件 /etc/security/limits 中,在新用户被加进系统后生效。直接更改此文件中的定义值

需要将系统重新启动以便使更改生效。将相应值该为"-1" 表示不受 soft limits的限制(unlimited)。

下面我们将就各字段逐一进行介绍:

fsize 用户创建的文件大小限制。此定义值(512字节为单位)为该用户可以生成的最大文件的大小。

core 生成的core文件大小的限制(512字节为单位)。

cpu 用户进程可用cpu的限定值(以秒为单位)。普通用户只能将此值减小,root可以将此值增大。这里要注意的

是进程使用CPU的时间取决于AIX Kernel(核心程序)进程调度算法,该值在此仅做参考。

data 进程数据段大小的限定值(以字节为单位)。

stack 进程堆栈段大小的限定值(以字节为单位)。

rss 进程常驻内存段的限定值(以字节为单位)。AIX核心并不参考此限定。

nofiles 进程中打开文件的最大数量。此限定在AIX 4.3.1之前的版本中固定为2000。在AIX 4.3.1及其之后的版本中

可将此值增大至32767。

下面介绍三种修改上述限定值的方法:

1. 编辑文件/etc/security/limits,直接修改各定义值。此更改在系统重新启动后生效。

2. 使用命令ulimit修改默认值。例如:

ulimit -f value

ulimit -c <value>

ulimit -t <value>

ulimit -d <value>

ulimit -s <value>

ulimit -m <value>

ulimit -n <value>

将修改fsize, core, cpu,data, stack, rss和nofiles的soft limit值。

3. 使用命令chuser修改某用户的限定值。例如:

chuser fsize=<value> <username>

chuser core=<value> <username

chuser cpu=<value> <username>

chuser data=<value> <username>

chuser limit=<value> <username>

chuser rss=<value> <username>

chuser nofiles=<value> <username>

将用户“username”的soft limits改为值“value”。

chuser hard_fsize=<value> <username>

chuser hard_core=<value> <username>

chuser hard_cpu=<value> <username>

chuser hard_data=<value> <username>

chuser hard_limit=<value> <username>

chuser hard_rss=<value> <username>

chuser hard_nofiles=<value> <username>

将用户“username”的hard limits改为值“value”。

[技术文档]目录:

[技术文档]说明/内容摘要:

[技术文档]详述:

更改HACMP环境里网卡的ip地址

AIX,HACMP

如何更改HACMP环境里网卡的ip地址?

更改HACMP环境里网卡的ip地址的步骤如下:

1.运行命令:

/usr/sbin/cluster/utilities/cllsif > /tmp/cllsif.orig ,

/tmp/cllsif.orig文件里就包含您的HACMP网卡当前的ip地址;

2.停止您系统上正在运行的与当前ip地址有关所有应用;

3. 停止所有有关节点系统的HACMP服务:

smitty hacmp

Cluster Services

Stop Cluster Services

4.停止所有有关节点系统的TCPIP服务 :

stopsrc -g tcpip

5.更改各个节点的HACMP网卡的boot和standby地址:

smitty tcpip

Minimum Configuration and Startup

6.在各个节点上编辑/etc/hosts文件,更改成要求的ip地址:

boot,service和standy的ip地址;

7. 在各个节点上启动TCPIP服务:

startsrc -g tcpip

8. 用ping或者telnet命令来测试并确保各个节点在网络中是可访问的;

9.在HACMP的配置里更改ip地址:

smitty hacmp

Cluster Configuration

Cluster Topology

Configure Adapters

Change/Show and Adapter

10. 同步cluster的拓扑结构:

smitty hacmp

Cluster Configuration

Cluster Topology

Synchronize Cluster Topology

11.检验环境:

smitty hacmp

Cluster Configuration

Cluster Verification

12. 运行命令:

/usr/sbin/cluster/utilities/cllsif > /tmp/cllsif.new ,

比较/tmp/cllsif.new文件和先前的/tmp/cllsif.orig文件,所有ip地址的改变都将反映出来;

13.把各个节点上除了rootvg外的所有卷组都置为不可用状态:

varyoffvg vgname ;

14.启动 HACMP服务:

smitty hacmp

Cluster Services

Start Cluster Services

15. 如果用了DNS服务,对DNS服务器做必要的更改;

16. 用新的ip地址进行HACMP的资源接管测试。

如何搜集TCP/IP问题的相关资料

在TCP/IP发生问题时,可搜集相关信息,寄给IBM来诊断

这篇文章主要描述了如何搜集TCP/IP问题的相关资料,然后可以把这些资料传给IBM做技术分析,通过本方法搜集的信息资料比较完全,以避免来回搜集资料的烦琐。这些搜集的资料既可以用来诊断比较简单明显的问题,也可以用来诊断比较复杂的问题甚至是系统bug。

步骤如下:

一、

df命令检查/tmp空间,因为snap将在/tmp下产生ibmsupt目录,并将搜集的所有资料放到该目录下,所以该目录必须有较大空间存放资料,如果/tmp不够,请扩充之,如果不愿在该目录下存放资料,可在snap命令后用 -d 参数指定新的目录。

二、

运行snap -r删除上次所做的snap资料,将出现

The following directories and files will be deleted:

----------------------------------------------------

/tmp/ibmsupt/filesys (directory)

/tmp/ibmsupt/general (directory)

/tmp/ibmsupt/kernel (directory)

/tmp/ibmsupt/nfs (directory)

/tmp/ibmsupt/other (directory)

/tmp/ibmsupt/tcpip (directory)

/tmp/ibmsupt/testcase (directory)

Do you want me to remove these directories (y/n)?

选择y,删除上次所做的snap资料

运行snap -gGtkfn 命令搜集资料,将出现

Checking space requirement for general information..............................

........................................ done.

..Checking space requirement for tcpip information..................... done.

Checking space requirement for nfs information.............. done.

Checking space requirement for kernel information............. done.

Checking space requirement for filesys information..................... done.

Checking for enough free space in filesystem... done.

********Checking and initializing directory structure

Creating /tmp/ibmsupt/filesys directory tree... done.

Creating /tmp/ibmsupt/kernel directory tree... done.

Creating /tmp/ibmsupt/nfs directory tree... done.

Creating /tmp/ibmsupt/tcpip directory tree... done.

Creating /tmp/ibmsupt/general directory tree... done.

Creating /tmp/ibmsupt/general/diagnostics directory tree... done.

Creating /tmp/ibmsupt/testcase directory tree... done.

Creating /tmp/ibmsupt/other directory tree... done.

********Finished setting up directory /tmp/ibmsupt

Gathering general system information......... done.

Including Pd* ODM files in general information.......... done.

Gathering scanout information..done.

Gathering tcpip system information...................... done.

Gathering nfs system information............... done.

Gathering kernel system information.............. done.

Gathering filesys system information.................................. done.

该命令将搜集文件系统、内核、NFS、TCPIP等等方面的信息。

三、

用vi编辑器,生成readme文件如下

/tmp/ibmsupt/testcase/readme

在该文件中回答下列问题:

1、发生问题的程序名或设备名

2、如果发生问题的是一个网络设备,请描述网络适配器的种类

3、尽可能地描述问题,包括:

a、如果问题是关于网络性能,请说明目前的网络吞吐量和期望值,避免用“慢”这种词来描述,请指名速度比如20Kbytes/sec。

b、如果该问题是关于某程序的,请说明仅针对于该程序还是多个程序,如果多个程序,请指明之。

c、如果问题比较易于重现,请说明重现方法以及错误输出。

d、如果问题是关于一个non-AIX程序,请说明其和AIX的关联关系,以及AIX所产生的错误

e、这么问题是否是第一次产生,如果是,请说明其发生前系统或网络所发生的变动

4、填入任何其它你以为相关的信息

四、

以下步骤仅用于问题比较易于重现的情况

1、在有问题的机器上运行iptrace

startsrc -s iptrace -a "-b -d <IP address of remote client> /tmp/ibmsupt/testcase/iptrace.bin"

2、重现问题

3、运行命令

stopsrc -s iptrace

4、运行netstat命令

netstat -v > /tmp/ibmsupt/testcase/netstat-v.out

netstat -in > /tmp/ibmsupt/testcase/netstat-in.out

netstat -rn > /tmp/ibmsupt/testcase/netstat-rn.out

netstat -D > /tmp/ibmsupt/testcase/netsat-D.out

netstat -s > /tmp/ibmsupt/testcase/netsat-s.out

netstat -an > /tmp/ibmsupt/testcase/netsat-an.out

netstat -m > /tmp/ibmsupt/testcase/netsat-m.out

5、运行命令

arp -an > /tmp/ibmsupt/testcase/arp-an.out

no -a > /tmp/ibmsupt/testcase/no-a.out

五、

遵循以下步骤将文档发给IBM

1、snap -c 将所搜集的文件归档,该命令将产生

/tmp/ibmsupt/snap.pax.Z或/tmp/ibmsupt/snap.tar.Z,如例:

#snap -c

Creating compressed pax file...

Starting pax/compress process... Please wait... done.

-rw------- ----1 0 ----0 ------717829 Sep 17 11:34 snap.pax.Z

2、将该文件发送给IBM

在AIX中如何对用户卷组进行卷组备份

在AIX中可以使用mksysb对系统rootvg进行备份,对于其他用户卷组该如何备份?在本文将着重介绍在AIX中如何创建、验证和恢复用户卷组的备份。

由于在AIX中 mksysb命令只能备份rootvg中文件系统的内容,所以还需要有其他途径来备份用户卷组上的内容。使用系统中的savevg 命令就可为用户卷组 创建一卷组备份,使用restvg 命令恢复savevg 所做的备份映像 ,包括重新创建用户卷组、逻辑卷和文件系统等操作。

需要注意的是,所有用户卷组上的逻辑卷的定义会写到备份设备上并在重建卷组时创建,但只有已mount的文件系统中的内容才会在执行savevg命令 时备份到备份介质上。Savevg命令不能备份裸设备上的内容。

附加下载文件:savevg.doc

AIX中如何解决不能释放光驱的问题

产品: RS6000

平台: AIX

在AIX上由于异常终止或其它原因经常会遇到不能正常释放光驱的问题

#fuser -kxuc /dev/cd#

或#fuser /dev/cd# 列出当前访问此设备的进程,然后使用kill -9 pid终止所有进程。

"Volume Group Locked" 恢复步骤

产品:AIX

平台:RS/6000

遇到错误消息 “ 0516-366 putlvodm: volume group rootvg is locked, try again”,可按下列步骤进行恢复。

本文所述方法针对AIX V4.2 或更新的版本。

逻辑卷操作的异常终止有时会造成卷组(VG)被锁定,这时需用命令

chvg -u [vgname]

将被锁定的卷组解锁。“vgname”为被锁定的卷组 。

查看SSA磁盘中pdisk与hdisk的对应关系

AIX V4

怎样查看SSA磁盘中pdisk与hdisk的对应关系?

ssaxlate命令显示pdisk与hdisk的对应关系.

#ssaxlate -l LogicalDiskName

#ssaxlate -l PhysicalDiskName

无法删除文件系统

产品:RS6000

平台:RS

软件版本:AIX 4.3

可以mount或unmount一个文件系统,但却无法删除该文件系统,在删除时,系统报错:0516-306:get lvodm: unable to find <lvname> in the device confgiguration data.

发生此错误的原因可能是ODM数据库中的定义与实际不一致。可以用命令 lsvg -l rootvg 检查该文件系统的类型,若类型显示为???,则用命令 synclvodm -P rootvg 和 syncvg -v rootvg 进行同步,之后再用命令 lsvg -l rootvg 显示出正确的文件类型。此时可以成功删除该文件系统。

AIX 5.1文件系统类型简介

本文简单介绍AIX 5.1支持的文件系统类型。包括:

JFS(Journaled File System)

JFS2(Enhanced Journal File System)

GPFS(General Parallel File System)

RAM File System

Journaled File System

JFS 是AIX 4.3.3及其以前版本以及AIX 5.1 32位核心环境中的默认文件系统类型。JFS可以根据所记录的文件系统中的文件元数据(metadata)修复被损坏的文件系统。通过文件系统日志,系统可以将文件元数据的更改信息记录到文件系统的预留区域中,而对文件的写操作则在此日志更新完成之后进行。这样的文件系统结构有利于最大限度地对文件系统进行修复。

Enhanced Journal File System

Enhanced JFS (也称为 JFS2) 提供了比JFS 更优的扩展性能(如文件系统的大小等)。另外,在64位AIX核心中JFS2是系统默认的文件系统类型。当然,用户无论在32位还是在64位环境中都可以选择是使用JFS2还是JFS。在这里我们建议在32位核心中使用JFS文件系统,在64位核心中使用JFS2。

JFS2的创建和使用方法与JFS相同,即通过smit完成。

General Parallel File System (GPFS)

GPFS 是高性能,共享磁盘式文件系统,可以快速访问共存于一个群集(Cluster)中所有节点的数据。 GPFS通过多个磁盘条带化IO可以提供高性能IO服务,同时通过提供日志管理,文件复制以及服务器和磁盘的相互接管功能,提供了高可用性。

有关GPFS的使用,请参见IBM Redbook: GPFS on AIX Cluster: High Performance File System Administration Simplified。IBM Redbook站点为:

http://www.redbooks.ibm.com/

Network File System

NFS 属于分布式文件系统,允许用户从远程访问文件及目录,并且视这些文件及目录为本地资源一样。例如,用户可以使用操作系统提供的命令创建,删除或修改远程文件及目录。

RAM File System

RAM 盘是将内存中的一块空间仿真为磁盘。相对于物理磁盘,使用RAM盘可以极大地提高IO性能,但是建议在针对不需要永久保存的文件IO操作环境中使用 RAM盘,因为在系统宕机或重启后RAM盘中的所有数据会丢失。

使用系统命令 mkramdisk可以创建RAM盘。下面的例子说明如何创建一个20MB的RAM盘,并在其上创建文件系统:

mkramdisk 40000

ls -l /dev | grep ram

mkfs -V jfs /dev/ramdiskx

mkdir /ramdisk0

mount -V jfs -o nointegrity /dev/ramdiskx /ramdiskx

其中x 是RAM盘的逻辑设备号。删除RAM盘时,使用命令rmramdisk。此外,RAM 盘在系统重启后被自动删除。

如何替换镜像的卷组中故障的物理卷

rs6000,pSeries

如何替换镜像的卷组中故障的物理卷

以下情形替换镜像卷组中与物理卷相关的故障或正在发生故障的磁盘。

在指示信息中,使用配置管理器配置新的磁盘(名为 hdisk10),然后使用replacepv命令替换镜像卷组中的物理卷而不丢失物理卷的内容,

该镜像卷组至少部分地驻留在故障的磁盘驱动器(名为 hdisk02)上。完成以下过程无需重新引导或调度停机时间。

1. 选择一个至少与故障的磁盘一样大容量的新磁盘驱动器。

2. 利用超级权限,运行配置管理器配置新的磁盘。在命令行输入以下命令:

cfgmgr -l hdisk10

-l 标志允许仅配置指定的设备以及任何“子”设备。如果没有该标志,则 cfgmgr 命令对整个系统运行配置管理器。

3. 使用以下命令替换物理卷,使它可以开始使用新磁盘。

注:如果逻辑卷的镜像是旧的,则 replacepv 命令无法正确工作。

replacepv hdisk02 hdisk10

4. 如果相关的镜像卷组为 rootvg,必须再运行以下命令将故障磁盘从引导映象清除并向引导映象添加新的磁盘。

5. chpv -c hdisk02

6. bootlist hdisk10

bosboot -a

chpv -c 命令将 hdisk02 从引导映象清除。

bootlist 命令将 hdisk10 添加到系统可能从其引导的引导设备列表。

bosboot -a 命令在缺省的引导逻辑卷上创建完整的引导映象。

此时,物理卷 hdisk02 现在映射到新配置的 hdisk10。

pSeries

重新设置未知的 root 用户密码

以下步骤描述了当系统的 root 用户密码不可用或未知时如何恢复对 root 用户特权的访问。

以下步骤需要一些系统停机时间。可能的话,请调度好停机时间,使其尽可能少地影响作业量,从而防止可能的数据或功能的丢失。

1. 请将与当前安装程序同样的版本和级别的产品介质插入相应驱动器。

2. 打开机器电源。

3. 当图标屏幕出现或听到蜂鸣声的时候,重复按下 F1 键直到出现系统管理服务菜单。

4. 选择多引导。

5. 选择从何处安装。

6. 选择放有产品介质的设备,然后选择安装。

7. 选择 AIX 版本图标。

8. 通过按 F1 键然后按 Enter 键将您的当前系统定义为系统控制台。

9. 选择首选语言的号码,然后按 Enter 键。

10. 通过输入 3 并按 Enter 键选择启动维护方式以进行系统恢复。

11. 选择访问根卷组。系统会显示一条消息,说明如果在此处更改了根卷组,则不重新启动将无法返回“安装”菜单。

12. 输入 0 并按 Enter 键。

13. 从列表中输入相应的卷组号码并按 Enter 键。

14. 通过输入 1 并按 Enter 键选择访问该卷组并启动 shell。

15. 在 #(数字符号)提示状态下,在命令行提示符后输入 passwd 命令以重新设置 root 用户密码。例如:

16. # passwd

17. 更改 root 用户密码

18. root 用户新密码:

请再次输入新的密码:

19. 要将缓冲区中的任何东西写入硬盘并重新引导系统,请输入以下命令:

sync;sync;sync;reboot

当登录屏幕出现的时候,在步骤15中设置的密码现在允许访问 root 用户特权。

AIX系统级命令简介

在AIX操作系统上有很多的命令。这里介绍一些系统级的命令,它将有助于回答一些常见问题。大家以此做参考,并补充修改。

以下命令在AIX 5.1上测试通过。

以下命令在AIX 5.1上测试通过。

· 关于内核

显示AIX系统内核是32位还是64位:

bootinfo -K

如何改变内核模式(32位或64位)

/unix文件连接到一个可引导的映像。通过命令ls -l /unix查看:

/unix -> /usr/lib/boot/unix_up # 32 bit uniprocessor kernel

/unix -> /usr/lib/boot/unix_mp # 32 bit multiprocessor kernel

/unix -> /usr/lib/boot/unix_64 # 64 bit multiprocessor kernel

在AIX系统安装时,缺省安装的内核是32位。可以用如下命令更改内核模式:

ln -sf /usr/lib/boot/unix_64 /unixln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unixbosboot -ad /dev/hdiskxxshutdown -r

注意:/dev/hdiskxx是指引导逻辑卷/dev/hd5所在的硬盘。可通过下面命令来查看xx是几:

lslv -m hd5

· 关于硬件

显示机器硬件是32位还是64位:

bootinfo -y

查看机器的物理内存是多少:

bootinfo -r

lsattr -El sys0 -a realmem

查看机器是否支持64位内核(是否64位硬件)

/usr/sbin/bootinfo -p

如果返回32,则表示硬件是32位的;如果返回的是chrp,则表示硬件是64位的机器。

显示当前磁带设备rmt0的属性:

lsattr -l rmt0 -E

显示缺省的磁带设备rmt0的属性:

lsattr -l rmt0 -D

显示终端设备tty0的登录属性:

lsattr -l tty0 -a login -R

显示系统级属性:

lsattr -E -l sys0

查看当前系统有多少CPU:

lscfg | grep proc

查看当前系统有多少硬盘而且是否被使用:

Lspv

查看当前系统的详细配置:

lscfg -pv

也可以显示某一设备的配置:

lscfg -vl rmt0

查看当前系统的芯片名称、系统名、节点名、型号等:

uname -p # 显示芯片名称,例如:powerpc

uname -r # 显示操作系统的发行号

uname -s # 显示系统名,例如:AIX

uname -n # 显示节点名

uname -a # 显示系统名、节点名、版本、机器ID

uname -M # 显示型号,例如:IBM,7046-B50

uname -v # 显示操作系统版本

uname -m # 显示机器ID

· 关于AIX

查看AIX的版本、发行号、ML(Maintenance Level)级别:

oslevel -r

lslpp -h bos.rte

如何改变文件系统大小,例如:将/usr文件系统增加1000000字节:

chfs -a size=+1000000 /usr

如何使用CD:

mount -V cdrfs -o ro /dev/cd0 /cdrom

查看本机的IP地址:

Ifconfig -a

host Fully_Qualified_Host_Name

例如:host cyclop.austin.ibm.com

查找哪一个文件集(fileset)包含特定的文件,例如:查找/usr/bin/vmstat属于哪一个文件集。

lslpp -w /usr/bin/vmstat

显示哪一个文件集包含/usr/bin/svmon:

Which_fileset svmon

查看某一级别的ML中所有文件是否都已经安装:

instfix -i | grep ML

如何确定某一补丁(fix)是否安装,例如:查看IY24043是否安装

instfix -ik IY24043

显示哪些文件集需要安装或修改:

lppchk -v

查看交换区(paging space)的分配和使用:

lsps -a

· 关于卷组和逻辑卷

创建卷组:

mkvg -y name_of_volume_group -s partition_size list_of_hard_disks

partition_size单位是MB,它是1到1024之间的一个数。(2的次幂,例如:1, 2, 4, 8, 16, 32等,缺省是4MB。)

创建逻辑卷:

mklv -y name_of_logical_volume name_of_volume_group number_of_partition

显示当前系统的所有卷组:

Lsvg

显示卷组rootvg的详细信息:

lsvg rootvg

显示属于rootvg的所有硬盘:

lsvg -p rootvg

如何添加一个硬盘到卷组中:

extendvg Volume_Group_Name hdisk0 hdisk1 ... hdiskn

如何替换一个硬盘:

1. extendvg Volume_Group_Name hdisk_new

2. migratepv hdisk_bad hdisk_new

3. reducevg -d Volume_Group_Name hdisk_bad

如何做一个逻辑卷镜像:

1. mklvcopy Logical_Volume_Name Number_of_copies

2. Syncvg Volume_Group_Name

在AIX上,有一个很方便的系统管理命令smit。上面提到的命令中,如逻辑卷操作部分就可以smit轻松的完成。

这里介绍的命令只是AIX中的一小部分。更多更详细的内容请参考AIX系统手册和技术红皮书。

数据急救(1): 如何恢复误删除的文件

当我们在目录中为了方便使用#rm -rf * 删除文件时,有时会发现自己今天真是倒霉,在执行后发现#pwd竟然不是自己想要删除文件的目录,这时才发现备份是多么重要啊。(可惜呀,没做,:- (), (这就是系统超级管理员常犯的错误,手太快),没办法,以头戕地吧。但你在遭遇了巨痛后,如果还没有完全丧失斗志,那么下面这篇文章也许能帮你找会你的文件和自信。希望和成功往往也只是一念之间*_*\和DOS,winX,以及众多unix系统一样,当文件被删除时,其所占据的物理空间并没有真正从系统中移除,但他们的状态确是未分配空间,所以这时只要没有新的文件产生或者文件变化发生在同一个文件系统中,那么我们完全有可能用系统提供的fsdb (filesystem debugger)来恢复我们的数据特别感谢此文的英文原文作者,他们还有收费的恢复工具,需要时请访问

<http://www.compunix.com/>

备注: 其中包含图片和网页链接,如果看不到,请下载附件中的word文档。

(1) 如何恢复误删除的文件?

(2) 举例说明(红色为我们应输入的)

(3) 相关知识介绍

MAKE A BACKUP OF THE ENTIRE FILESYSTEM BEFORE PERFORMING THESE STEPS!!!

ELSE ( BANG !!!!! ).

Steps to recover a deleted file

-------------------------------

1) "ls -id {dir}"

(where dir is directory where file resided)

Record INODE number for next step.

36872

2) Unmount the filesystem.

3) "fsdb /{Mountpoint}" or "fsdb /dev/{LVname}"

(where Mountpoint is the filesystem mount point, and LVname is

the logical volume name of the filesystem)

4) "{INODE}i"

(where INODE is the inode number recorded in step 1)

This will display the inode information for the directory. The

field a0 contains the block number of the directory.

The following steps assume only field a0 is used. If a value

appears in a1, etc, it may be necessary to repeat steps #5 and

#6 for each block until the file to be recovered is found.

5) "a0b"

(moves to block pointed to by field "a0" of this inode)

6) "p128c"

(prints 128 bytes of directory in character format)

Look for missing filename. If not seen, repeat this step until

filename is found. Record address where filename begins. Also

record address where PRIOR filename begins. If filename does

not appear, return to step #5, and selecting a1b, a2b, etc.

Note that the address of the first field is shown to the far left.

Increment the address by one for each position to the right,

counting in octal.

7) "a0b"

(moves to block pointed to by field "a0" of this inode)

If the filename was found in block 1, use a1b instead, etc.

8) "p128e"

(prints first 128 bytes in decimal word format)

Find the address of the file to recover (as recorded in step 6)

in the far left column. If address is not shown, repeat until found.

9) Record the address of the file which appeared immediately PRIOR to

the file you want to recover.

10) Find the ADDRESS of the record LENGTH field for the file in step

#9 assuming the following format:

{ADDRESS}: x x x x x x x x x x ...

| | | | |-------- filename ------|

inode # --+----+ | |

| +-- filename length

record LENGTH --+

Note that the inode number may begin at any position on the line.

Note also that each number represents two bytes, so the address

of the LENGTH field will be `{ADDRESS} + (#hops * 2) + 1'

11) Starting with the first word of the inode number, count in OCTAL

until you reach the inode number of the file to be restored,

assuming each word is 2 bytes.

12) "0{ADDRESS}B={BYTES}"

(where ADDRESS is the address of the record LENGTH field found

in step #10, and BYTES is the number of bytes [octal] counted

in step #11)

13) If the value found in the LENGTH field in step #10 is greater than

255, also type the following:

"0{ADDRESS-1}B=0"

(where ADDRESS-1 is one less than the ADDRESS recorded in step #10)

This is necessary to clear out the first byte of the word.

14) "q"

(quit fsdb)

15) "fsck {Mountpoint}" or "fsck /dev/{LVname}"

This command will return errors for each recovered file asking if

you wish to REMOVE the file. Answer "n" to all questions.

For each file that is listed, record the associated INODE number.

16) "fsdb /{Mountpoint}" or "fsdb /dev/{LVname}"

17) {BLOCK}i.ln=1

(where BLOCK is the block number recoded in step #15)

This will change the link count for the inode associated with

the recovered file. Repeat this step for each file listed in

step #15.

18) "q"

(quit fsdb)

19) "fsck {Mountpoint}" or "fsck /dev/{LVname}"

The REMOVE prompts should no longer appear. Answer "y" to

all questions pertaining to fixing the block map, inode map,

and/or superblock.

20) If the desired directory or file returns, send money to the author

of this document.

数据急救(2): 举例说明(红色为我们应输入的)

首先建立一个临时文件系统/test,然后拷贝/smit.log到/test下做测试。

  #ls -al

drwxr-sr-x 3 sys sys 512 Feb 26 15:08 .

drwxr-xr-x 37 bin bin 1536 Feb 26 15:03 ..

drwxrwx--- 2 root system 512 Feb 26 15:03 lost+found

----r--r-x 1 root sys 865429 Feb 26 15:05 smit.log

 #rm -rf smit.log

 #ls -al

drwxr-sr-x 3 sys sys 512 Feb 26 16:00 .

drwxr-xr-x 37 bin bin 1536 Feb 26 15:03 ..

drwxrwx--- 2 root system 512 Feb 26 15:59 lost+found

 #ls -id

2 .

 #umount /test

 #fsdb /test

File System: /test

File System Size: 16384 (512 byte blocks)

Disk Map Size: 2 (4K blocks)

Inode Map Size: 2 (4K blocks)

Fragment Size: 4096 (bytes)

Allocation Group Size: 2048 (fragments)

Inodes per Allocation Group: 2048

Total Inodes: 2048

Total Fragments: 2048

2i

i#: 2 md: d-g-rwxr-xr-x ln: 3 uid: 3 gid: 3

szh: 0 szl: 512 (actual size: 512)

a0: 0x09 a1: 0x00 a2: 0x00 a3: 0x00

a4: 0x00 a5: 0x00 a6: 0x00 a7: 0x00

at: Tue Feb 26 15:13:43 2002

mt: Tue Feb 26 15:13:11 2002

ct: Tue Feb 26 15:13:11 2002

a0b

0x0000009000 : 0x00000000 (0)

p128c

a0b

0x0000009000 : 0x00000000 (0)

p128e

最重要的一步,计算偏移量,从lost+found的"inode" 16到smit.log的"inode" 17中间共有10个间隔,每个间隔代表2个, 那么其值应为20,即16后的值应该改为20,这样才能恢复被删除文件smit.log的inode.如果要更改16后面的值,要对地址 0x000000901c 赋值,由于是双字节操作,其值应为 20*65536+10,这样就能实现(488,10-》20,10)。

0x901c=1310730 (1310730=20*65535+10)

0x000000901c.D: 0x0014000a (1310730)

查看更改效果

a0b

0x0000009000 : 0x00000000 (0)

p128e

q

#fsck /test

** Checking /dev/rlv04 (/test)

** Phase 1 - Check Blocks and Sizes

** Phase 2 - Check Pathnames

Unallocated I=17 owner=root mode=100045

size=868373 mtime=Feb 26 15:23 2002

file=/smit.log; REMOVE? n

** Phase 3 - Check Connectivity

** Phase 4 - Check Reference Counts

** Phase 5 - Check Inode Map

** Phase 6 - Check Block Map

Filesystem integrity is not guaranteed

8 files 600 blocks 15784 free

#fsdb /test

File System: /test

File System Size: 16384 (512 byte blocks)

Disk Map Size: 2 (4K blocks)

Inode Map Size: 2 (4K blocks)

Fragment Size: 4096 (bytes)

Allocation Group Size: 2048 (fragments)

Inodes per Allocation Group: 2048

Total Inodes: 2048

Total Fragments:

17i.ln=1

0x0000020888 : 0x00000001 (1)

q

#fsck /test

** Checking /dev/rlv04 (/test)

** Phase 1 - Check Blocks and Sizes

** Phase 2 - Check Pathnames

** Phase 3 - Check Connectivity

** Phase 4 - Check Reference Counts

** Phase 5 - Check Inode Map

Bad Inode Map; SALVAGE? y

** Phase 5b - Salvage Inode Map

** Phase 6 - Check Block Map

Bad Block Map; SALVAGE? y

** Phase 6b - Salvage Block Map

9 files 600 blocks 15784 free

***** Filesystem was modified *****

 #mount /test

 #ls -al

drwxr-sr-x 3 sys sys 512 Feb 26 16:00 .

drwxr-xr-x 37 bin bin 1536 Feb 26 15:03 ..

drwxrwx--- 2 root system 512 Feb 26 15:59 lost+found

----r--r-x 1 root sys 865429 Feb 26 15:59 smit.log

以上例子只是最简单情况,至于实际应用中的各种复杂环境问题,就需要各位朋友们多思考,多实践,勇于创新。

其实在给地址赋值时还有两种方法,大家可以考虑一下其他方式来实现 (488,10-》20,10)

祝朋友们恢复数据成功,一身轻松。

数据急救(3): 相关知识介绍

我们进行数据恢复,就要熟悉我们操作系统的文件系统存储原理和结构。

JFS 布局 日志文件系统如何处理磁盘布局

JFS 概述 日志文件系统如何缩短系统重启时间

附加下载文件: 数据急救(1): 如何恢复误删除的文件

如何在AIX 5L中配置和使用VLAN

什么是VLAN

Trunk

在AIX 5L中配置VLAN

VLAN常见问题

什么是VLAN

VLAN(Virtual LAN,虚拟局域网)是由交换机提供的一个重要功能。处于不同VLAN的计算机不在同一个广播域中,即使是连接在同一台交换机上,也不能直接互相通信。VLAN的用处主要有三个:

1、端口的分隔。即便在同一个交换机上,处于不同VLAN的端口也是不能通信的。这样一个物理的交换机可以当作多个逻辑的交换机使用。

2、网络的安全。不同VLAN不能直接通信,杜绝了广播信息的不安全性。

3、灵活的管理。更改用户所属的网络不必换端口和联线,只该软件配置就可以了。

对不同的交换机,VLAN可以按端口或MAC地址来划分。 Trunk

从VLAN的概念可以看出,处于不同VLAN的计算机要互相通信,必须要通过另外的计算机或路由器进行路由。如果没有额外的措施,您就需要在计算机或路由器上安装两块网卡,每块网卡连接一个VLAN。

另外,如果要将两台或两台以上的交换机连接起来使用,那么如果没有额外的措施,每个VLAN都需要独立的端口进行互联,如下图所示。

为了能更灵活和更有效率地应对上述问题,trunk被引入到VLAN方案中来。所谓trunk,就是指传递交换机上所有VLAN信息的链路。这样,支持同样trunk协议的交换机、计算机和路由器就可以用一条物理链路来交换所有VLAN上的数据。对于路由器和计算机来说,可以通过创建对应不同 VLAN的逻辑接口来分别在不同的VLAN上进行通信。交换机之间的trunk如下图所示。

在AIX 5L中配置VLAN

AIX 5L支持通过以太网卡连接交换机的trunk端口(运行IEEE 802.1Q协议)并创建对应各个VLAN的逻辑接口。每个逻辑接口在AIX操作系统上表示为一个新的以太网卡(ent)。

您可以在系统中创建多个逻辑接口,但您有可能需要调整no命令的ifsize参数。这个参数决定了您在系统中所能使用的所有网络接口的个数,默认是8。

要配置VLAN逻辑接口,请在命令行中输入smit vlan,然后完成以下工作:

1、选择Add A VLAN,然后选择连接在交换机trunk端口上的以太网卡。

2、填写VLAN Tag ID。VLAN Tag ID 是交换机上定义的VLAN号。这个逻辑接口创建后将只能用来和这个VLAN号所对应的VLAN上的计算机直接通信。

3、在新的逻辑以太网接口上配置TCP/IP。

逻辑网卡与物理网卡在使用上稍有差别。下面是使用lsattr的结果:

# lsattr -EHl ent2

attribute ---value description ------user_settable

base_adapter ent0 -VLAN Base Adapter True

vlan_tag_id -1 ----VLAN Tag ID ------True

对逻辑网卡使用entstat时,返回的是其对应的物理网卡的相关数据:

# entstat -d ent2

-------------------------------------------------------------

ETHERNET STATISTICS (ent2) :

Device Type:

Hardware Address: 00:04:ac:e4:ba:d8

Elapsed Time: 16 days 22 hours 15 minutes 38 seconds

Transmit Statistics: Receive Statistics:

-------------------- -------------------

Packets: 0 ----------Packets: 194

Bytes: 0 ------------Bytes: 17813

Interrupts: 0 -------Interrupts: 194

Transmit Errors: 97 -Receive Errors: 0

Packets Dropped: 1 --Packets Dropped: 0

---------------------Bad Packets: 0

Max Packets on S/W Transmit Queue: 2

S/W Transmit Queue Overflow: 0

Current S/W+H/W Transmit Queue Length: 0

Broadcast Packets: 0 -----Broadcast Packets: 194

Multicast Packets: 0 -----Multicast Packets: 0

No Carrier Sense: 97 -----CRC Errors: 0

DMA Underrun: 0 ----------DMA Overrun: 0

Lost CTS Errors: 0 -------Alignment Errors: 0

Max Collision Errors: 0 --No Resource Errors: 0

Late Collision Errors: 0 -Receive Collision Errors: 0

Deferred: 0 --------------Packet Too Short Errors: 0

SQE Test: 1 --------------Packet Too Long Errors: 0

Timeout Errors: 0 --------Packets Discarded by Adapter: 0

Single Collision Count: 0 Receiver Start Count: 0

Multiple Collision Count: 0

Current HW Transmit Queue Length: 0

General Statistics:

-------------------

No mbuf Errors: 0

Adapter Reset Count: 0

Adapter Data Rate: 200

Driver Flags: Up Broadcast Running

-------Simplex AlternateAddress 64BitSupport

-------PrivateSegment DataRateSet

另外,逻辑网卡不能用来配置EtherChannel。

VLAN常见问题

1、创建VLAN接口时出现:

Method error (/usr/lib/methods/chgvlan):

0514-018 The values specified for the following attributes

are not valid:

vlan_tag_id --VLAN Tag ID

引起这种问题的原因是在这块物理网卡上已经创建了对应于指定VLAN编号的逻辑接口。请用lsattr -El命令检查已经配置的VLAN接口。

2、删除或修改VLAN接口时出现:

Method error (/usr/lib/methods/ucfgcommo):

-------0514-062 Cannot perform the requested function because the

----------------specified device is busy.

引起这种问题的原因是有用户程序或IP接口在使用这个逻辑接口。一般来说,您可以先运行:

ifconfig enX detach

来卸载IP接口然后再重新运行命令。其中enX是VLAN接口对应的IP接口号。

为什么使用“kill -9”不能将进程杀掉

平台: pSeries

软件版本: AIX 所有版本

有时会遇到这样的问题:使用 "kill -9" 不能将进程杀掉。为什么?

"kill -9"命令向进程发送“SIGKILL”信号来将其终止。但是在下面两种情况下不起作用:

a. 该进程处于“Zombie”状态(使用“ps”命令返回“defunct”的进程)。此时进程已将所有资源释放,但未得到其父进程的确认。“Zombie”进程要等到下次系统启动时才能消失,但它的存在不会影响系统性能。

b. 该进程处于"kernel mode"(核心态)且在等待不可获得的资源。处于核心态的进程忽略所有信号处理,因此对于这些一直处于核心态的进程只能通过重启系统实现。进程在AIX 中会处于两种状态,即用户态和核心态。只有处于用户态的进程才可以用“kill”命令将其终止。

如何对CDE进行抓屏

AIX, CDE

如何对CDE进行抓屏

AIX提供了对X Windows系统进行抓屏/显示的工具xwd和xwud。

xwd 命令是增强 X-Windows 的窗口转储实用程序。xwd 命令允许将视窗映像存储为特殊的已格式化的转储文件。然后,该文件可以被其它各种可执行重显、打印、编辑、格式化、归档和图像处理等功能的 X 实用程序读取。通过在期望的窗口中单击鼠标来选择目标窗口。键盘铃会在转储开始时响一次,转储结束后响二次。

常用参数:

-frame 该选项表明在手工选择窗口时,视窗管理器框架也应该包含在内。

-display Display 指定服务器连接。

-help 打印使用命令的语法摘要。

-nobdrs 指定窗口转储不包含构成 X-Windows 边框的像素。如果想将视窗内容包含在文档中作为说明时,这十分有用。-nobdrs 标志的结果取决于那个视窗管理器在运行。很多视窗管理器都从客户机中除去所有边框。例如,XGetWindowAttributes 函数在客户机启动时返回一个值为 0 的 border_width 字段而不管真正的边框宽度为多少。因此,任何在屏幕上可见的边沿都属于视窗管理器;客户机对其则一无所知。在这种情况下,-nobdrs 标志没有作用。

-out File 在命令行上指定输出文件。缺省值是输出到标准输出。

-xy 选择 xy 格式转储而不是使用缺省的 z 格式。该选项只适用彩色显示器。

xwd可以用来捕获X Windows系统上的当前显示。如果您在CDE环境中,只需要运行:

#xwd -out FILENAME

其中FILENAME是用来存放图形信息的文件名。

如果是在字符界面或需要捕获其它计算机上的图形,您需要首先在其它计算机的控制台上运行xhost +以允许远程访问,然后运行:

#xwd -display HOSTNAME:DPY -out FILENAME

其中HOSTNAME是要捕获的计算机的主机名,DPY通常为0.0。

xwud可以用来将捕获的文件显示到X Windows系统上,用法是在CDE环境中执行:

#xwud -in FILENAME

其中FILENAME是用来存放图形信息的文件名。

如何重建设备配制数据库?

注意:当你重建ODM客户化设备数据库时,你将丢失你现有的客户化设备的任何特殊的配制,例如:

(1)X.25,ttys,printers等设备的客户化配置将丢失,你需要在重建设备数据库之前保存这些信息;

(2)任何用户建立的卷组必须用命令重新加进系统:importvg -y [vgname] [hdisk#], vgname是卷组名,#”是被加的卷组里包含的任一硬盘号;

(3) 你的系统名和TCP/IP配置参数可能将丢失,在重建设备数据库之前你应该首先保存TCP/IP配置。

执行下面的步骤用默认的最小配置数据库来替换当前的设备数据库,新的数据库将在下次系统重启时生效。

1.启动系统进入维护模式,在不mounting文件系统的情况下访问rootvg,如下所示:

对于 AIX Version 4, 选择 Start Maintenance Mode for System Recovery (option 3). 下一屏幕选择 option 1 (Access a Root Volume Group).再下一屏键入 0 继续,接着通过输入数字号码来选择卷组,屏幕将如下显示:

Access a Root Volume Group

Type the number for a volume group to display the logical volume information and press Enter.

1) Volume Group 0073656f2608e46a contains these disks:

hdisk0 --2063 04-C0-00-4,0

一旦一个卷组被选择,将显示那个卷组的信息:

例如:

----------------Volume Group Information

------------------------------------------------------------------------

Volume Group ID 0073656f2608e46a includes the following logical volumes:

-----hd6 --------hd5 --------hd8 --------hd4 --------hd2 -----hd9var

---- hd3 --------hd1

-----------------------------------------------------------------------

Type the number of your choice and press Enter.

1) Access this Volume Group and start a shell

2) Access this Volume Group and start a shell before mounting filesystems

99) Previous Menu

现在你选择

Access this volume group and start a shell before mounting file systems (Option 2).

2.运行下面的命令来mount文件系统/dev/hd2(/usr):

mount /dev/hd2 /usr ;

3.拷贝当前的系统配制到一个备份目录,这一步是可选的:

mount /dev/hd4 /mnt

mkdir /mnt/etc/objrepos/backup

cp /mnt/etc/objrepos/Cu* /mnt/etc/objrepos/backup

cp /etc/objrepos/Cu* /mnt/etc/objrepos/ <--- additional line

umount /mnt

4.决定启动影像(boot image)位于哪个磁盘上:

lslv -l hd5

5.保存基于文件系统的RAM设备配制数据库到启动磁盘上,例如:

savebase -d /dev/hdisk0

6.重新启动机器进入正常启动模式,任何客户化的设备将需要重新定义并且任何非rootvg卷组需要重新加入。

如何使.profile文件在CDE中生效?

产品:AIX

平台:RS/6000

版本:AIX 4.3

在用户的.profile文件中设置的环境变量通过CDE界面注册后并未生效。如何使之生效?

打开文件.dtprofile,将注释行“# DTSOURCEPROFILE=true”还原,即将此行前面的“#”删除即可。

在AIX中设置中文环境

平台:RS/6000

软件版本: AIX 4.2 或更新版本

在RS/6000机器上安装了AIX操作系统,但不能显示中文。这是因为AIX中文环境需要单独设置。

在AIX中使用中文有两种途径:第一是在安装AIX时选择中文语言,装好的系统自动显示中文(这种方法不推荐使用,它没有第二种方法使用起来灵活)。第二是安装AIX时选择英文,系统启动后手工设置中文环境,方法如下:

1. 将AIX系统盘的第一张光盘放入光驱;

2. 运行命令:

smitty

--> System Environments

--> Manage Languange Environment

--> Change/Show Primary Language Environment

--> Change/Show Cultural Convention, Language, or Keyboard

在随后显示的菜单中将光标分别移到以下字段:

Primary CULTURAL Convention

Primary LANGUAGE translation

Primary KEYBOARD

按下<F4>,从弹出的菜单中选择“IBM-eucCN”将上述字段改为简体中文,按下回车键后系统自动从光盘安装中文环境软件包。此操作完成后重新启动系统,操作界面即为简体中文。

需要输入中文时使用下列功能键切换输入方法:

AIX 4.3.3 以前的版本:

<Shift> + F1 --- <Shift> + F4 切换到各种中文输入方法;

右<Alt> --- 切换到英文输入;

AIX 4.3.3:

CTRL + [F2] : 智能 ABC ;

CTRL + [F4] : 拼音输入;

CTRL + [F5] : 五笔输入;

CTRL + [F6] : 郑码输入 ;

CTRL + [F7] : 表形码输入;

CTRL + [F9] : 内码输入;

CTRL + [F10] :英文半角;

此外,AIX还包含另外两种中文环境,即“UTF8”和“GBK”,它们与“IBM-eucCN”之区别在于包含了繁体汉字的使用。上述三种中文环境的设置方法均相同。

如何在AIX的CDE上抓屏幕

产品: RS/6000

平台: RS

软件版本: AIX V4.3.3 & V5.*

客户需要在CDE抓屏来进行系统数据保存备份或留做分析。

首先我们执行命令 # xwd -out filename,然后点击我们想保存的窗口,这时命令退出回到提示符。

要显示我们所抓下的窗口屏幕,只需执行 # xwud -in filename,举例如下:

#xwd -out barcode (click the window of barcode)

#xwud -in barcode

 

HACMP工作原理

HACMP的工作原理是利用LAN来监控主机及网络、网卡的状态。在一个HACMP环境中有TCP/IP网络和非TCP/IP网络。TCP/IP网络即应用客户端访问的公共网,该网可以是大多数AIX所支持的网络,如Ethernet,T.R.,FDDI, ATM,SOCC,SLIP,等等。非TCP/IP网络用来为HACMP对HA环境(Cluster)中的各节点进行监控而提供的一个替代TCP/IP的通讯路径,它可以是用RS232串口线将各节点连接起来,也可以是将各节点的SCSI卡或SSA卡设置成Target Mode方式。

HACMP将诊测并响应于三种类型的故障:1网卡故障,2网络工作,3节点故障。下面就这三种故障分别进行介绍。

1、网卡故障

前面讲到,HACMP的群集结构中,除了TCP/IP网络以外,还有一个非TCP/IP网络,它实际上是一根“心跳”线,专门用来诊测是节点死机还是仅仅网络发生故障。如下图所示,一旦节点加入了 Cluster(即该节点上的HACMP已正常启动),该节点的各个网卡、非TCP/IP网络就会不断地接收并送Keep-Alive信号,K-A的参数是可调的,HA在连续发送一定数量个包都丢失后就可确认对方网卡,或网络,或节点发生故障。因此,有了K-A后,HACMP可以很轻易地发现网卡故障,因为一旦某块网卡发生故障发往该块网卡的K-A就会丢失。此时node 1上的cluster manager( HACMP的“大脑”)会产生一个swap-adapter的事件,并执行该事件的script(HACMP中提供了大部分通用环境下的事件 scripts,它们是用标准AIX命令和HACMP工具来写的)。每个节点上都有至少两块网卡,一块是service adapter,提供对外服务,另一块是standby adapter,它的存在只有cluster manager知道,应用和client并不知道。一旦发生swap-adapter事件后,cluster manager将原来service adapter的 IP地址转移到standby adapter上,而standby地址转移到故障网卡上,同时网络上其他节点进行ARP的刷新。网卡互换(swap-adapter)在几秒内就可完成,以太网为3秒,并且这种转换对应用和client来说是透明的,只发生延迟但连接并不中断。

2、网络故障

如果发往node1上的service和standby网卡上的K-A包全都丢失,而非TCP/IP网络上的K-A仍然存在,那么HACMP判断node1仍然正常而网络发生故障。此时HACMP执行一个

3 、节点故障

如果不仅TCP/IP网络上的K-A全部丢失,而且非TCP/IP网络上的K-A也丢失,那么HACMP断定该节点发生故障,并产生node-down事件。此时将有资源接管,即放在共享磁盘陈列上的资源将由备份节点接管,接管包括一系列操作:Acquire disks,Varyon VG, Mount file systems,Export NFS file systems, Assume IP network Address, Restart highly available applications,其中IP地址接管和重新启动应用由HACMP来实现,而其他是由AIX来完成。

当整个节点发生故障时,HACMP将故障节点的service IP address转移到备份节点上,使网络上的client仍然使用这个IP地址,这个过程称为IP地址接管(IPAT),如图所示。

当一个节点down掉后,如果设置了IP地址接管,网络上的clients会自动连接到接管节点上;同样,如果设置了应用接管,该应用会在接管节点上自动重启,从而使系统能继续对外服务。对于要实现接管的应用,只需在HACMP中把它们设置成application server,并告诉HACMP启动这个应用的start script的全路径名和停止该应用的stop script的全路径名。由此可见,应用接管的配置在HACMP中十分简单,重要的是start script和stop script的写作,这需要用户对自己应用的了解。

4、其他故障

HACMP只去检测网卡、网络和节点是否发生故障,并作出相应的转移、接管行为。对于其他故障,那么HACMP缺省不作任何动作。

a.硬盘故障

一般我们都将硬盘设置成RAID-5方式或mirror方式,从而提供硬盘的高可用性。RAID-5将奇偶较验位分散在硬盘组中,因此当一组内的一个硬盘坏掉,组内的其他硬盘可以通过奇偶较验位将该硬盘上的数据恢复出来。RAID-5方式一般是由硬件实现的,如下7133的SSA适配器,而且如果同一组内的两个硬盘坏掉,该组硬盘的数据很可能就会全部丢失。mirror方式是将同一个数据写到至少两个物理外置上,因此它的效率没有RAID-5好,而且用盘量大,但安全性比RAID-5高,而且它易于实现,通过AIX中的(Logic Volume Management)可以很方便地设置。

b.硬盘控制卡

存储设备连接到主机上都必须通过一块控制卡,SCSI设备是SCSI Adapter, SSA设备是SSA Adapter,如果这块卡坏掉,与之连接的外设就无法利用。有几种办法可以解决这个问题。

一种办法是用多个adapter。每个主机上都有两块或两块以上adapter,分别连接mirror的数据,因此无论是硬盘坏掉,还是Adapter坏掉,所有好数据还是可以被主机利用,不会出现单点故障。这种方法实现起来并不难,但必须配置多块adapter,而且必须采用数据mirror方式。这种方法也不用通过HACMP来实现。

另一种方法仍只用一块adapter,利用HACMP中的Error Notification Facility( 错误通告机制)来解决。

Error Notification Facility是HACMP提供的对其他设备的监控工具,任何报告给AIX的错误(error)都能被捕获被采取相应措施。HACMP提供了smit界面,使配置简单化。

我们已知道,用LVM可实现硬盘镜像,当一个盘坏掉,仍有一份数据在镜像盘里,数据仍可进行读写,但此时数据不再有可用性,若镜像盘也坏掉则数据全部丢失。所以在此例中,PV丢失(LVM_PVMISS)的信息会大幅显示在控制台面上,从而提醒用户去仔细查看error log找出故障并修复它。同样,此例中HACMP提供了界面,结合AIX的功能,从而监控故障的发生。

c.应用故障

如果用户的应用有 kernel call调用,或以root身份来启动等,一旦应用发生故障,很容易导致操作系统down掉,发生死机,这时实际上等于节点故障,HACMP会采取相应接管措施。如果只是应用自身死掉,AIX仍正常运行,HACMP最多利用Error Notification Facility来提供监控功能,对应用本身不采取任何动作。但如果应用中调用了AIX的SRC (System Resource Controller)机制所提供的API接口,就可以使应用在down掉后自动重新启动。除了SRC提供API接口外,HACMP中的clinfo也提供这样的API。

clinfo是cluster Information daemon,它负责维护整个cluster的状态的信息,clinfo API允许应用程序利用这些状态信息来采取相应行动。

d. HACMP故障

如果cluster中节点的HACMP进程down掉,HACMP将其升级为节点故障,从而发生资源接管。

如上所述,HACMP只全权负责诊断网卡故障、网络故障和节点故障这三类故障,并负责实现IP地址转换或接管,以及整个系统资源( 硬件、文件、系统、应用程序,等等)的接管。对于这三类故障外的其他故障,可以结合AIX基本功能和HACMP提供的一些机制,如Error Notification Facility, clinfo API 等,同样可以实现对故障的监控并采取相应措施。

 

Oracle 9i 数据库移动过程 在AIX平台上

Oracle 9i 数据库移动过程

数据库移动,在项目实施过程中,经常会发生,对于有经验的DBA来说,数据库移动是十分容易。但对于一些只了解系统,对数据库不是十分懂的人员来说,oracle的移动就不是那么容量了。

例如当系统安装完成以后,存储空间扩容了,需要对原对ORACLE进行移动,需要进行数据移动。以前在ORACLE8I FOR WINDOWS 2000中是可以进行移动的。现在ORACLE9I FOR AIX 5L 的移动如何做呢???其实经对各种不同的平台,操作过程完全一样。

一、复制移动数据文件

1)、获取数据库相关信息

首先要查看一下数据库的文件内容:

sqlplus “ / as sysdba”

&Oslash; select * from v$datafile;

&Oslash; select * from v$controlfile

&Oslash; select * from v$logfile;

2)、移动应用数据文件

shutdown immediate关闭数据库,拷贝数据文件到另外一个目录下。需要copy 的文件有:

system01.dbf

indx01.dbf

temp01.dbf

users01.dbf

应用数据文件

3)、 修改数据库文件的位置

启动MOUNT模式

&Oslash; startup mount;

&Oslash; alter database rename file ‘\oracle\oradata\ocp\system01.dbf’ to ‘\oradata\ocp\system01.dbf”

&Oslash; alter database rename file ‘\oracle\oradata\ocp\indx01.dbf’ to ‘\oradata\ocp\indx01.dbf’;

注意只能进行更改移动的数据库文件,不包括控制文件与日志文件,TEMP文件。

二. 移动控制文件

(1)备份SPFILE中的内容:

再重新启动数据库:

&Oslash; startup;

&Oslash; create pfile=’c:\init.ora’ from spfile;

(2)修改init.ora文件中的内容:

*.control_files='\oradata\ocp\control01.ctl','\oradata\ocp\control02.ctl','\oradata\ocp\control03.ctl'

进行更改已经复制的目录位置。

Shutdown 数据库

(3)将控制文件复制过去,

将三个控制文件移动到上面所修改的的目录下。

(4) 倒入参数文件

以init.ora参数方式启动:

&Oslash; startup pfile=’\oracle\init.ora’;

&Oslash; create spfile from pfile=’\oracle\init.ora’;

&Oslash; shutdown immediate;

&Oslash; startup; 从spfile中进行启动。

这样控制文件移动工作就结束了。

三、 重建或重定位LOG文件

解决日志文件的移动方式有两种,一种是移动(RENAME方式)另一种是重新创建。

(1)移动LOG文件

重新移动数据库文件与移动系统数据库文件是一样的方法,只是要求数据库必须是“startup mount”方式进行。

&Oslash; startup mount

&Oslash; alter database rename file ‘\oracle\oradata\oralog1.ora’ to ‘\oradata\ocp\oralog1.dbf’

(2)重建LOG文件

先重建一个组GROUP ,并添加一个LOG文件作为交换文件。

ALTER DATABASE ADD LOGFILE GROUP 4 ('$HOME/ORADATA/u01/log4.rdo','$HOME/ORADATA/u02/log4.rdo') SIZE 1M;

然后再删除其它的LOG组,要求必须保持有两个LOG文件组在系统中。

Alter database drop logfile member ‘\oracle\oradata\ocp\oralog01.ora’

四、重建系统监时(temp)文件系统

在移动数据表空间时,TEMP文件是不能被移动的,这里要求可以进行重建一个TEMP表空间,并设置为系统默认的TEMP文件系统。然后再册除原来的TEMP表空间,达到移动表空间的过程。

> create temporary tablespace “temp02” tempfile ‘\oradata\ocp\temp02.dbf’ size 500m extent management local uniform size 10m;

然后再删除原来的TEMP文件就可以了。

五、测试数据库

进行重启动ORACLE数据

$ sqlplus “/as sysdba”

&Oslash; startup;

&Oslash; show sga;

&Oslash;

 

AIX操作系统使用心得

AIX 是IBM 公司开发的业界领先的优秀商务Unix操作系统,在可靠性、可用性、开放性、扩展性、高性能、安全性等方面都非常突出,尤其是在Internet的关键应用领域以及系统和硬件管理能力方面,其性能表现更为出色,受到了业界的普遍认可和广泛使用。以下是笔者几年来使用AIX系统的一点心得,兹供使用该系统的其他读者参考。

1.如何禁止终端上的中断键(CTRL+C)?

在很多应用系统中,系统管理员希望普通用户只运行自己的应用程序,不能进入系统的shell提示符下,但缺省情况下当用户在终端上按CTRL+C键时就会退到系统提示符下。由于用户终端一般没有固定的端口号,为了禁止使用中断键,可采取下面办法:

(1)如果使用ksh, 可在$HOME/.profile中第一行加入如下内容:

trap "echo 'Abnormal operation'; exit" 123915

(2)如果使用csh(ksh亦可),可用如下命令:

%stty intr ^!

如果恢复正常情况,键入下列命令:

% stty intr ^c

2.如何在shell中不回显(echo)字符?

在实际应用中,一般当我们在键盘上键入口令时不希望将其显示在屏幕上,为此可采用下面的两种办法:

·使用stty 命令

stty -echo # do not display password

echo "Enter password: \c"

read PASSWD #get the password

stty echo # restore standard configuration

·使用echo命令

设置保密属性:echo "\033[8m"

取消保密属性:echo "\033[m"

3.如何在某个目录及其所属子目录的所有文件中查找字符串?

在程序维护过程中,有时需要在某个目录及其所属子目录的所有文件中查找某一个字符串,为此可用下面两种方法(假设在*.cp文件中查找字符串"abc",结果放在文件out中):

(1)cat /dev/null > out

find ./ -name "*.cp" -exec grep "abc"{} >> out

(2)find ./ -name "*.cp" | xargs grep "abc" > out

推荐使用第二种方法,因其系统开销小、速度快。

4.如何对/etc/inittab文件中的一行进行注释?

我们都知道在shell中使用"#"作为注释符号,但在/etc/inittab中注释一行的方法是在第一个字符前插入字符":"。

5.如何转换DOS和AIX两种格式的文本文件?

如欲转换DOS和AIX两种格式的文本文件,有两种方法:

(1)用ftp命令:设置ASCII传输类型,在一台运行AIX的机器和另外一台运行Windows的机器之间互相传送,这里不再赘述。

(2)使用aix2dos或dos2aix命令

如将DOS格式的文本文件转换为AIX格式,可用命令A:dos2aix inputfile outfile,反之可用命令:aix2dos inputfile outfile,关于dos2aix和aix2dos命令的详细用法可参阅"dos2aix -h "和"aix2dos -h "。注意要使用这两个命令,必须首先安装文件集bos.pci。

6.如何解决某一PV上的VGDA与ODM库不一致的问题?

在系统维护过程中,因为操作错误或其他特殊原因,有可能使某一PV上的LVCB和VGDA与其对应的ODM库不一致,导致ODM库紊乱,对PV的有关操作无法进行,这时可采用如下两个AIX命令加以解决:

redefinevg -d hdisk_name vg_name

该命令以指定PV上的LVM信息重新定义给定VG的ODM库。

或:synclvodm -P -v vgname

该命令同步或重建给定VG的ODM库和LVM信息。

7.如何设置用户的文件大小限制?

在AIX系统中,用户使用系统资源是有一定限制的。如用户缺省可创建或扩展的最大文件为1G(参见/etc/security/limits: fsize = 2097151, fsize_hard=fsize 512-bytes blocks)。

如欲修改,可使用smit:

# smit chuser 选择用户,修改下面两项:

Soft FILE size [4194302]

# (2G,可根据需要设定)

Hard FILE size [4194302]

# (2G, 可根据需要设定)

用该用户身份登录,使用"ulimit -f "和"ulimit -Hf"可分别显示其fsize、fsize_hard的大小。

8、如何按文件大小排序列出一个文件系统下的文件?

当监控某一文件系统的空间使用情况时,如果该文件系统剩余空间较少或已使用空间增长较快,则有必要排序列出该文件系统中所有大于某一给定字节数的文件,以便进一步维护管理。为此,可用如下命令:

# find [filesystem_name] -xdev -size +[512-bytes bloks] -ls | sort -r -n -k7

ORACLE 9I FOR AIX 5L 的安装文档

(参照: http://www.ncn.cn/)

第一节:安装

注意:因为ORACLE 9I为64位,所以安装的AIX平台也必须是64位。如果不是必须要重新安装或使用连接库函数将其改为64位

To change to 64 bit multi-processor mode:

# ln -sf /usr/lib/boot/unix_64 /unix

# ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix

# bosboot -ad /dev/ipldevice

# shutdown -r

一、确认系统环境

1、主机环境

??机型:IBM P630

??CPU :1000MHz

??MEM :1G (MIN 512M)

$ /usr/sbin/lsattr -E -l sys0 -a realmem

realmem 12582912 Amount of usable physical memory in Kbytes False

??/tmp:1000M (MIN 500M)

$df -k /tmp

Filesys

 

 

 

[责任编辑:admin]


------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名:
最新评论 进入详细评论页>>