歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix教程

SCO Unix 制作系統應急盤“Out of inodes”錯誤的處理

---- 在SCO UNIX操作系統中,制作系統應急Boot / Root軟盤是保障系統安全的重要措施之一,而且是其他的大多數緊急處理方法的基本前提。因此,對於系統維護員而言,及時准確的制作出系統的應急軟盤是一項極其重要的工作和任務。 

---- 故障表現:在SCO Openserver 5.0.0 5.0.2 5.0.4 5.0.5上制作系統應急盤時,出現下列錯誤提示: 

Notice: HTFS: Out of inodes on EAFS dev marry (76/2)

---- 隨後,軟盤的制作失敗(筆者安裝了20多台SCO Openserver 5.0.4,均不能正確制作系統應急盤)。 

---- 故障的原因:在SCO UNIX系統中,每個特殊 i 節點(如設備節點)占用128個字節,由於軟盤空間有限,所以系統分配給軟盤的 i 節點數是固定的。在制作軟盤文件系統時(包括系統應急Root / Boot盤),當軟盤中所需建立的 i 節點數超過系統分配數額時,系統報錯:“Out of inodes”,軟盤文件系統制作失敗。 

---- 在處理這個問題的之前,首先應確認一下你的系統是否安裝了最近的系統補丁(Release Supplement),若未安裝,應先安裝相應的系統補丁。對應的系統補丁有: 

SCO  Openserver  5.0.0  
Release  Supplement  5.0.0d
    SCO  Openserver  5.0.4  RS504C
    SCO  Openserver  5.0.5  RS505A 

---- 其中SCO Openserver 5.0.4 是必需打補丁的( 5.0.4 存在較多的Bug)。 

---- 方法一:削減軟盤上所要建立的設備節點數,使 i 節點總數小於系統分配數額。由於在系統緊急事件引導環境中,許多設備節點並不是必需的,因此可通過削減相應的設備節點,減少 i 節點資源的占用。 

---- 優點:不增加系統分配的 i 節點數額,不會減少軟盤上的可用空間。 

---- 缺點:要削減的設備節點較難判定。 

---- 操作步驟: 

---- 1、以 root 登錄; 

---- 2、進入 /usr/lib/mkdev 子目錄: 

cd  /usr/lib/mkdev

---- 3、備份 fd 腳本: 

cp  fd  fd.orig

---- 4、在 vi 文本編輯器中打開 /usr/lib/mkdev/fd 文件,搜索以下行: 

NOTREQ="aud byte cbd cdt da dup 
ecc_  eisarom err log marry pa\
    prf  ptm  ptspwr  uapm  rtc  sleeper"

---- 列出來的這些設備均來自於 /etc/conf/node.d/*,但它們將不包含在軟盤系統中。 

---- 5、將“ptspwr”改為“pts pwr”,將“cbd”改為“cdb”。 

---- 6、在NOTREQ表中增加相應設備。 

---- SCO Openserver 5.0.0 及 5.0.2系統NOTREQ表如下所示: 

 NOTREQ="aud byte cdb cdt da dup 
  ecc_ eisarom err log marry pa\
 prf ptm pts pwr uapm rtc sleeper merge mpm spm svdsp\
 svkbd  vdsp  vkbd  vmouse  spt  mpt "

---- SCO Openserver 5.0.4 及 5.0.5系統NOTREQ表如下所示: 

 NOTREQ="aud byte cdb cdt da dup 
  ecc_ eisarom err log marry pa\
     prf ptm pts pwr uapm rtc
      sleeper merge mpm spm svdsp\
 svkbd  vdsp  vkbd  vmouse  tun"

---- 7、如果是SCO Openserver 5.0.0 或 5.0.2系統 ,搜索下列行: 

 # Now  build  the  omitted  nodes.
rm  -f  /tmp/extra_nodes
   在其後加入一行:
 ls  /dev/[pt]typ?  > > /tmp/extra_nodes

---- 8、存盤退出,運行 mkdev fd 。一般來說,這時候應該可以正確的創建軟盤文件系統了。 

---- 9、如果此時運行仍出錯“Out of inodes ”,則執行下列命令: 

      wc  -l  /etc/conf/node.d/*  | sort  -nr  | more

---- 這將顯示出所有在鏈接工具(link kit)中將隨著 i 節點逐個生成的設備名清單。如果你發現那些設備在緊急事件引導環境中是不必要的,可將該設備名加入到/usr/lib/mkdev/fd 文件中的NOTREQ列表裡。這樣加入NOTREQ表的設備越多,占用軟盤上的 i 節點資源越少。當 i 節點占用減少到一定的數量時,系統錯誤就排除了。 

---- 10、測試所生成的 Boot / Root 軟盤。測試的目的:一是 Boot / Root 軟盤能否正常引導和啟動操作系統;二是重要設備能否正常工作(如磁帶機、硬盤、CDROM 等)。 

---- 方法二:增加系統分配給軟盤的 i 節點總數。優點:簡單有效。缺點:增加的 i 節點占用了有限的軟盤空間。 

---- 操作步驟: 

---- 1、以 root 登錄; 

---- 2、進入 /usr/lib/mkdev 子目錄: 

cd  /usr/lib/mkdev

---- 3、備份 fd 腳本: 

cp  fd  fd.orig

---- 4、在 vi 文本編輯器中打開 /usr/lib/mkdev/fd 文件。 

---- a、Openserver 5.0.0 或 5.0.2 ,搜索生成文件系統的命令行: 

“/etc/mkfs  -y  -f  EAFS 
  /dev/marry/tmp/ramdisk 5120: XXXX
 >/dev/null  2 >&1”

---- 這裡的“XXXX”是一個數值,這是當“mkdev fd ”被調用時將分配給軟盤的 i節點總數。系統隱含這個數為1000,確屬必要可以增大該數值。從系統性能考慮,該數值不要超出太多。如果你需要2048個以上的 i 節點,那你就有必要結合方法一減少一些不必要的 i 節點占用。 

---- b、Openserver 5.0.4 ,搜索設置 INODES 變量的那行: 

INODES=XXX

---- 這裡的“XXX”也是一個數值,同其它版本一樣,這也是當“mkdev fd ”被調用時將分配給軟盤的 i 節點總數。系統隱含這個數為 512 ,由於該數值設置的太小,因此Openserver 5.0.4最容易出現節點逸出這種問題。可將此值改為1000。從系統性能考慮,該數值不要超出太多。如果你需要2048個以上的 i 節點,結合方法一減少一些不必要的 i 節點占用。 

---- 5、存盤退出,問題就解決了。 

---- (本文檔是根據SCO公司網頁資源及其它相關資料撰寫的)
Copyright © Linux教程網 All Rights Reserved