現在您作為團隊中的 IBM® AIX® 專家已有許多年,老闆決定要嘗試一下 System p™ 上的 Linux®。您可以抵制這種變化,或者可以接受並學習 Linux,即使不是為了愛它而學習它。本文的目的是向 AIX 管理員介紹 Linux。本文將向您介紹您需要了解些什麼知識,才能使得到 Linux 的轉換更加簡單。本文還將向您說明用於執行特定任務的等效命令,同時將討論進程管理、文件系統管理、如何查看系統信息、安裝軟體包,以及您作為系統管理員需要了解的其他一些信息。雖然您不會通過閱讀本文而成為 Linux 專家,但是本文將為您需要了解的知識提供一個很好的起點。
引言
探索一下 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 輸出。
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 的內容。
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。
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 所示。
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,因為它更容易使用。
[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 文件系統。
[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)。
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 視圖。
對於 Linux,在能夠使用 LVM 之前,您需要初始化分區以支持 LVM。當該過程完成時,分區將分類為未分配的物理卷。然後,您可以創建卷組,將物理卷添加到現有的卷組,或者從 LVM 中完全刪除某個卷。可供使用的命令行工具包括 lvcreate、lvremove 和 lvextend。
軟體包和軟體
本部分討論軟體安裝和總體軟體包管理所需要的工具。
非常對不起 AIX 同胞們,但是您必須學會在沒有 lslpp 的情況下生存。對於 Linux,您擁有 RPM。許多 AIX 管理員已經知道這些命令,因為 AIX 自從 5L 以來已經具有 RPM 功能。
下面使用 -qa 標誌來查詢系統中的軟體包,如清單 8 所示。
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 所示。
在該對話框中,您可以為網路介面控制器(Network Interface Controller,NIC)設置適當的 IP 信息、地址、網路掩碼、網關和名稱伺服器。對於 RHEL5 網路,您還可以使用應該已經習慣了的標準 UNIX 命令,例如 route、netstat 命令,以及諸如 ping 和 traceroute 等其他實用工具。
下一步,您將了解進行服務管理所需要的工具。
服務管理
AIX 具有系統資源控制器,並且您可以利用諸如 lssrc 和 startsrc 等命令。RHEL 具有不同的實用工具,包括 system-config-services 命令。正如前面提到過的,您還可以使用 setup 命令來完成某些服務管理工作。Setup 實際上允許指定希望在啟動時啟動和調出哪些服務。其他方法是使用 service 命令和 chkconfig 命令。
可以使用 service 命令來獲取狀態信息,如清單 9 所示。
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)。
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 命令進行了比較。
類型 | AIX | RHEL5 |
---|---|---|
添加用戶 | mkuser、chuser、lsuser | useradd、usermod |
添加文件系統 | crfs、chfs | mke2fs、mkfs |
維護邏輯卷 | mklv、chlv | lvcreate、lvextend、lvdisplay |
添加交換空間 | lsps -a | swapon -s |
管理進程 | 系統資源控制器 (SRC) 命令 | chkconfig、services、setup |
System-info | prtconf more | /proc/cpuinfo、mem |
內核參數 | vmo、ioo、schedo、no | more /etc/sysctl.conf |
文件系統:預設 | jfs2 | ext3 |
虛擬化 | PowerVM | PowerVM——僅在 System p 上(Xen 在 x86 版本中可用) |
GUI | smit | system-config-* 命令、setup |
Oslevel | oslevel -s | more redhat-release |
軟體 | lslpp | rpm、yum |
錯誤報告 | errpt | dmesg |
Runlevel | who -r | runlevel |
文件系統 | /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 分區,以便在企業希望將該平台投入使用時能夠順利地開始。(責任編輯:A6)
[火星人 ] 探索 System p 上的 Red Hat Enterprise Linux 5已經有624次圍觀