探索 System p 上的 Red Hat Enterprise Linux 5

AIX 管理员的 Linux 学习指南

现在您作为团队中的 IBM® AIX® 专家已有许多年,老板决定要尝试一下 System p™ 上的 Linux®。您可以抵制这种变化,或者可以接受并学习 Linux,即使不是为了爱它而学习它。本文的目的是向 AIX 管理员介绍 Linux。本文将向您介绍您需要了解些什么知识,才能使得到 Linux 的转换更加简单。本文还将向您说明用于执行特定任务的等效命令,同时将讨论进程管理、文件系统管理、如何查看系统信息、安装软件包,以及您作为系统管理员需要了解的其他一些信息。虽然您不会通过阅读本文而成为 Linux 专家,但是本文将为您需要了解的知识提供一个很好的起点。

Ken Milberg, 总裁兼管理顾问、技术作者和站点专家, RoleModel Software, Inc.

Ken Milberg 是 PMP,同时也是 techtarget.com 的撰稿人/站点专家,并为 searchopensource.com 提供 Linux 技术信息和支持。Ken 还是《IBM 系统杂志(开放系统版)》的撰稿人和技术编辑。Ken 拥有马里兰大学学院分校的计算机与信息科学学士学位和技术管理科学硕士学位。他是长岛 POWER-AIX 用户组的创立者和负责人。多年以来,他在大小型企业工作过,并且担任过从 CIO 到高级 AIX 工程师的各种职位。现在,他在 Future Tech 工作,这是一家总部设在长岛的 IBM 业务合作伙伴。Ken 是通过 PMI 认证的项目管理专业人员 (PMP),还是通过 IBM 认证的高级技术专家(CATE,IBM System p5 2006)。



2008 年 9 月 24 日

引言

探索一下 Linux 通常会让大多数 AIX 管理员感到震惊。虽然 Linux 在许多方面只是 UNIX® 的另一种变体,但是在其他方面,它是一种非常不同的类型。对于从 Solaris 或 HP-UX 转换到 AIX 的 UNIX 管理员,您会理解我在说什么。如果 UNIX 并非始终是 UNIX(请考虑 Solaris、HP-UX 和 AIX 之间的区别),那么它们之间的区别有多大,Linux 与 AIX 的区别就有多大。此外,对于 Linux,您将不能求助于 smitty。

一般地讲,Solaris 管理员要比 AIX 管理员更容易转换到 Linux,因为 Solaris 和 Linux 上都存在更多需要编辑的文件。与 AIX 相比,Solaris 和 Linux 还是更加命令行驱动的。您作为 AIX 管理员所具有的优势在于硬件是相同的,因此如果您熟悉 System p 上使用 AIX 的虚拟化,那么您将发现大量的相似性。如果您是在 x86 计算机上使用 Red Hat Enterprise Linux 5 (RHEL5),您应该在使用基于 Red Hat 的 Xen 的虚拟化进程(有关 Xen 的更多信息,请参阅参考资料)。在 System p 上,您将使用在 AIX 上所使用的相同 PowerVM™。虽然虚拟化超出了本文的范围,但这是个需要了解的重要概念,对您来说是强有力的知识补充(有关该主题的一些优秀文章,请参阅参考资料部分)。

AIX 管理员知道,虽然他们的环境具有丰富的命令行工具集,但是其中许多命令在重新启动后不再保持,这是他们依赖 smit 的主要原因之一。对于 Linux,存在更多必须手动编辑的文件,并且一般地讲,需要运行更多的命令才能完成相同的任务。Red Hat 还具有一个前端,该前端是各种 system-config-* 命令的组合,包括:system-config-display、system-config-printer、system-config-network、system-config-network、systems-config-packages、systems-config-authentication、system-config-users 和 system-config-lvm。其中有些命令将在文本模式下工作,有些命令将要求您运行 X 环境。强烈建议您运行 X 环境,因为 RHEL5 上的 GUI 工具除了良好的设计之外,还增加了大量的价值。

虽然 RHEL5 具有功能丰富的 GUI 环境,您可能学习并喜欢上它,但它不如 smitty 那么高效。对于 AIX,您可以使用 smit 或 smitty;对于 Liunx,您并非始终可以选择使用文本或 GUI。对于 Linux,您也没有对象数据管理器(Object Data Manager,ODM),AIX 利用 ODM 来管理设备和配置文件。对于 Linux,您将依赖于编辑基于文本的文件。就本文而言,我将使用 AIX V6.1 - TL 0 和 SP2,以及内核 Linux 版本为 2.6.18-53.el5 的 Red Hat Enterprise Linux Server 5.1 版。两个操作系统都运行在带有一个 CPU 和 2GB RAM 的 IBM System p 570 上。

下一步,您将看到用于获取系统相关信息的工具。


系统信息

作为 AIX 管理员,您也许习惯于运行 prtconf 和若干 lscfg 或 lsattr 命令。对于 RHEL5,您将转到 /proc 并对文件执行 cat 命令以获取该数据。在 AIX /proc 中,这些文件与在 Linux 中一样,也是虚拟文件,并使用诸如进程间通信等机制来显示硬件和某些设置。这些命令或多或少地用于“p”命令,以便检索有用数据。例如,清单 1 显示了一个这样的命令 pstat 的 AIX 输出。

清单 1. pstat 命令的输出
lpar23ml16fd_pub[/] > pstat -a
PROC TABLE:

SLT ST    PID   PPID   PGRP   UID  EUID  TCNT  NAME
  0 a       0      0      0     0     0     1  swapper
        FLAGS:swapped_inno_swapfixed_prikproc 64bit

当您查看 RHEL5 上的 /proc 目录结构时,可以看到类似于清单 2 的内容。

清单 2. RHEL5 上的 /proc 目录结构
root@172_29_140_173 proc]# ls
1     139   1551  2712  2955  6            driver       kmsg        self
10    142   1574  2713  2956  7            execdomains  loadavg     slabinfo
1015  143   170   2745  2989  8            fb           locks       stat
1016  144   1793  2746  2990  9            filesystems  mdstat      swaps
1047  1447  1810  2814  3     asound       fs           meminfo     sys
1170  145   1814  2816  3031  buddyinfo    ide          misc        sysrq-trigger
1174  1450  2     2817  350   bus          interrupts   modules     sysvipc
1178  1462  205   284   378   cmdline      iomem        mounts      tty
1182  1486  206   2850  379   cpuinfo      ioports      net         uptime
1183  149   207   2852  380   crypto       irq          partitions  version
1187  1507  208   2853  4     devices      kallsyms     ppc64       vmstat
1191  151   209   2888  403   device-tree  kcore        rtas        zoneinfo
1201  1549  210   2892  432   diskstats    keys         schedstat
1202  1550  2710  2953  5     dma          key-users    scsi
[root@172_29_140_173 proc]#

对于 AIX,您不会看到所有这些将从中搜集信息的文本文件。在 RHEL5 分区上,对文件执行 cat 命令以获取有关系统的某些信息。清单 3 显示了 cpuinfo。

清单 3. 使用 cpuinfo 获取系统信息
cd /proc[root@172_29_140_173 /]# cd /proc[root@172_29_140_173 proc]# more  cpuinfo
processor       : 0
cpu             : POWER5 (gr)
clock           : 1654.344000MHz
revision        : 2.1 (pvr 003a 0201)

processor       : 1
cpu             : POWER5 (gr)
clock           : 1654.344000MHz
revision        : 2.1 (pvr 003a 0201)

timebase        : 207050000
platform        : pSeries
machine         : CHRP IBM,9117-570
[root@172_29_140_173 proc]# \

其他值得“cat”的文件包括 meminfo、partitions、version 和 filesystems。另一个有用的 Linux 命令是 dmesg,如清单 4 所示。

清单 4. 使用 dmesg
root@172_29_140_173 ~]# dmesg | more
Using pSeries machine description
Page orders: linear mapping = 24, virtual = 12, io = 12
Found initrd at 0xc000000002400000:0xc000000002679400
Partition configured for 2 cpus.
Starting Linux PPC64 #1 SMP Wed Oct 10 16:38:58 EDT 2007
-----------------------------------------------------
ppc64_pft_size                = 0x19
physicalMemorySize            = 0x80000000
ppc64_caches.dcache_line_size = 0x80
ppc64_caches.icache_line_size = 0x80
htab_address                  = 0x0000000000000000
htab_hash_mask                = 0x3ffff
-----------------------------------------------------
Linux version 2.6.18-53.el5 (brewbuilder@js20-bc2-12.build.redhat.com) (gcc version 4.1.2
20070626 (Red Hat 4.1.2-14)) #1 SMP Wed Oct 10 16:38:58 EDT 2007

此命令类似于 prtconf,并且还用于进行错误日志记录,类似于 errpt。可以看到,还存在从 dmesg 命令中收集到的特定于 POWER 的信息。

下一步,您将看到文件系统和逻辑卷管理(Logical Volume Management,LVM)所需要的工具。


文件系统和磁盘管理

AIX 的缺省 JFS 文件系统是 JFS2,而 RHEL5 的缺省 JFS 文件系统是 ext3,这是 ext2 的增强版本。一个新的 RHEL5 命令是 resize2fs(取代 ext2onliner),此命令允许动态地放大或缩小已挂载的文件系统。这是通过 Linux 2.6 内核来支持的。务必注意的是,此命令不操作分区的大小,因此在放大文件系统之前,您必须确保基础分区足够大,能够支持文件系统放大操作。对 AIX 来说也是类似的概念,其中您必须确保卷组足够大,能够支持这种文件系统放大操作。

这是您将需要习惯的另外一些东西。正如您所知道的,对于 AIX,一切都已经在操作系统之外使用 LVM 来进行管理了。对于 Linux,您将需要处理分区,然后才能配置 LVM。一切都与 AIX 集成得更为紧密。

返回到 RHEL5,分区信息可以使用 fdisk 或 parted 来进行收集(请参见清单 5)。我更喜欢 parted,因为它更容易使用。

清单 5. 使用 parted 来获取分区信息
[root@172_29_140_173 sbin]# parted
GNU Parted 1.8.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print

Model: AIX VDASD (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  8225kB  8193kB  primary               boot, prep
 2      8225kB  115MB   107MB   primary  ext3
 3      115MB   19.3GB  19.2GB  primary  ext3
 4      19.3GB  21.4GB  2089MB  primary  linux-swap

还可以使用 mkfs 来创建 Linux 文件系统,该命令是 mke2fs 工具的前端。清单 6 显示了如何创建 ext3 文件系统。

清单 6. 使用 mkfs 来创建 ext3 文件系统
[root@172_29_140_173 sbin]# mkfs.ext3 /dev/sda1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
2000 inodes, 8000 blocks
400 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=8388608
1 block group
8192 blocks per group, 8192 fragments per group
2000 inodes per group

Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

下面尝试使用前面提到的 resize2fs 实用工具来调整文件系统的大小(请参见清单 7)。

清单 7. 尝试调整文件系统的大小
root@172_29_140_173 sbin]# resize2fs /dev/sda1 1G
resize2fs 1.39 (29-May-2006)
The containing partition (or device) is only 8001 (1k) blocks.
You requested a new size of 1048576 blocks.

如清单 7 所示,由于前面讨论过的分区问题,该实用工具无法工作。请记住,分区大小必须能够支持新的 FS,这类似于在 AIX 上,卷组必须有足够大的空间来增加文件系统空间。请注意,与 AIX 类似,您现在可以缩小 ext3 文件系统。

LVM

图 1 是使用 system-config-lvm 工具的 RHEL5 LVM 视图。

图 1. 使用 system-config-lvm 工具的 RHEL5 LVM
使用 system-config-lvm 工具的 RHEL5 LVM

对于 Linux,在能够使用 LVM 之前,您需要初始化分区以支持 LVM。当该过程完成时,分区将分类为未分配的物理卷。然后,您可以创建卷组,将物理卷添加到现有的卷组,或者从 LVM 中完全删除某个卷。可供使用的命令行工具包括 lvcreate、lvremove 和 lvextend。


软件包和软件

本部分讨论软件安装和总体软件包管理所需要的工具。

非常对不起 AIX 同胞们,但是您必须学会在没有 lslpp 的情况下生存。对于 Linux,您拥有 RPM。许多 AIX 管理员已经知道这些命令,因为 AIX 自从 5L 以来已经具有 RPM 功能。

下面使用 -qa 标志来查询系统中的软件包,如清单 8 所示。

清单 8. 使用 -qa 标志来查询系统中的软件包
root@172_29_140_173 sbin]# rpm -qa |more
popt-1.10.2-47.el5
pcre-6.6-1.1
libICE-1.0.1-2.1
libattr-2.4.32-1.1
libxslt-1.1.17-2
libgfortran-4.1.2-14.el5
bc-1.06-21

要安装软件包,可以使用 -i 标志来升级 -U 标志。RPM 的功能非常强大,但不是最容易学习的工具。确保花些时间学习此工具,或者使用对您可用的更加完善和更加用户友好的前端。其中一个这样的前端就是 Yellow Dog Updated Modified (YUM)。这是一个交互式、自动化的更新程序,可用于维护使用 RPM 的系统。RHEL4 使用 up2date 软件包管理器,RHEL5 使用 YUM(有关 YUM 的更多信息,请参阅参考资料)。

要使用 chkconfig 命令(我将在下一个部分中讨论此命令)在系统上激活每日 YUM 更新,可以使用以下命令: [root@172_29_140_173 sbin]# /sbin/chkconfig --level 345 yum on; /sbin/service yum start.

下一步,您将了解进行网络配置所需要的工具。


网络管理

要在 RHEL5 中支持网络,您可以编辑文件,使用命令行,使用网络管理实用工具 system-config-network,或者使用 setup 命令。下面您将使用 setup,该命令实际上用于对系统进行初始配置。在启动 setup 以后,您将看到 Choose a Tool 对话框,其中包含不同的配置选项,包括身份验证、防火墙、键盘、网络、系统服务、时区和 X 配置。

请从此对话框中选择 Network configuration 以调出 TCP/IP 配置对话框,如图 2 所示。

图 2. Configure TCP/IP 对话框
Configure TCP/IP 对话框

在该对话框中,您可以为网络接口控制器(Network Interface Controller,NIC)设置适当的 IP 信息、地址、网络掩码、网关和名称服务器。对于 RHEL5 网络,您还可以使用应该已经习惯了的标准 UNIX 命令,例如 route、netstat 命令,以及诸如 ping 和 traceroute 等其他实用工具。

下一步,您将了解进行服务管理所需要的工具。


服务管理

AIX 具有系统资源控制器,并且您可以利用诸如 lssrc 和 startsrc 等命令。RHEL 具有不同的实用工具,包括 system-config-services 命令。正如前面提到过的,您还可以使用 setup 命令来完成某些服务管理工作。Setup 实际上允许指定希望在启动时启动和调出哪些服务。其他方法是使用 service 命令和 chkconfig 命令。

可以使用 service 命令来获取状态信息,如清单 9 所示。

清单 9. 使用 service 命令
root@172_29_140_173 sbin]# service --status-all
amd is stopped
anacron is stopped
arpwatch is stopped
atd is stopped
auditd is stopped
automount is stopped

或者,您可以使用 chkconfig 服务,与脚本一起该服务也是非常便利的(请参见清单 10)。

清单 10. 使用 chkconfig 服务
root@172_29_140_173 sbin]# chkconfig --list
NetworkManager  0:off   1:off   2:off   3:off   4:off   5:off   6:off
NetworkManagerDispatcher        0:off   1:off   2:off   3:off   4:off   5:off   6:off
amd             0:off   1:off   2:off   3:off   4:off   5:off   6:off
anacron         0:off   1:off   2:off   3:off   4:off   5:off   6:off

您可以编辑的文本文件包括 /etc/sysconfig/network-scripts、/etc/resolv.conf 和 /etc/hosts。

下面查看一个表(请参见表 1),其中对一些最流行的 AIX 和 RHEL5 命令进行了比较。

表 1. AIX 和 RHEL5 上的命令比较
类型AIXRHEL5
添加用户mkuser、chuser、lsuseruseradd、usermod
添加文件系统crfs、chfsmke2fs、mkfs
维护逻辑卷mklv、chlvlvcreate、lvextend、lvdisplay
添加交换空间lsps -aswapon -s
管理进程系统资源控制器 (SRC) 命令chkconfig、services、setup
System-infoprtconf more/proc/cpuinfo、mem
内核参数vmo、ioo、schedo、nomore /etc/sysctl.conf
文件系统:缺省jfs2ext3
虚拟化PowerVMPowerVM——仅在 System p 上(Xen 在 x86 版本中可用)
GUIsmitsystem-config-*
命令、setup
Osleveloslevel -smore redhat-release
软件lslpprpm、yum
错误报告errptdmesg
Runlevelwho -rrunlevel
文件系统/etc/filesystems/etc/fstab

总结

在与许多从 Linux 转换到 AIX 的管理员一起工作过之后,我发现的一般规则在于,从 Solaris 转换到 Linux 要比从 AIX 转换到 Linux 容易得多,因为 Linux 是更加文本驱动的,而且还因为文本文件本身具有更相似的命名约定。作为 AIX 管理员,您应该已经非常熟悉许多命令行工具,这些工具在您进行转换时将非常有帮助。虽然您不会找到 smit,但是会发现存在足够的 GUI 来增加您的舒适感。

尽管 Linux 已取得了很大的进步,但它的确不如 AIX 之类的产品成熟,要进行文档记录和保持系统正常运行,您将需要做更多的事情。幸运的是,您还可以与 IBM 签署 Linux 支持合同,这是即使最高级的 AIX 管理员也将会在 AIX 上继续做的事情。Linux 继续在可靠性和可伸缩性方面取得巨大进展,特别是在 IBM System p 平台上。IBM 对 Linux 投入在业界是首屈一指的,对于希望开始转向 Linux 的企业来说,这是一个巨大的卖点。

我强烈建议 AIX 管理员接受适当的培训以减轻转换过程。不要害怕试验和犯错误。您将会发现,对于 Linux,存在更多的方法来完成与 AIX 相同的任务。您只需确保不要在生产中进行试验。我始终建议 AIX 管理员在 System p 服务器上创建沙箱 Linux 分区,以便在企业希望将该平台投入使用时能够顺利地开始。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX, Linux
ArticleID=341190
ArticleTitle=探索 System p 上的 Red Hat Enterprise Linux 5
publish-date=09242008