小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

AIX 6.1、Solaris 10 和 HP-UX 與 System p

 hx99 2009-07-15

Ken Milberg, 作家/網(wǎng)站專家, Future Tech

2009 年 7 月 09 日

近幾年,HP、Sun 和 IBM? 都發(fā)布了他們的商業(yè) UNIX? 操作系統(tǒng)的新版本。本文對比這些版本中的一些創(chuàng)新。討論執(zhí)行某些任務的方法的差異,比如連網(wǎng)和性能調優(yōu)。另外,討論這三種操作系統(tǒng)在虛擬化方面的差異。


 

首先討論這三種主要商業(yè) UNIX 操作系統(tǒng)的最新版本中的新特性和創(chuàng)新。

HP-UX 創(chuàng)新

HP-UX 是 HP 提供的 UNIX 操作系統(tǒng),最新版本是 11iV3。HP-UX 基于 System V,在 HP9000 RISC 服務器和 HP Integrity Itanium 系統(tǒng)上運行。它與 Solaris 相似,可以在 SPARC RISC 體系結構和 x86 機器上運行。AIX 只能在 POWER? 體系結構上運行;但是,由于 UNIX 是高端操作系統(tǒng),所以 AIX 和 POWER 體系結構的緊密集成是有積極意義的。

HP-UX 11Iv3 支持最多 128 個處理器核、2TB 內存、2TB 的文件系統(tǒng)、16TB 的文件系統(tǒng)大小和 1 億 ZB 的存儲。最近的創(chuàng)新和改進包括:

  • 通過動態(tài)節(jié)能功能,減少了 10% 的能源使用量
  • 通過根據(jù)位置優(yōu)化資源分布,把應用程序性能最多提高 20%
  • 通過 tune-N-Tools 調優(yōu)改進對性能敏感的工作負載

大約一年前,HP 提供了幾套操作系統(tǒng)環(huán)境,這為客戶提供了新的選擇。它們包括數(shù)據(jù)中心、高可用性環(huán)境、虛擬服務器和基本環(huán)境。

  • 提高了虛擬 I/O 的速度,在使用 HP Integrity 虛擬機器時這可以提高帶寬并提高 CPU 效率 60%。這個改進通過 gatekeeper 功能幫助優(yōu)先處理重要的數(shù)據(jù)流。
  • Online JFS 通過 VxFS 實現(xiàn)一種編制文件索引的新方法,并改進了目錄的性能。
  • HP Logical Volume Manager 改進:
    • 支持在線磁盤替換
    • 動態(tài)線支持
    • 支持多路徑 I/O
    • 性能改進
    • 提高了邏輯卷的最大大?。?2 - 16TB
  • 通過 Dynamic nPartitions 改進了虛擬化。這允許把基于單元的 HP Integrity 和 HP9000 服務器配置成大小不同的分區(qū),可以根據(jù)應用程序工作負載調整大小,在調整過程中應用程序仍然是可用的。
  • 連網(wǎng)改進:
    • 通過避免不必要的 TCP 通信,提高移動客戶機的吞吐量。
    • 改進 TCP 堆棧,提高性能。
    • 改變了可調優(yōu)的 tcphasize。這現(xiàn)在是自動調優(yōu)的;系統(tǒng)可以在引導時確定最優(yōu)值。

LVM 中的改進確實不錯,但是 AIX 已經實現(xiàn)了這些改進中的大部分。


Solaris 創(chuàng)新

Solaris 10 最初是于 2005 年發(fā)布的。Solaris 的最新版本是 10 10/08。這個版本中的改進包括:

  • 支持從 ZFS 引導并使用 ZFS 作為根文件系統(tǒng)。還對 Solaris ZFS 做了許多其他改進,包括:能夠回滾文件集而不需要卸載,改進了 ZFS 發(fā)送命令,支持 ZFS 配額和保留(只適用于文件系統(tǒng)數(shù)據(jù)),zpool 歷史等命令行改進,允許通過升級命令用新的文件系統(tǒng)改進升級現(xiàn)有的文件系統(tǒng),允許非根用戶執(zhí)行細粒度的 ZFS 管理任務。
  • 在從一個系統(tǒng)轉移到另一個系統(tǒng)時,允許 Solaris 容器自動地更新它的環(huán)境。
  • LDOM 支持,可以動態(tài)地重新配置磁盤和網(wǎng)絡 I/O。
  • 在 x86 系統(tǒng)上支持最多 256 個處理器 —— 原來是 64 個。
  • 對 Solaris 區(qū)的改進,包括:允許在 Shared IP Zones 中設置默認路由器,允許 ZFS 上的區(qū)路徑。
  • 安全改進,包括:通過 Solaris Management Console 改進了數(shù)據(jù)隔離,改進了加密算法。
  • 連網(wǎng)改進:提供 SIP 全程通信流度量和日志記錄,提供新的通信協(xié)議解析器實用程序。

對 ZFS 的這些改進非常重要。當 ZFS 最初出現(xiàn)時,它看起來令人難以置信,但它的根本問題是特性功能很不夠。增加了新功能之后,ZFS 在許多方面能夠與 AIX 的 JFS2 和 HP 的 VxFs 匹敵了。


AIX 創(chuàng)新

AIX 6.1 最初是在大約兩年前發(fā)布的,現(xiàn)在有兩個版本:標準版(只包含基本 AIX)和企業(yè)版(包含工作負載分區(qū)管理程序和幾個 Tivoli? 產品)。在這個方面,它與 HP 相似,HP 也有多個版本。最近的改進包括:

  • 工作負載分區(qū):WPAR 是與 Solaris 容器相似的操作系統(tǒng)虛擬化特性,它允許在一個 AIX 6.1 實例中創(chuàng)建多個 AIX 6.1 環(huán)境。只需幾秒即可創(chuàng)建應用程序 WPAR,它可以在全局實例中運行,這樣就可以快速測試新應用程序。
  • 動態(tài)應用遷移:這允許分區(qū)從一個系統(tǒng)轉移到另一個系統(tǒng),而不需要重新啟動應用程序,也不會中斷最終用戶對系統(tǒng)的訪問。除了支持計劃內停機之外,這個特性還有助于管理工作負載,允許在非高峰時間段把服務器從系統(tǒng)中轉移出去,從而節(jié)省能源和成本,提高效率。
  • 支持并發(fā) AIX 內核更新:不需要重新引導系統(tǒng),系統(tǒng)更新即可生效。
  • 支持存儲鍵:可以減少與 AIX 內核中的內存覆蓋相關的許多停機。
  • 支持動態(tài)跟蹤:可以簡化系統(tǒng)或應用程序代碼的調試。
  • 改進了功能性恢復例程:可以從通常會導致系統(tǒng)崩潰的錯誤中恢復。
  • 改進了 AIX 6.1 的默認調優(yōu)參數(shù),可以實現(xiàn)更好的性能。
  • 提供新的名稱解析器緩存守護進程,可以更高效地處理主機名解析請求。
  • 改進了 NFS version 4 的 NIM 支持。
  • 改進了可管理性特性,比如 IBM Systems Director Console for AIX。

最近的安全改進包括:

  • 基于角色的訪問控制 (RBAC),允許管理員把管理責任委托給非根用戶,從而提高安全性和可管理性。
  • Trusted AIX 讓 AIX 6.1 能夠滿足法律和行業(yè)標準對私密性的大多數(shù)需求。
  • Encrypted Filesystems 能夠加密文件系統(tǒng)中的數(shù)據(jù),為 JFS 提供更強的安全性。
  • 對 AIX 安全專家的改進包括支持在 LDAP 中存儲安全模板。
  • Secure-by-Default 安裝只啟用最少量的服務和包,從而在安裝時保持比較高的安全水平。
  • 支持長密碼。

在所有平臺上都支持這些 AIX 6.1 創(chuàng)新,但是以下創(chuàng)新只在 POWER 6? 體系結構上得到支持:應用程序存儲鍵、內核存儲鍵、自動調整的頁面大小、固件輔助轉儲和硬件十進制浮點。大多數(shù) IBM POWER 管理員很喜歡 AIX 6.1,已經開始把它投入生產環(huán)境了。下面討論 AIX 6.1 的哪些特性讓它如此受歡迎,并與 Solaris 和 HP-UX 的最新版本做比較。

首先是工作負載分區(qū)和動態(tài)應用遷移。Solaris 有區(qū)和容器,它們在某些方面與工作負載分區(qū)相似,但是沒有實現(xiàn) WPAR 的某些功能??梢栽诓煌V狗謪^(qū)運行的情況下把工作負載分區(qū)上的工作負載從一個系統(tǒng)轉移到另一個系統(tǒng),其他 UNIX 版本都無法這樣做。這為什么很重要?因為這可以在計劃內停機期間保持系統(tǒng)正常運行,從而提高可用性。系統(tǒng)管理員甚至操作員(通過 WPAR 管理員)可以把這些虛擬操作系統(tǒng)分區(qū)轉移到其他系統(tǒng),而不需要停機。這還有助于實現(xiàn)綠色計算,在非高峰時間段操作員可以把分區(qū)從利用率不高的機器轉移到其他機器,然后關閉空閑的機器。這個特性可以幫助公司節(jié)省大量成本,同時對環(huán)境有好處。在這里討論的所有創(chuàng)新中,AIX WPAR 和動態(tài)應用程序可移動性顯然是最重要的。


現(xiàn)在,我們比較一下這三種操作系統(tǒng)提供的虛擬化功能。

HP-UX

  • nPartitions:這些是硬分區(qū),在某些方面與 SUN DSD 相似。與 SUN DSD 不同的是,它可以在其他分區(qū)在線的情況下為一個分區(qū)提供服務。它們還支持多個操作系統(tǒng),比如 HP-UX、VMS、Linux? 和 Windows?,但是這只適用于 Itanium 處理器,不適用于 PA-RISC。與 Solaris 相似,它們只能用于高端系統(tǒng),而且不支持在不重新引導的情況下轉移資源。
  • vPars:這些是單獨的操作系統(tǒng)實例,它們可以駐留在 nPartition 或物理機器中。它們允許根據(jù)需求的變化在分區(qū)之間動態(tài)地轉移 CPU 和 RAM 資源。一定要注意,不能在分區(qū)之間共享或轉移存儲資源。
  • Integrity Virtual Machines:它們允許在一個分區(qū)上有多個單獨的訪客(guest)實例,訪客實例是完全隔離的環(huán)境。它們允許分區(qū)有自己的操作系統(tǒng)拷貝。在 HP 或 Sun 提供的所有虛擬化特性中,這個特性最接近 IBM 的 PowerVM?。它的粒度實際上比 PowerVM 提供的粒度更細,可以把機器劃分成 1/20 的微分區(qū)。主要缺點是可伸縮性不太好,只支持最多 4 個 CPU 和 64GB 內存。其他限制包括在系統(tǒng)運行時不能轉移存儲適配器,也不能讓進程只使用單一分區(qū)。
  • Resource Partitions:這相當于 Solaris 容器和 AIX WPAR。

在這三家硬件廠商中,只有 IBM 具有單一的整合的技術和愿景。另外兩家采用多種戰(zhàn)略,即使是最有經驗的系統(tǒng)用戶,往往也會被搞糊涂。IBM 只提供 PowerVM。與 HP 和 Sun 提供的任何特性相比,它的可伸縮性更好、更新穎,可以轉移正在運行的分區(qū)。IBM 有 40 年的虛擬化經驗(包括大型機),這確保 PowerVM 具有很好的穩(wěn)定性。最后,它的特性和功能能夠擴展到整個 POWER 產品系列。這是 HP 和 Sun 的嚴重缺點,HP 和 Sun 的產品只適用于低端機型、高端機型和/或特定的體系結構。

Solaris

Sun 采用多種方法在 Solaris 上實現(xiàn)虛擬化:

  • 容器或區(qū):這個特性允許在一個 Solaris 內核實例中運行多個虛擬操作系統(tǒng)。這是操作系統(tǒng)虛擬化的一種形式,與 AIX 6.1 的 WPAR 相似。
  • xVM 服務器:這個在 2008 年 2 月引入的創(chuàng)新是一個基于 Xen 和系統(tǒng)管理程序的解決方案,可以在 x86 機器上的 Solaris 中運行。在 Sparc 上,它仍然基于邏輯域。
  • 邏輯域 (LDOM):這允許同時運行多個操作系統(tǒng)。實際上,它有許多問題,包括可伸縮性差、微分區(qū)功能有限制而且不支持在系統(tǒng)之間進行動態(tài)分配。另外,它只能在低端 SPARC 服務器上運行。
  • 硬件分區(qū) (DSD):這在某些方面與 IBM 的邏輯分區(qū)(不屬于 PowerVM)相似。硬件分區(qū)不具備真正的虛擬化功能,因為不能在分區(qū)之間共享資源。

AIX

PowerVM 的虛擬化基于 IBM 的虛擬化系統(tǒng)管理程序戰(zhàn)略。它包括以下特性:

  • 微分區(qū):這個特性允許把一個 POWER CPU 劃分為最多 10 個邏輯分區(qū),每個分區(qū)使用一個 CPU 的 1/10。通過使用不封頂分區(qū) (uncapped partition),它還允許系統(tǒng)的計算能力超過已經分配給分區(qū)的標稱計算能力。
  • 共享處理器池:這個特性允許虛擬分區(qū)連接到共享池,可以隨著需求的增長獲取更多資源。在需求低時,分區(qū)把資源返回給共享處理器池。
  • 虛擬 I/O 服務器。這定義一種特殊的分區(qū),允許以 Shared Ethernet 和 Virtual SCSI 的形式共享 I/O。
  • 動態(tài)應用遷移。這個創(chuàng)新允許把正在運行的分區(qū)從一臺機器轉移到另一臺機器。這讓系統(tǒng)能夠在計劃內停機期間正常運行,從而提高系統(tǒng)的可用性。這個特性只能在 POWER 6 上使用。
  • 共享專用計算能力。這個特性讓分區(qū)可以把專用的處理器提供給共享處理器池。

連網(wǎng)

本節(jié)比較 HP-UX、Solaris 和 AIX 上的連網(wǎng)配置并在這三種系統(tǒng)上配置默認路由器。

HP-UX

在安裝之后第一次引導 HP-UX 系統(tǒng)時,運行 /sbin/set_parms 程序。以后還可以通過 set_parms initial 命令運行它。這個程序用來配置系統(tǒng)主機名、IP 地址和其他網(wǎng)絡參數(shù)。我們來運行它:# set_parms initial(清單 1)。


清單 1. 運行 set_parms 程序
_______________________________________________________________________________
                        Welcome to HP-UX!
                        Before using your system, you will need to answer a few questions.
                        The first question is whether you plan to use this system on a network.
                        Answer "yes" if you have connected the system to a network and are ready
                        to link with a network.
                        Answer "no" if you:
                        * Plan to set up this system as a standalone (no networking).
                        * Want to use the system now as a standalone and connect to a
                        network later.
                        _______________________________________________________________________________
                        Are you ready to link this system to a network?
                        Press [y] for yes or [n] for no, then press [Enter]
                        Do you wish to use DHCP to obtain networking information?
                        Press [y] for yes or [n] for no, then press [Enter]
                        

然后,還要輸入 IP 地址并添加其他網(wǎng)絡參數(shù)。

我們來配置一個以太網(wǎng)卡。在安裝 LAN 卡之后,運行 ioscan(見清單 2)。


清單 2. 運行 ioscan
# ioscan -fnC lan
                        Class     I  H/W Path  Driver S/W State   H/W Type     Description
                        ===================================================================
                        lan       0  0/0/1/0   iether   CLAIMED     INTERFACE    HP  PCI/PCI-X 1000Base-T
                        #
                        

現(xiàn)在看看 IP 地址,這使用 netstat 配置(見清單 3)。


清單 3. 使用 netstat 配置 IP 地址
# netstat -in
                        Name      Mtu  Network         Address         Ipkts      Ierrs Opkts        Oerrs Coll
                        lan0      1500 15.170.178.0    15.170.178.24   32657      0     24500        0     0
                        lo0      32808 127.0.0.0       127.0.0.1       131689     0     131689       0     0
                        

然后,我們就可以清楚地看到 lan0 與 15.170.178.2 相關聯(lián)(見清單 4)。


清單 4. 檢查 lan0 關聯(lián)
# ifconfig lan0
                        lan0: flags=1843<UP,BROADCAST,RUNNING,MULTICAST,CKO>
                        inet 15.170.178.24 netmask ffffff80 broadcast 15.170.178.127
                        

接下來,要配置默認路由器。首先需要修改這個文件:/etc/rc.config.d/netconf。這個 netconf 文件存儲配置值(見清單 5)。


清單 5. 檢查 netconf 文件中的配置值
# more /etc/rc.config.d/netconf
                        # netconf:  configuration values for core networking subsystems
                        #
                        # @(#) netconf $Date: 2007/10/05 20:09:28 $Revision: r11.31/1 PATCH_11.31 (PHNE_
                        36281)
                        #
                        # HOSTNAME:           Name of your system for uname -S and hostname
                        #
                        # OPERATING_SYSTEM:   Name of operating system returned by uname -s
                        #                     ---- DO NOT CHANGE THIS VALUE ----
                        #
                        # LOOPBACK_ADDRESS:   Loopback address
                        #                     ---- DO NOT CHANGE THIS VALUE ----
                        #
                        HOSTNAME="vital24.testdrive.hp.com"
                        OPERATING_SYSTEM=HP-UX
                        LOOPBACK_ADDRESS=127.0.0.1
                        DEFAULT_INTERFACE_MODULES=""
                        INTERFACE_NAME[0]=lan0
                        IP_ADDRESS[0]=15.170.178.24
                        DHCP_ENABLE[0]=1
                        SUBNET_MASK[0]=255.255.255.128
                        ROUTE_MASK[0]=0.0.0.0
                        ROUTE_GATEWAY[0]=15.170.178.126
                        BROADCAST_ADDRESS[0]=""
                        ROUTE_COUNT[0]=1
                        ROUTE_DESTINATION[0]=default
                        

然后,使用 route 命令添加新的路由:# route add default 15.170.178.126 1。

為了啟用新的路由,需要啟動服務并啟用路由(見清單 6)。


清單 6. 啟動服務并啟用路由
/sbin/init.d inetd start
                        /sbin/init.d net start
                        

現(xiàn)在檢查 SAM,它與 IBM 的 SMIT 相似。盡管它不如 SMIT 那么強大,但是 HP 至少提供了基于文本的菜單系統(tǒng)。


清單 7. HP 的 SAM
# sam
                        HP-UX System Management Homepage (Text User Interface)
                        SMH
                        ---------------------------------------------------------------------------------
                        a - Auditing and Security
                        c - Auditing and Security Attributes Configuration(new)
                        d - Peripheral Devices
                        e - Resource  Management
                        f - Disks and File Systems
                        g - Display
                        k - Kernel Configuration
                        l - Printers and Plotters(new)
                        m - Event Monitoring Service
                        n - Networking and Communications
                        p - Printers and Plotters
                        s - Software Management
                        u - Accounts for Users and Groups
                        

接下來,導航到 Networking and Communications >Network Interfaces Configuration>Network Interface Cards。下面是輸出(見清單 8)。


清單 8. 網(wǎng)絡接口卡的輸出
Interface  Subsystem  Hardware   Interface  Interface    IPv4 Address   IPv6 Address
                        Name                  Path       State      Type
                        ----------------------------------------------------------------------------------------
                        lan0       iether     0/0/1/0    up         1000Base-T   15.170.178.24  Not Configured
                        

在 HP-UX 上配置連網(wǎng)的方法相當明了,但是有時候有點兒麻煩。

Solaris

在 Solaris 上,需要使用文本文件配置連網(wǎng);沒有與 SAM 或 SMIT 相似的界面。首先在 /etc/nodename 中檢查機器的主機名(見清單 9)。


清單 9. 檢查機器的主機名
# more /etc/nodename
                        ezqspc03z1
                        

還應該使用 ifconfig 收集信息(見清單 10)。


清單 10. 使用 ifconfig 收集信息
# ifconfig -a
                        lo0:9: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL>
                        mtu 8232 index 1
                        inet 127.0.0.1 netmask ff000000
                        bge0:9: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4>
                        mtu 1500 index 2
                        inet 10.24.116.121 netmask ffffff00 broadcast 10.24.116.255
                        

使用 plumb 參數(shù)啟用卡。

例如,用 # ifconfig bge0 plumb 啟用 bge0。

# ifconfig bge0 up 啟動接口。

要想讓修改持久有效,需要編輯以下文件:

  • /etc/hosts
  • /etchostname/bge0(針對 bge0 接口)
  • /etc/netmasks
  • /etc/defaultrouter

現(xiàn)在修改默認路由。在 Solaris 中修改默認路由需要執(zhí)行以下步驟:

  1. 首先需要編輯 /etc/defaultrouter 文件。
  2. 刪除默認路由器的 IP 地址:# route delete theipadress。
  3. 分配新的地址:# route add default newipadress。

盡管我有時候喜歡編輯文本文件,但是大多數(shù)管理員更喜歡通過菜單驅動的系統(tǒng)配置連網(wǎng),這樣更靈活、更方便。另外,在使用 Solaris 時,需要探測接口 —— 其他 UNIX 操作系統(tǒng)不需要這么做。IBM 和 HP 都有系統(tǒng)管理菜單系統(tǒng),但是 IBM 的 SMIT 更強大。

AIX

在 AIX 上,在配置連網(wǎng)時通常使用 SMIT。列出以太網(wǎng)適配器的方法如下:# smit devices >communication >Ethernet adapter>adapter>list all Ethernet adapters(見清單 11)。


清單 11. 列出以太網(wǎng)適配器
                                COMMAND STATUS
                        Command: OK            stdout: yes           stderr: no
                        Before command completion, additional instructions may appear below.
                        ent0 Available  Virtual I/O Ethernet Adapter (l-lan)
                        ent1 Available  Virtual I/O Ethernet Adapter (l-lan)
                        F1=Help             F2=Refresh          F3=Cancel           F6=Command
                        F8=Image            F9=Shell            F10=Exit            /=Find
                        n=Find Next
                        

要想進行修改,需要找到 Change/Show characteristics of an Ethernet adapter(見清單 12)。


清單 12. Change/Show characteristics of an Ethernet adapter
              Change / Show Characteristics of an Ethernet Adapter
                        Type or select values in entry fields.
                        Press Enter AFTER making all desired changes.
                        [TOP]                                                   [Entry Fields]
                        Ethernet Adapter                                    ent0
                        Description                                         Virtual I/O Ethernet >
                        Status                                              Available
                        Location
                        Enable ALTERNATE ETHERNET address                   no                     +
                        ALTERNATE ETHERNET address                         [0x000000000000]        +
                        Minimum Tiny Buffers                               [512]                   +#
                        Maximum Tiny Buffers                               [2048]                  +#
                        Minimum Small Buffers                              [512]                   +#
                        Maximum Small Buffers                              [2048]                  +#
                        Maximum Medium Buffers                             [128]                   +#
                        Maximum Medium Buffers                             [256]                   +#
                        Minimum Large Buffers                              [24]                    +#
                        [MORE...8]
                        

在 AIX 上,也可以使用 ifconfig。但是,用 ifconfig 所做的修改并不保存在 Object Data Manager (ODM) 中,在重新引導時會丟失。因此,ifconfig 不是首選方法;在 AIX 上處理網(wǎng)絡時應該堅持使用 SMIT。

要想在 AIX 上添加默認路由,只需訪問 SMIT>TCP/IP Minimum Configuration&Startup 并單擊您的接口,就會出現(xiàn)清單 13 所示的屏幕。


清單 13. 在 AIX 上添加默認路由
                        Minimum Configuration & Startup
                        To Delete existing configuration data, please use Further Configuration menus
                        Type or select values in entry fields.
                        Press Enter AFTER making all desired changes.
                        [TOP]                                                   [Entry Fields]
                        * HOSTNAME                                           [lpar21ml162f_pub]
                        * Internet ADDRESS (dotted decimal)                  [172.29.141.94]
                        Network MASK (dotted decimal)                      [255.255.192.0]
                        * Network INTERFACE                                   en0
                        NAMESERVER
                        Internet ADDRESS (dotted decimal)         [10.153.50.201]
                        DOMAIN Name                               [vlp.com]
                        Default Gateway
                        Address (dotted decimal or symbolic name)     [172.29.128.13]
                        Cost                                          [0]                      #
                        Do Active Dead Gateway Detection?              no                     +
                        [MORE...2]
                        F1=Help             F2=Refresh          F3=Cancel           F4=List
                        F5=Reset            F6=Command          F7=Edit             F8=Image
                        

然后,修改默認網(wǎng)關并按回車鍵兩次(見清單 14)。


清單 14. 修改默認網(wǎng)關
                                 COMMAND STATUS
                        Command: OK            stdout: yes           stderr: no
                        Before command completion, additional instructions may appear below
                        en0
                        lpar21ml162f_pub
                        inet0 changed
                        en0 changed
                        inet0 changed
                        

AIX 提供的連網(wǎng)配置方法非常簡單。

性能調優(yōu)

本節(jié)對比 HP-UX、Solaris 和 AIX 上的系統(tǒng)調優(yōu)方法。

HP-UX

要記住,HP-UX 在 Itanium 和 PA-RISC 上運行。因此,與運行在 PA-RISC 上編譯的程序相比,Integrity 服務器在運行針對 Itanium 編譯的程序時性能更好。它可以以模擬(emulation)模式運行,但是運行速度沒那么快。HP-UX 11.31 具有每線程鎖,因此 HP-UX 的最新版本的性能顯著提高了 —— 與 11iV2 相比,最多能夠提高 30%。在磁盤 I/O 方面,建議使用塊大小為 8 kb 的 VxFS。還可以通過 HP Online JFS 獲得更好的性能。

在 SAM 中查看要調整的 kctune 和 kcweb 參數(shù)。

下面是 kctune 的參數(shù)列表(見清單 15)。


清單 15. kctune 的參數(shù)列表
# kctune
                        Tunable                           Value  Expression  Changes
                        NSTREVENT                            50  Default
                        NSTRPUSH                             16  Default
                        NSTRSCHED                             0  Default
                        STRCTLSZ                           1024  Default
                        STRMSGSZ                              0  Default
                        acctresume                            4  Default
                        acctsuspend                           2  Default
                        aio_iosize_max                        0  Default     Immed
                        aio_listio_max                      256  Default     Immed
                        aio_max_ops                        2048  Default     Immed
                        aio_monitor_run_sec                  30  Default     Immed
                        aio_physmem_pct                      10  Default     Immed
                        aio_prio_delta_max                   20  Default     Immed
                        aio_proc_max                          0  Default     Immed
                        aio_proc_thread_pct                  70  Default     Immed
                        aio_proc_threads                   1024  Default     Immed
                        aio_req_per_thread                    1  Default     Immed
                        allocate_fs_swapmap                   0  Default
                        alwaysdump                            0  Default     Immed
                        audit_memory_usage                    5  Default     Immed
                        audit_track_paths                     0  Default     Auto
                        base_pagesize                         4  Default
                        copy_on_write                         1  Default     Immed
                        core_addshmem_read                    0  Default     Immed
                        core_addshmem_write                   0  Default     Immed
                        create_fastlinks                      0  Default
                        default_disk_ir                       0  Default
                        diskaudit_flush_interval              5  Default     Immed
                        dlpi_max_ub_promisc                   1  Default     Immed
                        dma32_pool_size                 4194304  4194304
                        dmp_rootdev_is_vol                    0  Default
                        dmp_swapdev_is_vol                    0  Default
                        dnlc_hash_locks                     512  Default
                        dontdump                              0  Default     Immed
                        dst                                   1  Default
                        dump_compress_on                      1  Default     Immed
                        dump_concurrent_on                    1  Default     Immed
                        executable_stack                      0  Default     Immed
                        expanded_node_host_names              0  Default     Immed
                        fcache_fb_policy                      0  Default     Immed
                        fcache_seqlimit_file                100  Default     Immed
                        fcache_seqlimit_system              100  Default     Immed
                        fcd_disable_mgmt_lun                  0  Default     Immed
                        fclp_ifc_disable_mgmt_lun             0  Default     Immed
                        filecache_max                1018863616  Default     Auto
                        filecache_min                 101883904  Default     Auto
                        fr_statemax                      800000  Default
                        fr_tcpidletimeout                 86400  Default
                        fs_async                              0  Default
                        fs_symlinks                          20  Default     Immed
                        ftable_hash_locks                    64  Default
                        gvid_no_claim_dev                     0  Default
                        hires_timeout_enable                  0  Default     Immed
                        hp_hfs_mtra_enabled                   1  Default
                        intr_strobe_ics_pct                  80  Default     Immed
                        io_ports_hash_locks                  64  Default
                        ipf_icmp6_passthru                    0  Default
                        ipl_buffer_sz                      8192  Default
                        ipl_logall                            0  Default
                        ipl_suppress                          1  Default
                        ipmi_watchdog_action                  0  Default     Immed
                        ksi_alloc_max                     33600  Default     Immed
                        ksi_send_max                         32  Default
                        lcpu_attr                             0  Default     Auto
                        max_acct_file_size              2560000  Default     Immed
                        max_async_ports                    4096  Default     Immed
                        max_mem_window                        0  Default     Immed
                        max_thread_proc                    1100  1100        Immed
                        maxdsiz                      1073741824  Default     Immed
                        maxdsiz_64bit                4294967296  Default     Immed
                        maxfiles                           2048  Default
                        maxfiles_lim                       4096  Default     Immed
                        maxrsessiz                      8388608  Default
                        maxrsessiz_64bit                8388608  Default
                        maxssiz                         8388608  Default     Immed
                        maxssiz_64bit                 268435456  Default     Immed
                        maxtsiz                       100663296  Default     Immed
                        maxtsiz_64bit                1073741824  Default     Immed
                        maxuprc                             256  Default     Immed
                        mca_recovery_on                       0  Default     Auto
                        msgmbs                                8  Default     Immed
                        msgmnb                            16384  Default     Immed
                        msgmni                              512  Default     Immed
                        msgtql                             1024  Default     Immed
                        ncdnode                             150  Default
                        nclist                             8292  Default
                        ncsize                             8976  Default
                        nflocks                            4096  Default     Auto
                        nfs2_max_threads                      8  Default     Immed
                        nfs2_nra                              4  Default     Immed
                        nfs3_bsize                        32768  Default     Immed
                        nfs3_do_readdirplus                   1  Default     Immed
                        nfs3_jukebox_delay                 1000  Default     Immed
                        nfs3_max_threads                      8  Default     Immed
                        nfs3_max_transfer_size          1048576  Default     Immed
                        nfs3_max_transfer_size_cots     1048576  Default     Immed
                        nfs3_nra                              4  Default     Immed
                        nfs4_bsize                        32768  Default     Immed
                        nfs4_max_threads                      8  Default     Immed
                        nfs4_max_transfer_size          1048576  Default     Immed
                        nfs4_max_transfer_size_cots     1048576  Default     Immed
                        nfs4_nra                              4  Default     Immed
                        nfs_portmon                           0  Default     Immed
                        ngroups_max                          20  Default     Immed
                        ninode                             8192  Default
                        nkthread                           8416  Default     Immed
                        nproc                              4200  Default     Immed
                        npty                                 60  Default
                        nstrpty                              60  Default
                        nstrtel                              60  Default
                        nswapdev                             32  Default
                        nswapfs                              32  Default
                        numa_policy                           0  Default     Immed
                        pa_maxssiz_32bit               83648512  Default
                        pa_maxssiz_64bit              536870912  Default
                        pagezero_daemon_enabled               1  Default     Immed
                        patch_active_text                     1  Default     Immed
                        pci_eh_enable                         1  Default
                        pci_error_tolerance_time           1440  Default     Immed
                        process_id_max                    30000  Default     Auto
                        process_id_min                        0  Default     Auto
                        pwr_idle_ctl                          0  Default     Auto
                        remote_nfs_swap                       0  Default
                        rng_bitvals                  9876543210  Default
                        rng_sleeptime                         2  Default
                        rtsched_numpri                       32  Default
                        sched_thread_affinity                 6  Default     Immed
                        scroll_lines                        100  Default
                        secure_sid_scripts                    1  Default     Immed
                        semaem                            16384  Default
                        semmni                             2048  Default
                        semmns                             4096  Default
                        semmnu                              256  Default
                        semmsl                             2048  Default     Immed
                        semume                              100  Default
                        semvmx                            32767  Default
                        shmmax                       1073741824  Default     Immed
                        shmmni                              400  Default     Immed
                        shmseg                              300  Default     Immed
                        streampipes                           0  Default
                        swchunk                            2048  Default
                        sysv_hash_locks                     128  Default
                        tcphashsz                             0  Default
                        timeslice                            10  Default
                        timezone                            420  Default
                        uname_eoverflow                       1  Default     Immed
                        vnode_cd_hash_locks                 128  Default
                        vnode_hash_locks                    128  Default
                        vol_checkpt_default               10240  Default
                        vol_dcm_replay_size              262144  Default
                        vol_default_iodelay                  50  Default
                        vol_fmr_logsz                         4  Default
                        vol_max_bchain                       32  Default
                        vol_max_nconfigs                     20  Default
                        vol_max_nlogs                        20  Default
                        vol_max_nmpool_sz               4194304  Default     Immed
                        vol_max_prm_dgs                    1024  Default
                        vol_max_rdback_sz               4194304  Default     Immed
                        vol_max_vol                     8388608  Default
                        vol_max_wrspool_sz              4194304  Default     Immed
                        vol_maxio                           256  Default
                        vol_maxioctl                      32768  Default
                        vol_maxkiocount                    2048  Default
                        vol_maxparallelio                   256  Default
                        vol_maxspecialio                    256  Default
                        vol_maxstablebufsize                256  Default
                        vol_min_lowmem_sz                532480  Default     Immed
                        vol_mvr_maxround                    256  Default
                        vol_nm_hb_timeout                    10  Default
                        vol_rootdev_is_vol                    0  Default
                        vol_rvio_maxpool_sz             4194304  Default     Immed
                        vol_subdisk_num                    4096  Default
                        vol_swapdev_is_vol                    0  Default
                        vol_vvr_transport                     1  Default
                        vol_vvr_use_nat                       0  Default
                        volcvm_cluster_size                  16  Default
                        volcvm_smartsync                      1  Default
                        voldrl_max_drtregs                 2048  Default
                        voldrl_min_regionsz                 512  Default
                        voliomem_chunk_size               65536  Default
                        voliomem_maxpool_sz             4194304  Default
                        voliot_errbuf_dflt                16384  Default
                        voliot_iobuf_default               8192  Default
                        voliot_iobuf_limit               131072  Default
                        voliot_iobuf_max                  65536  Default
                        voliot_max_open                      32  Default
                        volpagemod_max_memsz               6144  Default     Immed
                        volraid_rsrtransmax                   1  Default
                        vps_ceiling                          16  Default     Immed
                        vps_chatr_ceiling               1048576  Default     Immed
                        vps_pagesize                         16  Default     Immed
                        vx_maxlink                        32767  Default
                        vx_ninode                             0  Default     Immed
                        vxfs_bc_bufhwm                        0  Default     Immed
                        vxfs_ifree_timelag                    0  Default     Immed
                        vxtask_max_monitors                  32  Default
                        

可以看到有兩種內核參數(shù)。一種立即生效 (immed),另一種在重新引導時生效 (Default)。

可以使用 kctune 命令查看一個參數(shù)。只需輸入清單 16 這樣的 kctune 命令。


清單 16. 使用 kctune
# kctune vx_ninode
                        Tunable    Value  Expression  Changes
                        vx_ninode      0  Default     Immed
                        #
                        

我喜歡使用 -B 選項,這會在做修改時備份原來的值。我們來修改一個參數(shù)(見清單 17)。


清單 17. 使用 -B 選項
# kctune -B vps_ceiling=32
                        * The automatic 'backup' configuration has been updated.
                        * Future operations will update the backup without prompting.
                        * The requested changes have been applied to the currently
                        running configuration.
                        Tunable                Value  Expression  Changes
                        vps_ceiling  (before)     16  Default     Immed
                        (now)        32  32
                        

現(xiàn)在看看 SAM。在清單 18 所示的內核配置部分中,可以看到內核可調項。


清單 18. 內核配置部分
 SMH->Kernel Configuration
                        ---------------------------------------------------------------------------------
                        t - Tunables                        View or modify kernel tunables
                        m - Modules                         View or modify kernel modules and drivers
                        a - Alarms                          View or modify alarms for kernel tunables
                        l - Log Viewer                      View the changes made to kernel tunables
                        or modules
                        u - Usage                           View usage of kernel tunables
                        c - Manage Configuration            View the  options available to manage
                        configurations
                        b - Restore Previous Boot Values    Restores Previous Boot Values for Tunables
                        And Modules
                        SMH->Kernel Configuration->Usage
                        Usage Monitoring is On
                        --------------------------------------------------------------------------
                        Tunable                    Current Usage             Current Setting
                        ==========================================================================
                        filecache_max              76054528                  1018863616
                        maxdsiz                    11403264                  1073741824
                        maxdsiz_64bit              42663936                  4294967296
                        maxfiles_lim               38                        4096
                        maxssiz                    786432                    8388608
                        maxssiz_64bit              98304                     268435456
                        maxtsiz                    35823616                  100663296
                        maxtsiz_64bit              1409024                   1073741824
                        maxuprc                    3                         256
                        max_thread_proc            21                        1100
                        msgmni                     2                         512
                        msgtql                     0                         1024
                        nflocks                    27                        4096
                        ninode                     727                       8192
                        nkthread                   330                       8416
                        nproc                      151                       4200
                        npty                       0                         60
                        nstrpty                    1                         60
                        nstrtel                    0                         60
                        nswapdev                   1                         32
                        nswapfs                    0                         32
                        semmni                     28                        2048
                        semmns                     146                       4096
                        shmmax                     17868904                  1073741824
                        shmmni                     7                         400
                        shmseg                     3                         300
                        

除了菜單驅動的系統(tǒng) SAM 之外,HP-UX 還允許通過命令行執(zhí)行調優(yōu)任務。總的來說,我喜歡 HP-UX 使用的性能調優(yōu)方法,但是我認為 kctune 中的東西太多了。AIX 是按領域組織調優(yōu)參數(shù)的。

Solaris

與 HP-UX 和 AIX 不同,在 Solaris 上要使用文本文件完成大多數(shù)工作。主要文件是 /etc/system。在轉移到新版本時,建議先使用一個空文件,只添加第三方應用程序需要的可調項。對 /etc/system 所做的所有修改在重新引導后生效。

我們在 /etc/system 中做一個修改:set nfs:nfs_nra=4。

這個修改為使用 NFS version 2 軟件掛載的文件系統(tǒng)設置預讀取塊的數(shù)量。Solaris 10 中的一個重要變化是,許多 Solaris 內核參數(shù)現(xiàn)在已經被資源控制取代。修改資源控制的命令是 prctl 命令。例如,現(xiàn)在通過資源控制處理所有共享內存和信號量。這意味著不再需要在 /etc/system 中設置與共享內存和信號量(即 sem)相關的任何條目。以 Oracle 調優(yōu)為例。在以前的版本中,在 /etc/system 中配置 SHMMAX,然后重新引導?,F(xiàn)在使用 prctl。這一變化的優(yōu)點是修改可以立即生效,不需要重新引導。缺點是在重新引導時信息會丟失,所以需要在用戶配置文件中輸入信息。把 max-shm-memory 的值改為 6 GB 的命令是:# prctl -n project.max-shm-memory -v 6gb -r -i project user.root。

其他調優(yōu)方法包括:

  • 使用 kmdb,內核調試器
  • 使用 mdb,模塊化調試器
  • 使用 ndd 配置 TCP/IP 參數(shù)
  • 使用 /etc/default 調整 NCA 參數(shù)
  • 使用 prtctl 修改資源控制

通過 ndd 進行調優(yōu)的示例如下:# ndd -get /dev/tcp tcp_time_wait_interval。

怎么調整 NFS 呢?這些參數(shù)也在 /etc/system 中,包括 nfs_cots_timeo、nfs_allow_preepoch_time 和 nfs4_pathconf_disable_cache。

我知道一些管理員喜歡編輯文本文件,但是一般來說,大多數(shù)管理員更喜歡 HP 或 IBM 提供的簡便的調優(yōu)系統(tǒng)。盡管 prtctl 在某些方面有幫助,但是也會帶來混亂,因為在一些方面要使用 prtctl,對于其他方面仍然使用 /etc/system。

AIX

在 AIX 上,有幾個調優(yōu)命令,分別用于 I/O(對于網(wǎng)絡和磁盤使用不同的實用程序)、內存和 CPU 的調優(yōu):ioo、no、vmo 或 schedo。使用 nfso 調整 nfs 子系統(tǒng)。AIX 6.1 還有一些性能改進。比較重要的改進包括默認參數(shù)更符合日常工作的情況,并且加入受限制的可調參數(shù),這有助于防止管理員把東西弄亂。最近的改進包括:

  • 改進了以下領域的默認可調項:vmo、ioo、aio、no、nfso 和 schedo。
  • 在文件系統(tǒng)方面,修改了 Enhanced Journaling File System,允許掛載 JFS2 f/s 而不啟用日志記錄。這確實可以提高性能,但是我建議不要使用它,因為這會導致可用性問題。
  • I/O pacing 可以限制針對一個文件的未完成 I/O 請求數(shù)量,這可以有效地防止磁盤 I/O 密集型進程。AIX 6.1 在默認情況下啟用 I/O pacing。在 AIX 5.3 中,需要顯式地啟用這個特性。
  • AIO 是一個 AIX 軟件子系統(tǒng),它允許進程發(fā)出 I/O 請求而不必等待 I/O 完成。在 AIX 6.1 中,在默認情況下裝載 AIO 子系統(tǒng),但是不啟動。當應用程序發(fā)出 AIO I/O 請求時,會自動地啟動它。另外,原來用來配置 AIO 服務器的 aioo 命令已經取消了。
  • 引入了一個新的網(wǎng)絡緩存守護進程,它可以提高使用 DNS 解析名稱時的性能。使用 AIX 的 System Resource Controller (SRC) 啟動它,使用 netcdctrol 實用程序進行管理。

我們來做一些修改。

下面的命令把頁面設置為 16777216 字節(jié)的大頁面,這在 Oracle 環(huán)境中尤其有用:# vmo -r -o lgpg_size=16777216 lgpg_regions=256。

我們來看看虛擬內存。AIX 虛擬內存管理器控制機器上的所有內存,而不只是虛擬內存。在 UNIX 系統(tǒng)上,減少分頁數(shù)量總是很重要的。如何讓 AIX 虛擬內存管理器減少分頁數(shù)量呢?進程在處理計算信息時使用計算內存,它們是臨時的內存段。它們沒有持久的磁盤存儲位置。另一方面,文件內存使用持久存儲,而不是內存段。您可能更希望將文件內存頁存儲到磁盤,而不是計算內存??梢允褂锰摂M內存設置中的幾個參數(shù)實現(xiàn)這個目的。我們需要調整 minperm、maxperm 和 maxclient。為了避免 AIX 對工作存儲進行分頁并利用數(shù)據(jù)庫緩存,需要把 maxperm 設置為比較高的值(大于 90)并確保 lru_file_repage=0。這個參數(shù)表示是否應該考慮 VMM re-page 計數(shù)和它應該使用什么類型的內存。默認設置是 1,需要把它改為 0。這要使用 vmo 命令來完成。把這個參數(shù)設置為 0,就是告訴 VMM 希望它只置換文件頁面,而不置換計算頁面。在 AIX 6.1 中,minperm、maxperm 和 maxclient 已經設置為適當?shù)闹?。?AIX 5.3 中,需要執(zhí)行清單 19 所示的命令。


清單 19. 在 AIX 5.3 中設置 minperm、maxperm 和 maxclient 值
# vmo -p -o minperm%=3
                        # vmo -p -o maxperm%=97
                        # vmo -p -o maxclient%=97
                        

IBM 在性能調優(yōu)方面占據(jù)優(yōu)勢,到目前為止它的性能調優(yōu)方法是最直觀的。在向自調優(yōu)系統(tǒng)發(fā)展方面,HP-UX 在近幾年進步很大,但是還不夠。Solaris 通過 prtctl 引入了一些積極的改進,但是要配置的東西還是太多。對于 AIX,就簡單多了。用 vmo 調整內存,用 ioo 調整磁盤/IO,用 schedo 調整 CPU,用 no 調整網(wǎng)絡,用 nfso 調整 nfs。沒法再簡單了!另外,AIX 6.1 中對調優(yōu)參數(shù)的改進進一步擴大了 AIX 的優(yōu)勢。


結束語

本文比較了 AIX 6.1、HP-UX (11Iv3) 和 Solaris (10/08) 的最新版本中的創(chuàng)新和特性/功能改進。還討論了執(zhí)行某些任務的命令和方法的差異,比如配置連網(wǎng)和性能調優(yōu)。此外,還總結了這三種 UNIX 系統(tǒng)的虛擬化特性及其基本差異。您自己決定最喜歡哪一種,但是根據(jù)我的比較,AIX 在所有方面都很出色。HP-UX 與 AIX 最為相似,而 Solaris 主要通過文本文件方式進行系統(tǒng)管理。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多