命令 輸出
uname -u IBM,01 10 CABFD(出于可讀性的原因,插入了一些空格。)
uname -M IBM,7043-260
uname -L -1 Null(沒有 LPAR)
uname -Mu IBM,7043-260 IBM,01 10 CABFD
uname -MuL IBM,7043-260 IBM,01 10 CABFD -1 NULL
uname -m 00C CABFD 4C00(注意:我們不建議使用這個(gè)命令。)
  
    在這臺計(jì)算機(jī)上,nid 為 cabfd 4c。盡管可以使用 uname -m,但不建議這樣做,因?yàn)閷τ谖ㄒ幌到y(tǒng)標(biāo)識來說,5 位數(shù)字的序列號并非總是足夠的。
  
    正如您在前面的示例中所看到的,uname -u 給出了廠家代碼和計(jì)算機(jī)序列號,以便更好地標(biāo)識一個(gè)系統(tǒng)。通過 uname -Mu 和 uname -MuL 命令,您可以添加其他的數(shù)據(jù)項(xiàng),如計(jì)算機(jī)類型和計(jì)算機(jī)型號號碼。
  
    -L 標(biāo)志給出了 LPAR 信息。在這個(gè) AIX 5L Version 5.1 和 Version 5.2 的實(shí)驗(yàn)中,我們使用了不帶分區(qū)支持的雙處理器 RS/6000 Model 260,因此 -L 的輸出是 -1 和 NULL。
  
    對于不具有邏輯分區(qū)的 AIX 5L Version 5.1 和 Version 5.2 級別的 IBM System p5 計(jì)算機(jī),可以使用下面的命令生成建議的唯一系統(tǒng)標(biāo)識符:
  


uname -Mu

    在前一個(gè)示例中,這個(gè)命令標(biāo)志生成了輸出:
  


IBM,7043-260 IBM,01 10 CABFD

    該輸出字符串包含了下列元素: 
      計(jì)算機(jī)類型 (7043) 
      型號 (260)
      OF 前綴 (IBM,01)
      廠家代碼 (10)
      序列號 (CABFD)
  
  用于檢查系統(tǒng)標(biāo)識的其他命令和系統(tǒng)接口
  
   lsattr 命令可以用來查詢 AIX 系統(tǒng)標(biāo)識符。分別在 RS/6000 Model 260 和 IBM System p5 520 計(jì)算機(jī)上進(jìn)行下面兩項(xiàng)測試:
  


lsattr -El sys0 -a systemid    (RS/6000 Model 260)
systemid IBM,01 10 CABFD Hardware system identifier False

lsattr -El sys0 -a systemid (IBM System p5 520)
systemid IBM,02 10 F190F Hardware system identifier False


    還可以通過一組系統(tǒng) API 來查詢系統(tǒng)標(biāo)識信息:
  




uname()    and    unamex() xutsname.nid in
struct xutsname xutsname.lognid in
struct xutsname



    您可以在更新的編程接口規(guī)范 部分中找到關(guān)于這些結(jié)構(gòu)和訪問函數(shù)的完整解釋。
  
  更新的 AIX 系統(tǒng)標(biāo)識
  
    IBM 的產(chǎn)品改變了序列號生成的規(guī)則。IBM 正過渡為: 
       包含比 16 進(jìn)制數(shù)值 (0-9, A-F) 更多內(nèi)容的序列號
       針對每個(gè)廠家代碼的獨(dú)立序列號
  
    另外,IBM Systems 的計(jì)算機(jī)已從單桌面計(jì)算機(jī)發(fā)展為具有共享邏輯分區(qū)和同步多線程 (SMT) 支持的大型服務(wù)器。生成唯一系統(tǒng)標(biāo)識符的要求也相應(yīng)地有所提高。下面是正確地支持系統(tǒng)標(biāo)識符生成的要求列表: 
      POWER4 系統(tǒng)必須具有最多 32 個(gè)分區(qū),從 1 到 32 進(jìn)行編號。
      POWER5 系統(tǒng)必須具有最多 254 個(gè)分區(qū),從 1 到 254 進(jìn)行編號。
      將來的系統(tǒng)可能需要支持 1023 個(gè)分區(qū)。
      將來的系統(tǒng)必須支持未來的分區(qū)號,從 1 到大約 1 百萬。
  
    使用字符串“TTTTMMMCCSSSSS”來標(biāo)識系統(tǒng),其中:
  
      TTTT 是 4 位數(shù)字 (0-9) 的計(jì)算機(jī)類型。
      MMM 是 3 位字母數(shù)字 (0-9, A-Z) 的型號號碼。
      CC 是 2 位字母數(shù)字 (0-9, A-Z) 的生產(chǎn)廠家。
      SSSSS 是 5 位字母數(shù)字的序列號。
  
    要唯一標(biāo)識一個(gè)系統(tǒng),可能需要使用前面列表中的一個(gè)或多個(gè)元素來構(gòu)造其標(biāo)識符。
  
  表 2 介紹了一些系統(tǒng)中唯一系統(tǒng)標(biāo)識符的生成方式:
    
  表 2. 當(dāng)前一些系統(tǒng)的唯一標(biāo)識符的生成


















描述 唯一標(biāo)識符 序列號
現(xiàn)有的 IBM System p5(以前為 pSeries®)系統(tǒng) “TTTTSSSSS” 0-9,A-F
IBM System p5 系統(tǒng) “SSSSS” 0-9,A-F
IBM BladeCenter® JS20 “TTTTCCSSSSS” 0-9,A-F
(例如:E、I、J、O、Q、S、U)
09,AF


  
  注意:
    唯一標(biāo)識符 列定義了系統(tǒng)生成唯一標(biāo)識符所需的“TTTTMMMCCSSSSS”的子集:
  
      值“SSSSS”表示不需要計(jì)算機(jī)類型、型號號碼和生產(chǎn)廠家來生成唯一系統(tǒng)標(biāo)識符。
      值“TTTTSSSSS”表示不需要型號號碼和生產(chǎn)廠家來生成唯一系統(tǒng)標(biāo)識符。
      值“TTTTCCSSSSS”表示不需要型號號碼來生成唯一系統(tǒng)標(biāo)識符。
  
  表 3 顯示了 AIX 5L 如何報(bào)告系統(tǒng)信息。 
  
   表 3. AIX 5L 系統(tǒng)信息


























描述 唯一標(biāo)識符 序列號
子例程 unamex
xutsname.nid
32 位唯一系統(tǒng)標(biāo)識符 “0x0123454C”
子例程 uname
utsname.machine
以 16 進(jìn)制字符串表示的 32 位唯一系統(tǒng)標(biāo)識符 “0123454C”
命令 uname -m
(注意:不要使用這個(gè)命令。)
“00”|| 以 16 進(jìn)制字符串表示的 32 位唯一系統(tǒng)標(biāo)識符 ||“00” “000123454C00”
命令 uname -M “IBM,”||“TTTT”||“-”||“MMM” “IBM,7042-681”
命令 uname -L 分區(qū)號和名稱 “兩個(gè)名稱”


  
    表 4 顯示了 AIX 5L Version 5.3 中可用的標(biāo)識。(AIX 5L Version 5.1 和 Version 5.2 都需要使用經(jīng)過授權(quán)的程序分析報(bào)告 (APAR)。)
    
  表 4. AIX 5L Version 5.3 系統(tǒng)標(biāo)識(對于 AIX 5L Version 5.1 和 AIX Version 5.2 也是相同的)
  











命令 描述
命令 uname -f 以 16 進(jìn)制字符串表示、不帶“0X”前綴的 64 位分區(qū)/系統(tǒng)唯一標(biāo)識符。
命令 uname -F 以 16 進(jìn)制字符串表示、不帶“0X”前綴的 64 位系統(tǒng)唯一標(biāo)識符。



    AIX 5L Version 5.3 還實(shí)現(xiàn)了下面的新的定義:
  
      unamex subroutine xutsname.nid 字段
      uname subroutine utsname.machine 字段
      uname command -m 標(biāo)志
  
    uname 命令標(biāo)志輸出 -M、-U 或 -L 并沒有什么變化。
  
  AIX 5L Version 5.3 uname 標(biāo)志與 AIX 5L Version 5.2 和 Version 5.1 兼容
  
    在 AIX 5L Version 5.3 中,對于前面部分中提到的以及下面前兩個(gè)示例中使用的 uname 命令標(biāo)志,并沒有什么改變。
  
    請注意,uname -L 的輸出可以表示經(jīng)過分區(qū)的計(jì)算機(jī)。這里的結(jié)果與 AIX 5L Version 5.1 和 AIX 5L Version 5.2 的結(jié)果是一致的: 
  




# uname -u
IBM,02 10 F190F

# uname -M
IBM,9111-520

# uname -L
1 testsp

# uname -MuL
IBM,9111-520 IBM,02 10 F190F 1 testsp



    對于這臺計(jì)算機(jī),它的 nid 為 cf190f 4c,longnid 為 80001815。
  
  
  新的 AIX 5L Version 5.3 uname 命令標(biāo)志
  
    基于更新的設(shè)計(jì),為 /usr/bin/uname 命令添加了兩個(gè)新的標(biāo)志,以便可靠地生成唯一系統(tǒng)標(biāo)識。這些標(biāo)識符僅針對新的硬件: 
  
    -F 標(biāo)志顯示計(jì)算機(jī)的標(biāo)識號。這是一個(gè) 16 進(jìn)制數(shù)字的字符串,對于所有的系統(tǒng)唯一。 
    -f 標(biāo)志顯示LPAR 配置中分區(qū)的標(biāo)識號。這是一個(gè)16 進(jìn)制數(shù)字字符串,對所有系統(tǒng)中的所有分區(qū)唯一。


示例




# uname -F
80001815 2DF00000
# uname -f
80001815 2DF00001


    對于這臺計(jì)算機(jī),它的 nid 為 cf190f 4c,longnid 為 8000181552DF00001。
  
  
  更新的編程接口規(guī)范
  
    /usr/include/sys/utsname.h Header 文件定義了用來查詢系統(tǒng)標(biāo)識和其他系統(tǒng)數(shù)據(jù)的結(jié)構(gòu)。在 AIX 5L Version 5.1 和 Version 5.2 中,該結(jié)構(gòu)定義如下: 
  


struct xutsname {
unsigned int nid; int reserved[3];


    對于 AIX 5L Version 5.3,這個(gè)結(jié)構(gòu)添加了一個(gè)新的成員 longnid 以存儲 64 位系統(tǒng)標(biāo)識符: 
  


struct xutsname {
unsigned int nid;
int reserved; // to preserve size and alignment
unsigned long long longnid;


    在從 AIX 5L Version 5.1 和 Version 5.2 遷移到 Version 5.3 時(shí),唯一變化的編程接口是 xutsname 結(jié)構(gòu),它將成為成員 nid,但是這種改變是透明的。它的大小和類型保持不變。請注意,對于新的硬件,計(jì)算方法有所改變,而對于現(xiàn)有的硬件,計(jì)算方法保存不變。
  
  對于 AIX 5L Version 5.1 和 Version 5.2,可以使用 APAR
  
    對于目前的 AIX 5L Version 5.1 和 Version 5.2 用戶,可以進(jìn)行升級以使用新的系統(tǒng)標(biāo)識生成命令和 API。相關(guān)的 APAR 是:
     AIX 5L Version 5.1: IY52116 
    AIX 5L Version 5.2: IY52125
    出于兼容性原因?qū)?AIX 5L Version 5.1 進(jìn)行了相應(yīng)的改變,但是因?yàn)?AIX 5L Version 5.1 不支持真正需要 64 位標(biāo)識的那些系統(tǒng),所以在 AIX 5L Version 5.1 中,并沒有實(shí)現(xiàn)所有改變的特性。
  
  將來的兼容性
  
    對于 AIX 5L 來說,總的方向是從 32 位系統(tǒng)標(biāo)識符遷移到 64 位系統(tǒng)標(biāo)識符。要為這種轉(zhuǎn)變做好準(zhǔn)備,應(yīng)用程序應(yīng)該完成下列工作:
  
    遷移到返回 64 位系統(tǒng)標(biāo)識符的命令,以取代返回 32 位系統(tǒng)標(biāo)識符的命令,例如,uname ?C funame -F。 
    對于以編程的方式查詢系統(tǒng)標(biāo)識符的應(yīng)用程序:
      開始在 AIX 5L Version 5.3 中構(gòu)建應(yīng)用程序。
      停止使用 uname() subroutine。
      在使用 uname() subroutine 時(shí),停止使用 xutsname 結(jié)構(gòu)的 nid 成員。
      在使用 unamex() subroutine 時(shí),開始使用 xutsname 結(jié)構(gòu)的 longnid 成員。
    一旦完成了從 32 位到 64 位系統(tǒng)標(biāo)識符的改變,所有生成 32 位系統(tǒng)標(biāo)識符的命令和子例程都將返回 0 或由 0 組成的字符串,而這將取決于所使用的接口。
  
  結(jié)束語
  
    對于當(dāng)前的 AIX 5L Version 5.1 或 Version 5.2,使用完整的數(shù)據(jù)字符串“TTTTMMMCCSSSSS”或其中的某些部分來標(biāo)識系統(tǒng),在用于檢查系統(tǒng)標(biāo)識的其他命令和系統(tǒng)接口 部分中對其進(jìn)行了解釋。要獲取唯一系統(tǒng)標(biāo)識符,可以使用帶 -Mu 或 -MuL 標(biāo)志的 uname 命令。-L 標(biāo)志用于生成邏輯分區(qū)號。
  
    AIX 5L Version 5.3 添加了兩個(gè)新的標(biāo)志,-F 和 -f。您可以使用 uname -F 和 uname -f 的輸出來確定任何基于 POWER5 處理器的計(jì)算機(jī)或分區(qū)。
  
    AIX 5L Version 5.3 系統(tǒng)標(biāo)識編程接口發(fā)生了變化。xutsname.nid 和 xutsname.longnid 包含了原始的和新的系統(tǒng)標(biāo)識信息。
  
    您可以使用相關(guān)的 APAR 將 AIX 5L Version 5.3 的改變應(yīng)用于 AIX 5L Version 5.1 和 Version 5.2。
  
  
  作者簡介
  
    Wayne 致力于 IBM eBusiness™ 和服務(wù)器操作系統(tǒng)的跨行業(yè)支持。他為應(yīng)用程序設(shè)計(jì)、問題確定、系統(tǒng)性能調(diào)優(yōu)和應(yīng)用程序基準(zhǔn)測試方面的解決方案提供者和開發(fā)者提供 IBM 中間件和 IBM System p5 UNIX 專業(yè)知識。他擁有德州大學(xué)奧斯汀分校計(jì)算機(jī)科學(xué)碩士學(xué)位。您可以通過 huangw@us.ibm.com 與他聯(lián)系。 
    
     Huy-Suong 曾擔(dān)任過兩年的項(xiàng)目經(jīng)理,她目前是 IBM AIX 的項(xiàng)目經(jīng)理。她是一名通過 Project Management Institute (PMI) 認(rèn)證的項(xiàng)目管理專業(yè)人員 (PMP),并且正準(zhǔn)備通過 IBM PMP 認(rèn)證。她擁有德州大學(xué)奧斯汀分校業(yè)務(wù)管理碩士學(xué)位。您可以通過 huysuong@us.ibm.com 與她聯(lián)系。
 
     Brad 十多年來一直幫助解決方案提供者在 IBM AIX 環(huán)境中移植、優(yōu)化、測試和增強(qiáng)他們的應(yīng)用程序。除了幫助解決方案提供者以外,Brad 還喜歡申請各種專利、發(fā)表文章以及在開發(fā)人員會議上進(jìn)行演講。您可以通過 bcobb@us.ibm.com 與他聯(lián)系。
  

分享到

多易

相關(guān)推薦