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