Solaris Resource Manager 1.3 系統管理指南

群組迴圈

當一個 lnode 成為使用中時,所有其雙親直到 root lnode 都會一起啟動。當一個 lnode 成為作用中的時,從其雙親一直上到 root lnode 也都會一起被啟用。這時如果發現稍早已經遇到的其中一個 lnode 的雙親,那麼 kernel 就發現了一個群組迴圈

如果限制資料庫已經損毀,便可能會發生群組迴圈,其中 lnode 的其中一個祖先也會是它的子節點。kernel 會特意地打破迴圈而自動將它連結至排程樹,然後將其連結為 root lnode 之下的一個群組。因此位於迴圈與排程樹連結的那一點的 lnode 就會變成最頂層群組的標頭。這表示在迴圈連於排程樹的點上的 lnode 變成一個最高群組的群組領導者。因此,群組的成員可能繼承超過他們所該繼承的權利或限制。

原因

設定排程群組雙親時可以藉由 limadm 來防止群組迴圈的產生。生成群組迴圈的唯一原因是由於限制資料庫出現損毀的情況。這是一個嚴重的問題,而且可能會造成 Solaris Resource Manager 一些其他的問題,因為限制資料庫對其操作而言非常重要。

修正

此種排程樹結構的問題會自行修正,因為 kernel 會將 lnode 附加至 root lnode 之上。因為迴圈是由其上的任意一點被附加的,管理員必須決定要將 lnode 附加在何處,也必須檢查迴圈中其他每位成員的附加點。

您可以列出所有 root lnode 的子 lnode 來查看自動群組迴圈修補的結果。指令:

% limreport 'sgroup==0' - uid lname

會列出以 root lnode 為其雙親的所有 lnode。如果任何列出的 lnode 不應該是 root lnode 的子節點,它們可能是被附加在 root lnode 下方的群組迴圈頂端。

管理員在找到群組迴圈之後最擔心的問題就是,如果群組迴圈的確是由於限制資料庫發生損毀而產生的話,那麼會有更嚴重的問題發生。如果管理員懷疑限制資料庫有損毀的情況,最好是馬上查驗該檔,以確定它是否已被損毀,然後採取適當的補救措施。請參閱 恢復故障中,就如何偵測與修正損毀的限制資料庫所做的詳細說明。