Red Hat Training

A Red Hat training course is available for Red Hat Satellite

安裝指南

Red Hat Network 衛星伺服器 5.5

Red Hat Network 衛星伺服器

版 3

Daniel Macpherson

Red Hat 工程部出版中心

Lana Brindley

Red Hat 工程部出版中心

Athene Chan

Red Hat 工程部出版中心

摘要

歡迎使用 RHN 衛星伺服器安裝指南。

前言

RHN 衛星伺服器的描述。

1. 關於本指南

本指南解釋了如何安裝 RHN 衛星伺服器,包括初始安裝、配置、權利管理與套件同步。

2. 適用讀者

本指南適用於想要在內部網路中管理系統更新事宜的「系統管理員」。

章 1. 簡介

本指南提供了 Red Hat Network Satellite(RHN 衛星伺服器)的完整安裝指示。這包含了安裝、配置、連線至 RHN、頻道管理,以及內容同步。

1.1. 有關於 RHN 衛星伺服器

RHN 是個用於系統等級支援,和管理 Red Hat 系統與系統網路的環境。RHN 整合了提升系統信賴度、安全性,以及效能所需的工具、服務和資訊軟體庫。系統管理員使用 RHN 來為其客戶端系統註冊軟體和硬體設定檔。這些硬體和軟體設定檔名為「系統設定檔(system profiles)」。當客戶端系統請求套件更新時,RHN 僅會根據儲存在 RHN 伺服器上的設定檔,回傳適用於客戶端的套件。
RHN 衛星伺服器為組織提供了可不透過公共網路,存取伺服器或客戶端系統的 RHN 功能。此外,RHN 衛星伺服器的使用者亦可:
  • 在其網路中,擁有套件管理與伺服器維護上的完整控制權和私密性;
  • 將系統設定檔儲存在衛星伺服器上,並透過本機網站伺服器連至 RHN 網站;以及
  • 進行套件管理工作,包括透過本機區域網路來進行勘誤更新。
這為 RHN 客戶提供了確保伺服器安全性及維持在最新狀態的能力與靈活性。
可用的 RHN 衛星伺服器類型有兩種:
  • Stand-Alone Database(獨立式資料庫)— 擁有在獨立機器上的獨立式資料庫;以及
  • Embedded Database(內嵌式資料庫) — 在與衛星伺服器相同的機器上安裝了內嵌式資料庫。
本指南詳述了這兩種類型的衛星伺服器安裝程序。
雖然這兩種類型的 RHN 衛星伺服器之運作方式相仿,但其中仍有差異。這些差異主要與硬體需求、安裝步驟、維護方式,以及疑難排解步驟相關。本指南會以 Stand-Alone DatabaseEmbedded Database,來標明這兩種衛星伺服器的差異。

1.2. 系統總覽

衛星伺服器包含了下列原件:
資料庫
衛星伺服器能使用兩種資料庫類型運作:
  • Stand-Alone Database — 組織既有的資料庫,或是(最好是)獨立的系統。就獨立式資料庫來說,衛星伺服器支援 Oracle Database 11g Release 2、Standard 或是 Enterprise Edition。
  • Embedded Database — 與衛星伺服器一同提供的資料庫,並且在進行安裝程序時,與衛星伺服器安裝在相同的機器上。包含的資料庫為 Oracle Database 10g Release 2。
衛星伺服器核心
在客戶端系統上執行的 Red Hat Update Agent 的核心系統與連入點。衛星伺服器亦包含了一個 Apache HTTP Server,並可用來為 XML-RPC 請求提供服務。
衛星伺服器網站介面
用於進階系統、系統群組、使用者與頻道管理的使用者介面。組織可藉由本機區域網路,或是同時透過本機區域網路和網際網路,來配置衛星伺服器網站介面的存取。衛星伺服器版本的 RHN 網站,提供了客戶端系統、系統群組以及使用者的完整控制。
RPM 軟體庫
組織可使用的 Red Hat RPM 套件和自訂 RPM 套件的套件軟體庫。
管理工具
衛星伺服器管理工具(Satellite Management Tools)可用來和 Red Hat Network 同步衛星伺服器資料庫和套件軟體庫。衛星伺服器亦包含了用於以下項目的管理工具:
  • 資料庫與檔案系統同步;
  • 自訂 RPM 與軟體庫匯入;
  • 頻道維護(透過網站);
  • 勘誤管理(透過網站);
  • 使用者管理(透過網站);以及
  • 客戶端與系統分組(透過網站)。
Red Hat 更新代理程式(Update Agent)
重新配置客戶端系統上的 Red Hat Update Agent,以由組織內部衛星伺服器中取得更新,而非透過中央 RHN 伺服器。在此一次性的重新配置程序完成後,客戶端系統將會使用 Red Hat Update Agent,來由本機擷取更新。系統管理員亦可透過衛星伺服器網站介面排程動作。

重要

Red Hat 強烈建議連至了衛星伺服器的客戶端,執行最新的 RHEL 更新,以確保連線正確。
當客戶端請求更新時,組織的內部衛星伺服器將會查詢其資料庫、驗證客戶端系統、辨識客戶端系統所能使用的套件更新,並將請求的 RPM 回傳給客戶端系統。若已在偏好設定中設置,客戶端同時也會安裝套件。若安裝了套件,客戶端系統便會將已更新的套件設定檔,回傳至衛星伺服器上的資料庫中。這些套件將會由客戶端的過時套件清單中移除。
衛星伺服器能與 Red Hat Network Proxy Server 搭配使用,以為組織提供散佈式、獨立性的 RHN 建置。比方說,一個組織能在一個安全的位置上維護衛星伺服器,並且 Red Hat 系統將會透過本機網路存取連線連上它。其它遠端辦公室將能維護連上衛星伺服器的 RHN Proxy Server。組織內部的不同位置,皆需要網路連線,不過這可能是個私密網路;任何系統皆不需要網際網路連線。詳情請參閱《Red Hat Network Proxy Server 安裝指南》。
搭配使用衛星伺服器和 RHN Proxy Server

圖形 1.1. 搭配使用衛星伺服器和 RHN Proxy Server

1.3. 須理解的專有名詞

在理解 RHN 衛星伺服器之前,您必須熟悉下列 RHN 的專有名詞:
頻道(Channel)
頻道為一列軟體套件清單。頻道類型有兩種:基礎頻道和子頻道。基礎頻道包含了一列基於特定架構和 Red Hat 發行版的套件之清單。子頻道是個與基礎頻道相聯,並包含額外套件的頻道。
組織管理員(Organization Administrator)
組織管理員是個在組織的 RHN 帳號中,擁有最高等級控制權限的使用者角色。擁有此角色的成員,可新增其他使用者、系統和系統群組至組織中,或將之移除。一個 RHN 組織中,必須擁有至少一位組織管理員。
頻道管理員(Channel Administrator)
頻道管理員乃一個擁有完整頻道管理功能存取權限的使用者角色。擁有此角色的使用者能夠建立頻道、分配套件至頻道、複製頻道,以及刪除頻道。此角色可由組織管理員藉由 RHN 網站的「使用者」分頁來指定。
憑證權利(Certificate Authority)
憑證權利會將數位簽章分配給使用者,作為用於加密認證與通訊之公共金鑰架構的一部分。
Red Hat 更新代理程式(Update Agent)
Red Hat 更新代理程式(Update Agent)是個允許使用者為客戶端系統上執行的應用程式,擷取和安裝新的、或已更新的套件的 RHN 客戶端應用程式。
Traceback
Traceback 是個「發生了什麼問題」的詳述,它適用於為 RHN 衛星伺服器進行疑難排解 。Traceback 會在重大錯誤發生時自動產生,並將相關資訊的郵件寄給紀錄在 RHN 衛星伺服器配置檔案中的使用者。
欲取得更多有關於這些名詞和其它術語上的相關資訊,請參閱《Red Hat Network 參考指南

1.4. 步驟概要

若要 RHN 衛星伺服器正常運作,您不僅需要安裝軟體和資料庫。客戶端系統必須經過配置,才能使用衛星伺服器。建議您建立自訂頻道,以取得自訂套件。因為這些工作超出了基本安裝的範圍,因此將在其它指南中,以及此《Red Hat Network Satellite 安裝指南中,相系討論它們。欲取得完整的必要技術文件之清單,請參閱 章 2, 需求
基於此原因,此部分將提供有限的必要和建議步驟之清單,從評估到自訂套件建置。它們應按照此順序進行:
  1. 取得衛星伺服器

    1. 在評估過後,請聯絡 Red Hat 銷售人員,以購買 RHN 衛星伺服器。
    2. 向您的銷售人員取得 RHN 的權利憑證(Entitlement Certificate)與登錄資訊。
    3. 登入 RHN 網站(rhn.redhat.com)並下載 RHEL 5 或 6 的散佈版本 ISO,和 RHN 衛星伺服器。這些項目位於相應的「頻道詳細資訊」網頁中的「下載」分頁裡。詳細指示請參閱《Red Hat Network 參考指南》。
    4. 當您依然處於登入 RHN 網站的狀態下,請下載您衛星伺服器所會為其提供服務的頻道內容(Channel Content)ISO,您亦可透過您衛星伺服器的「頻道詳細內容」網站上的「下載」分頁取得。這些頻道內容 ISO 與先前提到的散佈版本 ISO 不同,它們包含了衛星伺服器叵析與服務套件所需的 metadata。
  2. 準備衛星伺服器

    1. 檢查您的軟體需求。詳情請查看〈節 2.1, “軟體需求” 〉。
    2. 若要安裝 Stand-Alone Database,請檢查您的硬體是否滿足了〈節 2.2, “Stand-Alone 資料庫的需求”〉中所列出的需求,並使用〈節 2.2.3, “安裝 Stand-Alone Database 時的資料庫需求”〉中所提供的方式來準備您的資料庫 instance。
    3. 若要安裝 Embedded Database,請檢查您的硬體是否滿足了〈節 2.3, “Embedded Database(內嵌資料庫)需求”〉中所列出的需求。
  3. 安裝衛星伺服器

    1. 在需要作為衛星伺服器的機器上安裝 RHEL。
    2. 在安裝 RHN 衛星伺服器前,檢查所有安裝前須執行的步驟。
    3. 掛載 RHN 衛星伺服器的安裝媒介,並執行 script。
    4. 依照安裝指示中的提示進行。
    5. 在網站瀏覽器中開啟衛星伺服器的主機名稱,並建立第一個使用者帳號。這將會是衛星伺服器的管理員(亦稱為組織管理員)帳號。
    6. 完成所有衛星伺服器安裝過後所需進行的步驟。
  4. 第一次使用

    1. 請使用 Red Hat Network Satellite Synchronization Tool(RHN 衛星伺服器同步工具)來將頻道和相聯的套件匯入衛星伺服器中。
    2. 向衛星伺服器註冊包含了各個散佈版本類型或頻道(例如 RHEL 5 或 6)的代表機器。
    3. 由各個機器的 /etc/sysconfig/rhn/ 目錄中(使用 scp),將 rhn_register 配置檔案各別複製至衛星伺服器上的 /pub/ 目錄中。rhn-org-trusted-ssl-cert-*.noarch.rpm 將早已位於該位目錄中。
    4. 在相同散佈版本類型的剩餘客戶端系統上,由衛星伺服器下載並安裝配置檔案和 rhn-org-trusted-ssl-cert-*.noarch.rpm。請重復此步驟與先前的步驟,直到完成了所有散佈版本類型。
    5. 請透過衛星伺服器的網站,為各個與適當基礎頻道對稱的散佈版本建立一組啟動金鑰。您亦可在此情況下預定義系統群組和子頻道。
    6. 請在各客戶端系統的指令列上執行啟動金鑰(rhnreg_ks)。請注意,此步驟可依賴使用 script 來進行大量註冊,並重新配置散佈版本中所有剩餘的客戶端系統。
    7. 紀錄所有相關的使用者名稱、密碼與其它登錄資訊,並將其存放在多個安全的位置上。
    8. 現在衛星伺服器已包含了標準的 Red Hat 頻道與套件,並且所有客戶端皆已連上它,您可開始建立並提供自訂頻道與服務。在開發了自訂 RPM 之後,您便可使用 Red Hat Network Push 來將它們匯入衛星伺服器中,並新增自定頻道,透過衛星伺服器的網站來儲存它們。詳情請參閱《Red Hat Network 頻道管理指南 》。

章 2. 需求

本章包含了安裝 RHN 衛星伺服器的所有需求。這包括 Stand-Alone Database(獨立式資料庫)與 Embedded Database(內嵌式資料庫)的安裝。

2.1. 軟體需求

若要進行安裝,您需要準備以下軟體元件:
基礎作業系統
RHEL 5 與 6 都支援 RHN 衛星伺服器。作業系統可透過光碟、本機 ISO 映像檔、kickstart,或任何 Red Hat 所支援的方式來安裝。RHEL 安裝程序需要 @Base 套件群組,沒有其它套件集的修改,並且沒有伺服器進行作業上,無直接必要的協力廠商配置或軟體。這項限制包含了強化或其它非 Red Hat 的安全性軟體。若您的架構中需要如此的軟體,您「首先」必須安裝和驗證完整運作的衛星伺服器,然後在新增任何非 Red Hat 的軟體之前,將系統備份。
安裝 RHN 衛星伺服器時,建議您先將 RHEL 升級至最新版本。
衛星伺服器可以安裝在 RHEL 5 或 6 的虛擬環境中,包括 Xen、KVM、與 VMware。虛擬環境下的效能不一定與實體環境下的相同。請確定您考慮了虛擬環境效能,並加入了任何建議的微調功能。
當您從光碟或 ISO 映像檔安裝 RHEL 5 或 6 時,您不需要選擇任何套件群組,只要選擇基本安裝即可。當您透過 kickstart 安裝這兩個作業系統之一時,請選擇 @ Base 套件群組。

重要

所有購買的 RHN 衛星伺服器產品皆包含了一個受支援的 Red Hat Enterprise Linux Server。RHN 衛星伺服器必須安裝在一個全新的 Enterprise Linux 上,並且 RHN 衛星伺服器必須是作業系統所提供的唯一應用程式和服務。目前尚不支援使用 RHN 衛星伺服器所包含的 Red Hat Enterprise Linux 作業系統,來在您的環境中執行其它 daemon、應用程式,或服務。

重要

衛星伺服器的基礎作業系統需要使用 RHN 用戶端向 RHN Classic 註冊。安裝衛星伺服器時,若以 Red Hat 訂閱管理員註冊,會導致安裝失敗。
衛星安裝光碟或 ISO
這包含了「Satellite Installer」(衛星伺服器安裝程式)。所有支援衛星伺服器的所需套件都會自動安裝,不需要使用者干預。

重要

除了 @Base 之外還需要額外套件才能安裝 RHN Satellite。衛星伺服器安裝程式將會提示您安裝列出的套件,或詢問您是否希望它由 RHN 下載這些檔案。若您的系統未與 RHN 註冊,您應該要在衛星伺服器安裝程序進行時,準備好 RHEL 的安裝媒介以便安裝這些必要的額外套件。
衛星伺服器安裝時所需的檔案,皆列在位於衛星伺服器安裝 ISO 映像檔的 updates 目錄中的 rhelrpms 檔案中。
請確定衛星伺服器的主機系統也訂閱了 RHEL 的「選用」頻道,以解決安裝過程中的套件相依性問題。
頻道內容
所有軟體套件與資料都會被匯入,以提供 Red Hat 頻道的權利。這內容會在安裝過後,透過 RHN 衛星伺服器同步工具直接載入至衛星伺服器上。

2.2. Stand-Alone 資料庫的需求

RHN 衛星伺服器的「Stand-Alone Database」(獨立式資料庫) 版本需要特別的硬體考量。本節描述了安裝 RHN 衛星伺服器與連接至外部資料庫時,所需的硬體需求。

2.2.1. 安裝 Stand-Alone Database 時的 x86_64 硬體需求

以下表格顯示了 x86_64 平台上,使用 Stand-Alone Database 的衛星伺服器的所需硬體配置,以及建議硬體配置:

表格 2.1. Stand-Alone Database 衛星伺服器的硬體需求

所需硬體 建議硬體
Intel Core 處理器,2.4GHz,512K 快取;或同等級處理器 Intel 多核心處理器,2.4GHz 雙核心處理器,,512K 快取;或同等級處理器
2GB 的記憶體 8GB 的記憶體
安裝 RHEL 需要 5 GB 的儲存空間 每個軟體頻道需要「至少」30 GB 的硬體空間(包括「基礎」頻道與子頻道)。此空間位於 /var/satellite/,可在安裝時配置
外部 SAN 儲存裝置,提供更可靠的備份機制

2.2.2. 安裝 Stand-Alone Database 時的 s/390 硬體需求

以下表格顯示了 s/390 主機平台上,使用 Stand-Alone Database 的衛星伺服器的所需硬體配置,以及建議硬體配置:

表格 2.2. s/390 平台上,Stand-Alone Database 衛星伺服器的硬體需求

所需硬體 建議硬體
1 IFL,LPAR 配置或透過 z/VM 共享皆可 z9 或以前的 2+ IFL,z10 的 1+ IFL
2GB 的記憶體 8GB 的記憶體
ECKD DASD 上有 1 GB 的 swap 空間 VDISK 上有 512 MB 的 swap 空間,加上 ECKD DASD 上的 1 GB swap 空間
1xMod3 ECKD DASD 或 ≥ 2 GB FCP SCSI LUN 以安裝作業系統 1xMod9 ECKD DASD 或 ≥ 2 GB multipathed FCP SCSI LUN 以安裝 RHEL
每個軟體頻道需要「至少」30 GB 的硬體空間(包括「基礎」頻道與子頻道)。此空間位於 /var/satellite/,可在安裝時配置
z/VM 5.3 以上[a]
VSWITCH 或 Hipersocket LAN,提供高速連線至客座端
[a] 需要 z/VM 以 kickstart/供給客座端。

2.2.3. 安裝 Stand-Alone Database 時的資料庫需求

Red Hat 支援使用 Oracle Database 10g Release 2 標準版與企業版、或 Oracle 11g,安裝衛星伺服器與 Stand-Alone Database。請確定 Stand-Alone Database 在 RHN 衛星伺服器以外的伺服器上執行。

重要

目前尚不支援從 Embedded Database(內嵌式資料庫)轉移至外部伺服器。
對於大部分的安裝設定,建議使用單一的 12GB tablespace;雖然許多用戶會發現用更小的 tablespace 也可以執行。請尋求有經驗的 Oracle 資料庫管理員來評斷關於大小上的需求。請使用以下公式來決定資料庫的所需大小:
  • 每個用戶端系統需要 250 KiB
  • 每個頻道需要 500KiB,加上每個頻道的每個套件需要 230 KiB(這樣有著 5,000 個套件的頻道需要 1.1 Gib)
舉例來說,一部 RHN 衛星伺服器包含了四個頻道,為 10,000 台系統提供服務,那用戶端就需要 2.5 GiB,頻道需要 11GB。如果要建立測試頻道供測試用,那也必須納入此公式中。
請記得,資料庫儲存空間的需求可能會高速成長,根據以下因素的變數而定:
  • 已匯入的公開 Red Hat 套件(一般為 5,000)
  • 要管理的私有套件數(一般為 500)
  • 要管理的系統數(一般為 1,000)
  • 系統上安裝的平均套件數(一般為 500)
雖然使用者應該從寬預估資料庫大小,但也請記得這大小會影響備份的時間,且會對其它系統資源造成負荷。如果資料庫是共享的,其硬體與空間就會受到其它事物的影響。
除此之外,要正確安裝 Red Hat Network,區塊大小必須設為 8KB 以上。
Oracle 資料庫應該要有一名使用者指定到 RHN 衛星伺服器,並擁有完整的 DDL 與 DML 存取權限至該使用者的表空間。安裝時需要此使用者連接至資料庫的標準連接資訊。
Oracle 使用者所需的精確存取等級為:
  • ALTER SESSION
  • CREATE SEQUENCE
  • CREATE SYNONYM
  • CREATE TABLE
  • CREATE VIEW
  • CREATE PROCEDURE
  • CREATE TRIGGER
  • CREATE TYPE
  • CREATE SESSION
額外的資料庫需求包括:
  • 安全性識別(SID,Security Identifier)
  • 聆聽的連接埠
  • 使用者名稱
  • UTF-8 字元集
對於使用者的預設 tablespace,有兩個額外的「建議」事項:
  • 一致的延伸大小
  • 自動分段空間管理

重要

使用外部資料庫時,請確定 NLS/字元集設定已設為「UTF-8」,而非「AL32UTF8」或其它。使用其它字元集會導致其它問題。
資料庫電腦的磁碟與衛星伺服器無關,使用者可自行決定。

2.3. Embedded Database(內嵌資料庫)需求

Embedded Database 版本的 RHN 衛星伺服器需要特定硬體上的考量。本節指定了在搭配包含的資料庫安裝 RHN 衛星伺服器時,所需的這些硬體需求。

2.3.1. Embedded Database 安裝程序的 x86_64 硬體需求

以下表格顯示了 x86_64 平台上,使用 Embedded Database 的衛星伺服器的所需硬體配置,以及建議硬體配置:

表格 2.3. Embedded Database 衛星伺服器硬體需求

必要 建議
Intel 核心處理器 2.4GHz,512K 快取或相等效能 Intel 多核心處理器,2.4GHz 雙處理器,512K 快取或相等效能
2 GB 記憶體 8 GB 記憶體
5 GB 儲存空間以安裝基礎的 Red Hat Enterprise Linux 至少 30 GB 的儲存空間在 /var/satellite/ 中,以供各個軟體頻道(包括基礎與子頻道)使用,可在執行安裝時進行配置
外部的 SAN,以確保信賴度更高的備份功能
/rhnsat 分割區(僅有本機儲存裝置)中須擁有 12 GB 儲存空間,以供資料庫軟體庫使用
連至 level 5 RAID 的 SCSI 磁碟(強烈建議)
獨立分割區(若有獨立的實體硬碟更佳),以儲存備份,這能是在備份時可指定的任何目錄。

2.3.2. 安裝 Embedded Database 的 s/390 硬體需求

以下表格顯示了 s/390 主機平台上,使用 Embedded Database 的衛星伺服器的所需硬體配置,以及建議硬體配置。

表格 2.4. s/390 平台上,Embedded Databse 衛星伺服器的硬體需求。

必要 建議
1 個 IFL 於 LPAR 配置中,或透過 z/VM 共享 2 個以上的 IFL 在 z9 或較舊版本上,1 個以上的 IFL 在 z10 上
2 GB 記憶體 8 GB 記憶體
1 GB 的 swap 於 ECKD DASD 上 512 MB swap 於 VDISK 上,以及 1 GB 的 swap 於 ECKD DASD 上
1xMod3 ECKD DASD 或 ≥ 2 GB FCP SCSI LUN 以供安裝 OS 1xMod9 ECKD DASD 或是 ≥ 2 GB multipath 的 FCP SCSI LUN 以供安裝 Red Hat Enterprise Linux
估計的 12 GB 磁碟以供 embedded database 使用 至少 30 GB 的儲存空間在 /var/satellite/ 中,以供各個軟體頻道(包括基礎與子頻道)使用,可在執行安裝時進行配置
z/VM 5.3 或更新版本 [a]
VSWITCH 或是 Hipersocket LAN 以提供高速連線至客座端
[a] 需要 z/VM 來 kickstart/佈建客座端。

2.4. 額外需求

安裝 Red Hat Network Satellite(衛星伺服器)前,需進行額外考量。請在進行衛星伺服器安裝程序前,滿足這些額外需求。

2.4.1. 防火牆

若衛星伺服器須存取網路或需要透過網路存取,整個衛星伺服器解決方案皆應受到防火牆保護。所有不必要的連接埠,皆應由防火牆擋掉,客戶端會透過 port 80、433 以及 4545(若啟用了 Monitoring)連至衛星伺服器。此外,若您計劃啟用由衛星伺服器至客戶端系統的推送動作,如 節 9.11, “允許向用戶端推送資料” 中所述,您必須允許 port 5222 上的連入連線。最後,若衛星伺服器也會推送至一部 Red Hat Network 代理伺服器,您將必須允許 port 5269 上的連入連線。

表格 2.5. 在衛星伺服器上開啟的連接埠

連接埠 協定 方向 理由
67 TCP/UDP 連入 開啟此連接埠,以將衛星伺服器系統配置成要求 IP 位址的系統的 DHCP 伺服器。
69 TCP/UDP 連入 開啟此連接埠,以將衛星伺服器配置成 PXE 伺服器,並允許能 PXE-boot 的系統進行安裝和重新安裝。
80 TCP 連外 衛星伺服器使用此連接埠來連上 RHN。
80 TCP 連入 網站使用者介面與客戶端請求會以 http 的方式連入。
443 TCP 連入 網站使用者介面與客戶端需求會以 http 或 https 的方式連入
443 TCP 連外 Red Hat Network 衛星伺服器會使用此連接埠來連上 RHN(除非執行於衛星伺服器的離線模式下)
4545 TCP 連入/連外 Red Hat Network Satellite Monitoring 會連上在客戶端系統上執行的 rhnmd;前提是 Monitoring 已啟用、已註冊的系統上已做好偵測設定。
5222 TCP 連入 如果您計劃推送動作至客戶端系統。
5269 TCP 連入/連外 若您推送動作至 Red Hat Network 代理伺服器,或透過它來推送動作。

2.4.2. SELinux 政策

Red Hat Network Satellite 支援在 RHEL 5 和 6 上使用 SELinux 目標政策的 enforcingpermissive 模式。SELinux 乃一組安全軟體政策,它會為 RHEL 及其它作業系統實作必要的存取控制。使用者能在 enforcing 或是 permissive 模式下使用 SELinux,並在安裝代理伺服器或是衛星伺服器時設置 targeted 政策。

2.4.3. DMZ 連接埠解決方案

除非衛星伺服器處於離線模式,否則它必須由連接埠 80 和 443,進行連外的連線至 Red Hat Network(RHN)Hosted 服務(rhn.redhat.comxmlrpc.rhn.redhat.com 以及 satellite.rhn.redhat.com)。若要確認衛星伺服器系統可正確運作,請勿限制存取這些主機與連接埠的權限。若有必要的話,您可透過使用 satellite-sync --http-proxy 指令來使用 http 或是 https 代理伺服器。
衛星伺服器必須允許來自於客戶端系統,以及連至了衛星伺服器的任何 RHN 代理伺服器的 port 80 與 port 433 上的連入連線,以及任何需要存取衛星伺服器 Web UI 的系統。WebUI 與客戶端的請求將來自於 http 或 https。
RHN Monitoring(監控)功能需要能夠連外連線至 port 4545 上,已啟用了 Monitoring 的各別客戶端系統。若是客戶端系統已啟用 Monitoring,並且已為已註冊的系統配置了偵測的話,RHN 衛星伺服器的 Monitoring 功能便會連至執行於客戶端系統上的 rhnmd
RHN 的推送功能需要 port 5269 上,來自於各個已註冊的 RHN 代理伺服器的連入連線,以及至各個已註冊的 RHN 代理伺服器的連外連線,並且啟用了 RHN 推送功能。此乃用於衛星伺服器與代理伺服器之間的 jabberd 服務的雙向通訊。此外,它需要允許來自於直接向衛星伺服器註冊的客戶端系統的 port 5222 上的連入連線。此乃用於客戶端系統上的 osad 服務,以及衛星伺服器上的 jabberd 服務之間的單向(客戶端至伺服器)通訊。

2.4.4. 同步化系統時間

當連至一個使用了 SSL(Secure Sockets Layer)的網站伺服器時,時間問題就顯得非常重要;客戶端與伺服器端的系統時間必須接近一致,如此一來 SSL 憑證才不會在使用前(或使用中)過期。因此,Red Hat 需要衛星伺服器與所有的客戶端系統皆使用 NTP(網路時間通訊協定,Network Time Protocol)。這項規則亦適用於 RHN 衛星伺服器中,含有 Stand-Alone Database 的個別資料庫機器,並且此資料庫伺服器的時區,必須和衛星伺服器相同。

2.4.5. 設定系統語言和地區

您應透過 /etc/sysconfig/i18n 檔案,以在您的 RHN 衛星伺服器系統上,正確地為您的語言和地區設置 UTF-8 編碼。此檔案中的 LANG 設定之格式必須如下:
LANG="[language_TERRITORY].UTF-8"
languageTERRITORY 將需要以兩個字母的編碼輸入。比方說,若您的語言為英文,並且地區為美國的話,您便需要將您的 LANG 設定設為 en_US.UTF-8

2.4.6. FQDN(完整網域名稱,Fully Qualified Domain Name)

安裝 RHN 衛星伺服器的系統,必須擁有正確解析其 FQDN 的能力。否則,cookies 將無法正常在網站上運作。

重要

很重要的一點就是,衛星伺服器的主機名稱不能包括大寫字母,否則可能會造成 jabberd 失效。
在任何時候,當您需要更改您的衛星伺服器主機名稱時,請參閱 節 9.7, “更改衛星伺服器的主機名稱”

2.4.7. 可用的 DNS(網域名稱解析服務,Domain Name Service)

確認所有客戶端皆可解析 RHN 衛星伺服器的網域名稱。所有系統(伺服器與客戶端)皆需要能夠連至客戶端環境中、可運作的 DNS 伺服器。

2.4.8. 權利憑證

所有客戶皆會從我們的業務人員處,透過電子郵件收到已簽署的正式權利憑證,解釋 Red Hat 如何透過 RHN 衛星伺服器提供服務。在進行安裝程序時,您將需要此憑證。
若您在安裝的時候沒有一份權利憑證(Entitlement Certificate),請聯絡 Red Hat Global Support Services:

2.4.9. Red Hat Network 帳號

連上中央 RHN 伺服器以取得累進更新的使用者,需要外部的 RHN 帳號。在與銷售人員購買產品時,您應該就設定了這組帳號。

警告

請不要將您的 RHN 衛星伺服器訂閱至下列 RHN Hosted 上的可用子頻道:
  • Red Hat Developer Suite
  • Red Hat Application Server
  • Red Hat Extras
  • JBoss 產品頻道
訂閱至這些頻道並更新您的衛星伺服器,可能會安裝較新、不相容版本的重大軟體元件,造成衛星伺服器失效。

2.4.10. 登入資訊的備份

使用者必須要紀錄主要登入帳號的所有資訊,這是非常重要的。對 RHN 衛星伺服器來說,這包括了 rhn.redhat.com 上的 Organization Administrator 帳號的使用者名稱與帳號、衛星伺服器本身的主要管理帳號、SSL 憑證的產生,以及資料庫連線(這也需要 SID,或網路服務名稱)。Red Hat 強烈建議您將這些資訊複製至卸除式儲存媒介上、印成文件,並保管在防火的地方。

2.4.11. 頻道內容 ISO

在完全離線的環境下,您無需擁有網路連線,即可執行 RHN 衛星伺服器。這項功能採用了能下載至個別系統上,以同步衛星伺服器與中央 RHN 伺服器的 Channel Content ISO(頻道內容 ISO)。所有其它 RHN 衛星伺服器皆應透過網路直接同步。

注意

若您正在執行一個未向 RHN Hosted 註冊並且離線的衛星伺服器,安裝程式將會通知您並回傳一列 @base 之外,需被安裝的遺失額外套件,在這之後安裝程式便會退出。如此一來您便能安裝這些套件。您可使用安裝程式的 ISO 映像檔或 DVD 媒介來為這些額外套件建立一個軟體庫,然後再重新執行衛星伺服器的安裝程式。

2.4.12. 服務存取

系統元件都不該直接、公開的被人存取。只有系統管理者擁有遠端連接到這些機器的權利。
所有不必要的服務皆應透過使用 ntsysvchkconfig 停用。
您應啟用下列服務。
  • jabberd
  • oracle(用來進行內嵌資料庫安裝)
  • tomcat5(若要在 RHEL 5 上進行安裝)
  • tomcat6(若要在 RHEL 6 上進行安裝)
  • httpd
  • osa-dispatcher
  • Monitoring
  • MonitoringScout
  • rhn-search
  • cobblerd
  • taskomatic
若衛星伺服器所服務的系統擁有 Monitoring 權利,並且您希望透過電子郵件告知您所取得的通知,您必須配置 sendmailpostfix 以正確處理連入的郵件。

2.4.13. 額外文件

下列額外文件可協助使用者進行更多的配置工作:
  1. RHN 客戶端配置指南》— 此指南解釋了如何配置客戶端系統,以從 Red Hat Network 代理伺服器或是 Red Hat Network 衛星伺服器接收服務。(您亦可參閱《RHN 參考指南》,其中包含了註冊與升級更新的步驟。)
  2. RHN 頻道管理指南》— 此指南詳細列出了建立自訂套件、建立自訂頻道,以及維護私有勘誤的建議方式。
  3. RHN 參考指南》— 此指南描述了如何建立 RHN 帳號、註冊與更新系統、以及善用 RHN 網站的方法。在整個安裝與設定過程中,這本指南將會非常實用。

章 3. 範例拓樸

您可用多種方式設定 Red Hat Network 衛星伺服器。請根據下列因素,選擇一種方式:
  • Red Hat Network 衛星伺服器所服務的用戶端總數。
  • 預期「同時」連接 Red Hat Network 衛星伺服器的最大用戶端數量。
  • Red Hat Network 衛星伺服器所服務的自訂套件與頻道數量。
  • 在客戶環境中的 Red Hat Network 衛星伺服器數量。
  • 在客戶環境中的 Red Hat Network 代理伺服器數量。
本章的其它部份將描述可用的配置,並解釋它們的優點。

3.1. 單衛星伺服器拓樸

最簡單的方式莫過於在整個網路中,使用一台 Red Hat Network 衛星伺服器。此設定適用於中等大小的用戶與網路環境。
使用單一 Red Hat Network 衛星伺服器的缺點,就是效能會隨著用戶所請求套件的數量增加而遞減。
單衛星伺服器拓樸

圖形 3.1. 單衛星伺服器拓樸

3.2. 多衛星伺服器平行階層拓樸

對非常大型的網路而言,就需要更分散式的方法,例如平行使用多台 Red Hat Network 衛星伺服器的設定,並平衡用戶端請求的負載。
透過 rhn-satellite-exportersatellite-sync -m 指令,就可以同步 Red Hat Network 衛星伺服器之間的內容。同時 Satellite Sync 2 也可以達成這個目的。
這項方式最大的缺點,就是需要額外的維護。
多衛星伺服器平行階層拓樸

圖形 3.2. 多衛星伺服器平行階層拓樸

3.3. 衛星-代理伺服器垂直階層拓樸

另一個負載平衡的方式就是在一台 Red Hat Network 衛星伺服器之下,安裝多台 Red Hat Network 代理伺服器,這些代理伺服器會連上衛星伺服器,以獲得來自於 Red Hat Network 的 RPM,或本機建立的自訂套件。基本上,代理伺服器就像衛星伺服器的用戶端一樣。
此垂直階層的設定僅需要在 Red Hat Network 衛星伺服器上建立頻道與 RPM。在這情形下,代理伺服器從中央繼承套件,以提供服務。詳情請參閱《Red Hat Network 頻道管理指南》。
同樣地,您應設定代理伺服器的 SSL 認證,使代理伺服器成為衛星伺服器的用戶端,再設定它們為這些用戶端提供服務。此過程可在由《Red Hat Network 用戶端配置指南》中找到。
衛星-代理伺服器垂直階層拓樸

圖形 3.3. 衛星-代理伺服器垂直階層拓樸

章 4. 安裝

本章詳述了 RHN 衛星伺服器的初始安裝。我們假設您已滿足了 章 2, 需求 中所列出的需求。如果您是要將 RHN 衛星伺服器升級為較新版本,請連絡您的 Red Hat 代表以尋求協助。

4.1. 先決條件

下列部分詳述了安裝 RHN 衛星伺服器的先決條件。

4.1.1. 基礎作業系統

RHN 衛星伺服器可在 RHEL 5 和 RHEL 6 作業系統上執行。第一階段就是安裝基礎作業系統(透過光碟、ISO 映像檔或是 kickstart)。
在進行作業系統安裝時與安裝後,請確認:
  • 分配了足夠的分割區空間,以存放資料。頻道套件的預設位置為 /var/satellite/。若 RHN 衛星伺服器含有內嵌資料庫(Embedded Database),請記得資料庫 RPM 必須放置在 /opt/ 分割區中,而資料庫本身則內建於 /rhnsat/ 中。
  • 請在衛星伺服器與獨立的資料庫(若存在的話)上啟用網路時間協定(NTP,Netowrk Time Protocal),並選擇適當的時區。所有用戶端系統皆已應執行了 ntpd 系統程式,並設置為正確的時區。
  • 強烈建議您本機掛載 /home/ 分割區。
  • 向 RHN CLassic 註冊。當基礎作業系統的安裝程序完成後,請執行下列指令來註冊您的系統:
    # rhn_register
    

4.1.2. 掛載安裝媒介

下列部分詳述了掛載包含 RHN 衛星伺服器安裝媒介的光碟或 ISO 映像檔的相關程序。

過程 4.1. 由光碟掛載

  1. root 身份登入機器。
  2. 插入包含安裝檔案的 RHN 衛星伺服器光碟。
  3. RHEL 可能會自動掛載光碟。若是如此,它會將光碟掛載至 /media/cdrom/ 目錄。若 RHEL 無法自動掛載光碟,請以下列指令手動式將它掛載至 /media/cdrom/ 目錄:
    # mkdir /media/cdrom
    # mount /dev/cdrom /media/cdrom
    

過程 4.2. 由 ISO 映像檔掛載

  1. root 身份登入機器。
  2. 由 RHN 網站下載 ISO 映像檔。
  3. 使用下列指令來將 ISO 映像檔由包含它的目錄中進行掛載:
    # mkdir /media/cdrom
    # mount -o loop iso_filename /media/cdrom
    
安裝媒介掛載於 /media/cdrom/ 中。請使用此位置來存取 RHN 衛星伺服器安裝 script。

4.1.3. 取得權利憑證

RHN 衛星伺服器需要一份您的 RHN 權利憑證,才能啟用它。此權利憑證包含在您的 RHN 衛星伺服器訂閱中,並可藉由 Red Hat 客戶端入口網站(Customer Portal)取得。
確認您已藉由 Red Hat 客戶端入口網站上下載了權利憑證,並將它複製至衛星伺服器檔案系統中的任何目錄裡。安裝程式將會要求您提供它的位置。

重要

確認您的 RHN 帳號已擁有進行安裝程序所需的權利。

4.2. 安裝之前

以下指示假設 RHN 衛星伺服器的安裝媒介掛載於 /media/cdrom/ 上。安裝媒介包含了 install.pl 安裝程式 script。
此部分列出了在執行安裝程式 script 之前,所需注意的事項。

4.2.1. 安裝程式 Script 的選項

以下表格列出了 install.pl 安裝程式 script 可用的各種選項:

表格 4.1. 安裝選項

選項 用法
--help 印出本求助訊息。
--answer-file=<filename> 顯示回應檔案的位置,以用來回答安裝過程間的問題。
--non-interactive 僅與 --answer-file 選項搭配使用。如果 --answer-file 並未提供所需的回應,將退出安裝程式,而不向使用者提問。
--re-register 向 RHN 註冊此系統,即使系統早已註冊過。
--clear-db 以 Stand-Alone Database 安裝衛星伺服器
--disconnected 以離線模式安裝衛星伺服器。
--clear-db 安裝前清除任何既有的資料庫結構描述。這會移除所有衛星伺服器資料庫中的資料,並重新建立新的衛星伺服器結構描述。
--skip-system-version-test 安裝前不測試 Red Hat Enterprise Linux 的版本。
--skip-selinux-test 不檢查確認 SELINUX 是否已停用。
--skip-fqdn-test 不要驗證系統是否擁有有效的主機名稱。在安裝過程中,RHN 衛星伺服器需要您設置適當的主機名稱。使用此選項可能會導致衛星伺服器無法完整運作。
--skip-db-install 不要安裝內嵌式資料庫。如果您要重新安裝衛星伺服器,但不想清除資料庫,此選項可能會非常有用。
--skip-db-diskspace-check 不要檢查是否有足夠的空間安裝內嵌式資料庫。
--skip-db-population 不要製作資料庫結構描述。
--skip-gpg-key-import 不要匯入 Red Hat 的 GPG 金鑰。
--skip-ssl-cert-generation 不要為衛星伺服器產生 SSL 憑證。
--run-updater 若系統若已註冊的話,便不要求透過 RHN 安裝需要的套件。

4.2.2. 自動化 RHN 衛星伺服器安裝程序

RHN 衛星伺服器安裝程式提供了您使用回應檔案(answer file)的選項。此檔案包含了預定義的回應,以回答安裝程式所詢問的部分或所有問題。安裝程式可使用回應檔案來在無使用者互動的情況下,完成安裝程序;這對於需要進行自動化安裝的衛星伺服器來說相當有幫助。欲檢視範例回應檔案,請參閱光碟或 ISO 上,位於 install/ 目錄中的 answers.txt 檔案。
請依照下列步驟,以透過一個回應檔案來進行一項自動化的安裝程序:

過程 4.3. 以回應檔案來進行安裝

  1. 將範例的 answers.txt 檔案複製至 /tmp/answers.txt
    # cp answers.txt /tmp/answers.txt
    
  2. 編輯該檔案,並加入您組織所需的選項。
  3. 一旦自動回應檔案準備好之後,當藉由指令列啟動安裝程序時,請使用 --answer-file 選項:
    # ./install.pl --answer-file=/tmp/answers.txt
    
    RHN 衛星伺服器安裝程式會從此檔案中,找尋安裝選項的回應。若有任何選項未填入檔案中,安裝程式將會提示使用者輸入遺失的資訊。

4.2.3. 透過 HTTP Proxy 進行安裝:預配置

基於 Red Hat 衛星伺服器使用了 rhn.conf 來控制它的連線設定,您無法在安裝 RHN 衛星伺服器之前,新增選項至該檔案。若您組織的網路乃透過 HTTP proxy 連線,您將無法在進行安裝時啟用 RHN 衛星伺服器。解決此問題的方法,就是首先進行一項 RHN 衛星伺服器的離線安裝,然後當安裝完成之後,再將配置切換為連線模式。以下示範了如何透過 HTTP proxy,建立一項連線的 RHN 衛星伺服器安裝程序:

過程 4.4. 透過 HTTP Proxy 安裝衛星伺服器 - 預配置

  1. 完成 RHEL 5 或 6 的最小型安裝程序。
  2. 配置系統,如此一來它便可透過 HTTP proxy 連至 RHN。請如下編輯 /etc/sysconfig/rhn/up2date 檔案:
    enableProxy=1
    enableProxyAuth=1
    httpProxy=<http-proxy-fqdn>
    proxyUser=<proxy-username>
    proxyPassword=<proxy-password>
    
  3. 將系統註冊至 RHN。
  4. 以離線選項開始進行 RHN 衛星伺服器的安裝程序:
    ./install.pl --disconnected
    

4.3. 安裝程式 Script 程序

以下指示假設 RHN 衛星伺服器的安裝媒介掛載於 /media/cdrom/ 上。安裝媒介包含了 install.pl 安裝程式 script。
此部分將指示使用者如何使用安裝程式 script 來完成安裝程序。

4.3.1. 執行安裝程式 Script

下列程序將會啟動安裝程序。請確認您以 root 使用者身份執行這項程序。

警告

使用者應注意,RHN 衛星伺服器安裝程式會更新 kernel,以及所有必要的套件。

過程 4.5. 執行安裝程式 Script

  1. 請搭配選項來執行安裝程式 script,以安裝 Embedded Database 或是 Stand-Alone Database
    1. Embedded Database - 請由 /media/cdrom/ 目錄輸入下列指令,以啟用 Red Hat Network Satellite Installation Program
      # ./install.pl
      
    2. Stand-Alone Database - 請從 /media/cdrom/ 目錄下輸入下列指令,以執行 Red Hat Network Satellite Installation Program
      # ./install.pl --external-db
      
  2. 此 script 會先執行檢查,查看系統是否滿足先決條件。這些檢查可在進行安裝之前,查看是否已滿足 章 2, 需求 中的所有條件。
    * Starting the Red Hat Network Satellite installer.
    * Performing pre-install checks.
    * Pre-install checks complete.  Beginning installation.
    
  3. 接下來,衛星伺服器會向 RHN Classic 註冊,並且所有必要的套件皆會被安裝與更新。
    * RHN Registration 
    * Installing updates. 
    * Installing RHN packages.
    
接下來的部分將為您進行資料庫設定。

4.3.2. 資料庫配置

下一步是建立、產生初始資料庫。此步驟會花上一段時間。如果您打算監控安裝過程,請在另一個視窗中使用 tail 指令,以監控 /var/log/rhn/install_db.log 檔案。
Embedded Database

若您要為 RHN 衛星伺服器安裝 Embedded Database,此程序將會自動進行。

** Database: Setting up database connection for Oracle backend.
** Database: Testing database connection.
** Database: Populating database.
*** Progress: ######
Stand-Alone Database

若您要為 RHN 衛星伺服器安裝 Stand-Alone Database,安裝程式將會詢問您連上您 Stand-Alone Database 的連線資訊。

** Database: Setting up database connection for Oracle backend.
Database service name (SID)? orcl
Database hostname [localhost]? 10.5.63.161
Username? satuser
Password? ********
** Database: Testing database connection.
** Database: Populating database.
*** Progress: ######
當資料庫安裝完成後,衛星伺服器將會繼續進行配置。

4.3.3. 初始配置

安裝程式 script 會在您的衛星伺服器環境上執行一些基本配置工作。
接下來,RHN 衛星伺服器安裝程式將會下載、安裝 RHN GPG 金鑰,並視需求一併設定 /root/.gnupg/ 目錄。
* Setting up environment and users.
** GPG: Initializing GPG and importing key.
** GPG: Creating /root/.gnupg directory

重要

當在離線模式下執行 RHN 衛星伺服器安裝程式時,它不會自動下載和安裝 RHN GPG 金鑰,這將會使安裝程序失敗。若要手動式匯入金鑰,請使用這項指令來由您的基礎作業系統媒介匯入:
# rpm --import /media/RHEL/RPM-GPG-KEY-redhat-release
請在提示符號下,輸入您希望衛星伺服器欲傳送通知的電子郵件信箱。我們建議您選擇一組一般的電子郵件信箱,而不是個人郵件信箱,因為電子郵件的數量將會非常大。
You must enter an email address.
Admin Email Address? admin@example.com
* Performing initial configuration.

4.3.4. 權利憑證配置

若要啟用衛星伺服器,您必須提供您衛星伺服器憑證的位置。
* Activating Satellite. 
Where is your satellite certificate file? /root/example.cert
** Loading RHN Satellite Certificate.
** Verifying certificate locally.
** Activating RHN Satellite.

4.3.5. CA 憑證配置

下一步是為衛星伺服器建立 CA 憑證,以存取 SSL。若要建立憑證,您必須回答幾個問題。
CA 憑證
輸入憑證的密碼。
組織
輸入您的組織名稱。
組織單位
輸入您組織中的部門名稱。
電子郵件位址
輸入與此憑證相聯的電子郵件位址,例如在以上步驟中輸入的管理者電子郵件信箱。
城市
輸入衛星伺服器所位於的城市。
輸入衛星伺服器所位於的省。
國家
輸入衛星伺服器的所在國家。國家碼必須是兩個字母,否則將無法產生憑證。請輸入 ? 以查看國家碼清單。
產生了 CA Cert 憑證之後,安裝程式 script 將會進行最後配置,並重新啟用相關的服務。
* Final configuration. 
* Restarting services.
Installation complete. 
Visit https://your-satellite.example.com to create the satellite administrator account.
RHN 衛星伺服器安裝程序已完成。

4.4. 安裝過後

下列部分詳述了安裝完成後所需考量的配置。

4.4.1. 透過 HTTP Proxy 安裝:安裝過後

一旦安裝完成後,您將需要在 /etc/rhn/rhn.conf 檔案中修改您的設定:
server.satellite.http_proxy = <http-proxy-fqdn>
server.satellite.http_proxy_username = <proxy-username>
server.satellite.http_proxy_password = <proxy-password>

disconnected=0
您也將需要更新 /etc/rhn/rhn.conf 檔案,以包含 satellite.rhn.redhat.com 這個父參數:
server.satellite.rhn_parent = satellite.rhn.redhat.com

注意

此外,若您要使用 RHN 衛星伺服器網站介面,請以擁有 Administrator 權限的使用者登入。請瀏覽至 管理Red Hat Network 衛星伺服器配置一般設定。請在此輸入 HTTP Proxy 的設定,並選取「已離線的 RHN 衛星伺服器」選項。
重新啟用衛星伺服器服務:
service rhn-satellite restart
以連線模式來重新啟動衛星伺服器:
rhn-satellite-activate --rhn-cert=<path-to-cert>
您現在應該已擁有一個能透過 HTTP proxy 運作的 RHN 衛星伺服器。

4.4.2. 建立管理使用者

請依循畫面上的指示,並用網頁瀏覽器連上您衛星伺服器的 FQDN。建立衛星伺服器的管理者帳號 - 也就是 Organization Administrator - 然後按下「建立登入帳號」按鈕,進入下一個畫面:「您專屬的 RHN」。
建立管理員帳號

圖形 4.1. 建立管理員帳號

4.4.3. 結束配置

螢幕上方會出現藍色文字框,表示您現在已可自訂衛星伺服器及其動作行為。方法是按下最後的「請按這裡」。
最後的配置提示

圖形 4.2. 最後的配置提示

4.4.3.1. 一般配置

衛星伺服器配置 - 一般配置」網頁能讓您改變最基本的衛星伺服器設定,例如管理者的電子郵件位址,或啟動監控功能。
一般配置

圖形 4.3. 一般配置

4.4.3.2. 憑證

RHN 衛星伺服器配置 - 憑證」網頁能讓您上載新的衛星伺服器憑證。若要指定憑證的路徑,請按下「瀏覽」,找到並選擇檔案。若要輸入其內容,請在您的文書編輯器中開啟憑證,複製所有行列,然後直接貼到底部的大型文字欄位中。Red Hat 建議您使用檔案搜尋器的方式,問題較少。請按下「驗證憑證」以繼續進行。如果您收到了 DNS 方面的問題,請確認您的衛星伺服器是否配置正確。
憑證

圖形 4.4. 憑證

4.4.3.3. Bootstrap

RHN 衛星伺服器配置 - Bootstrap」網頁能讓您建立 Bootstrap script,將所有客戶端系統,從中央 RHN 伺服器導向至衛星伺服器。此 script 需被放置在衛星伺服器的 /var/www/html/pub/bootstrap/ 目錄中,這能大幅減少重新配置所有系統的麻煩(就預設值會由中央 RHN 伺服器取得套件)。所需填入的欄位會從之前的安裝步驟中獲得。請確認這些資訊皆為正確的。
可勾選選項包括內建的安全 SSL 與 GPG 功能,兩者皆建議使用。除此之外,您可以啟用接受遠端指令,以及遠端配置管理。這兩種功能對於完成用戶端配置皆很有幫助。最後,如果您使用了 HTTP 代理伺服器,請完成相關欄位。完成後,請按下「產生 Bootstrap script」。接下來將會出現「安裝完成」網頁。
Bootstrap

圖形 4.5. Bootstrap

4.4.4. 組織

RHN 衛星伺服器配置 - 組織」網頁包含了系統、軟體頻道、訂閱與權利之邏輯群組的配置選項。一個 RHN 衛星伺服器可管理多個組織,並且每個組織皆含有一位組織管理員。
組織

圖形 4.6. 組織

4.4.5. 重新啟用

RHN 衛星伺服器配置 - 重新啟用」網頁包含了配置衛星伺服器的最後步驟。請按下「重新啟用」按鈕,重新啟用衛星伺服器,以套用先前幾個畫面中設置的配置選項。請注意,重新啟用大約會花上四到五分鐘。
重新啟用

圖形 4.7. 重新啟用

衛星伺服器重新啟用後,倒數計時的提示將會消失。您現在已可開始使用衛星伺服器。

4.4.6. Cobbler 重組

RHN 衛星伺服器配置 - Cobbler」網頁包含了重組或是更新(在衛星伺服器外修改的)Cobbler 內容的選項。
Cobbler

圖形 4.8. Cobbler

4.4.7. 訊息傳輸代理程式(Message Transfer Agent,MTA)配置

如果您的衛星伺服器能為享有 Monitoring 權利的系統提供服務,同時您想藉由電子郵件獲得警示通知,您必須配置您的訊息傳輸代理程式(MTA),以正確地處理收到的郵件。此乃郵件重新導向功能所需,只要單一回覆,它就能讓您停止通知使用者有關於 Monitoring 的事件。

4.4.7.1. Sendmail

若要正確配置 sendmail, 請以 root 身份執行下列指令。
  1. 請透過下列指令建立符號連結,以讓 sendmail 執行 notification enqueuer:
    # ln -s /usr/bin/ack_enqueuer.pl /etc/smrsh/.
    
  2. 請編輯郵件伺服器上的 /etc/aliases 檔案,並加入以下一行:
    rogerthat01: | /etc/smrsh/ack_enqueuer.pl
    
  3. 編輯 /etc/mail/sendmail.mc 檔案,並將:
    "DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl"
    
    更改為:
    "DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl"
    
  4. 透過下列指令處理別名:
    # newaliases
    
  5. 更新 sendmail-cf 套件:
    # yum update sendmail-cf
    
  6. 重新啟用 sendmail:
    # service sendmail restart
    

4.4.7.2. Postfix

若要正確配置 postfix,請以 root 身份執行下列指令。
  1. 請透過下列指令建立符號連結,以讓 postfix 執行 notification enqueuer:
    # ln -s /usr/bin/ack_enqueuer.pl /etc/smrsh/.
    
  2. 請編輯郵件伺服器上的 /etc/aliases 檔案,並加入以下一行:
    rogerthat01: | /etc/smrsh/ack_enqueuer.pl
    
  3. 確認以下一行位於您的 /etc/postfix/main.cf 檔案中,並更改:
    inet_interfaces = all
    
  4. 透過下列指令處理別名:
    # newaliases
    
  5. 重新啟用 sendmail:
    # service postfix restart
    

4.4.8. Monitoring 的 MySQL 安裝程序

本節適用的環境,僅及於您的衛星伺服器為享有 Monitoring 權利的系統提供服務,同時您希望對這些系統執行 MySQL 偵測。請參閱《RHN 衛星伺服器參考指南》中的〈偵測〉附錄,以取得可用的偵測清單。
如果您希望執行 MySQL 偵測,請讓您的衛星伺服器訂閱 RHEL 頻道,並安裝 mysql-server 套件(透過 RHN 網站或 yum)。
在此過程中,還會下載兩個額外套件。這兩者皆為成功安裝與執行 mysql-server 套件時,所需的套件。完成後,您的衛星伺服器便可用來排程 MySQL 偵測。

章 5. 權利

RHN 衛星伺服器透過了「權利」,來為客戶提供了所有服務。客戶可視需求透過 Red Hat Network 購買權利。當使用 RHN 衛星伺服器時,權利會事先經過合約條款決定,並在安裝時才進行設定。所有 public(公共)頻道皆能自動使用,而私密頻道則是由 Red Hat Network Entitlement Certificate(RHN 權利憑證)決定。
權利憑證包含了用於您企業的詳細權利。Red Hat 保留在任何時候,比對 RHN 權利憑證與資料庫之權利設定的權力,以確保使用者與 Red Hat 之間的使用條款乃一致的。
進行初始安裝程序時,Satellite Installer Program(衛星伺服器安裝程式)將會進行在此部分中所參照的步驟。因此,除非匯入新的權利憑證(例如增加權利數量),否則客戶無需進行此部分中的步驟。

5.1. 啟用 Red Hat Network 衛星伺服器

對於離線的衛星伺服器,或偏好透過本機工作的使用者來說,Red Hat 提供了指令列工具來管理您的 RHN 權利憑證,並使用此憑證來啟用衛星伺服器:Red Hat Network Satellite Activaterhn-satellite-activate)。這項工具屬於 spacewalk-backend-tools 套件的一部分,並能在安裝衛星伺服器時,一併安裝到系統上。
rhn-satellite-activate 工具提供了有用的指令列選項,以讓您使用 RHN 權利憑證,啟用衛星伺服器:

表格 5.1. RHN 權利憑證選項

選項 描述
-h--help 顯示求助畫面,列出選項清單。
--sanity-only 確認憑證的正確性。這不會啟動本機或遠端的衛星伺服器。
--disconnected 在本機上啟用,但不在遠端 RHN 伺服器上啟用。
--rhn-cert=/PATH/TO/CERT 上傳新的憑證,並根據其它傳輸的選項(如果有的話)啟動衛星伺服器。
--systemid=/PATH/TO/SYSTEMID 僅供測試用」 - 利用路徑與檔案提供另外的系統 ID。如果不指定的話,將會使用系統預設值。
--no-ssl 僅供測試用」 - 停用 SSL。
若要使用這些選項,請視需求在 rhn-satellite-activate 指令之後插入選項及適當的值。

5.2. 以新的權利憑證來啟用衛星伺服器

您應使用 表格 5.1, “RHN 權利憑證選項” 中的選項,依照下列順序完成以下工作:
  1. 驗證 RHN 權利憑證的正確性(或可用性)。
  2. 藉由在本機資料庫中插入 RHN 權利憑證,以在本機上啟用衛星伺服器。
  3. 藉由將 RHN 權利憑證插入中央 RHN(遠端)資料庫中,以遠端啟用衛星伺服器。這通常會在進行本機啟用時完成,但如果您選用了 --disconnected 選項,可能便需要進行第二個步驟。
以下範例將描述如何使用這項工具,以及其選項。
僅驗證 RHN 權利憑證的正確性:
rhn-satellite-activate --sanity-only --rhn-cert=/path/to/demo.cert
驗證 RHN 權利憑證,並填入本機資料庫:
rhn-satellite-activate --disconnected --rhn-cert=/path/to/demo.cert
驗證 RHN 權利憑證,並將之填入本機與 RHN 資料庫:
rhn-satellite-activate --rhn-cert=/path/to/demo.cert
一旦您執行了最後這項指令,衛星伺服器就會開始運作,為本機提供套件服務,並同時與中央 RHN 伺服器同步。請參閱 章 6, 內容與同步

5.3. RHN 權利憑證的過期事宜

衛星伺服器會在憑證的「過期」欄位所列出日期的 11:59:59 PM 過期,新憑證將會在其「發出」日的 12:00:00 AM 啟用。
標準的七日寬限期介於衛星伺服器憑證的過期日,與衛星伺服器變得無法運作的日期之間。提供此寬限期是為了方便顧客聯絡 Red Hat 的支援人員,以取得新的憑證。在寬限期期間,會發生以下情況:
  • 衛星伺服器仍然可以運作。
  • 每個登入衛星伺服器的使用者,都會在「總覽」網頁上看見一個橫幅,說明衛星伺服器憑證已過期。
  • 這七天中的每一天,衛星伺服器的管理者信箱皆會收到通知,表示憑證即將過期。
當寬限期結束後,衛星伺服器將無法提供服務:使用者將無法登入網頁介面,所有用戶端的工具皆會呈現「憑證已過期」的訊息。
最後,衛星伺服器的管理者每天都會收到電子郵件,提示管理者憑證已過期。

章 6. 內容與同步

您的 RHN 衛星伺服器已安裝完成。下一步便是提供它套件與頻道,以供客戶端系統使用。此章節解釋了如何匯入內容,以及如何將它保持在最新狀態。
請在進行一項 RHN 衛星伺服器同步之前,確認您滿足了以下先決條件:
  • 您必須成功完成了 RHN 衛星伺服器的安裝程序。
  • 必須擁有 RHN Channel Content ISO(頻道內容 ISO),或是要能夠使用 Red Hat Network Satellite Exporter,或衛星伺服器必須能存取網際網路和 RHN 網站。

6.1. RHN 衛星伺服器同步工具

Red Hat Network Satellite Synchronization Toolsatellite-sync)能讓 RHN 衛星伺服器透過各種來源更新其資料庫 metadata 和 RPM 套件。

重要

執行 satellite-sync 會匯入大量資料,剛安裝好的衛星伺服器尤然。如果您的資料庫在大量資料變動後,出現效能上的問題,建議您蒐集資料庫的統計數據。詳情請參閱 節 9.4, “使用 RHN DB Control
若要執行 Red Hat Network Satellite Synchronization Tool,請以 root 身份執行以下指令:
# satellite-sync
Red Hat Network Satellite Synchronization Tool 有其執行步驟。要讓此程式獲得勘誤資訊,它必須先知道包含了哪些套件。對於要升級的套件,這項工具必須先識別相聯頻道。因此,Red Hat Network Satellite Synchronization Tool 會以下列步驟進行動作:
  1. channel-families — 匯入/同步頻道組(架構)的資料。
  2. channels — 匯入/同步頻道資料。
  3. rpms — 匯入/同步 RPM 套件。
  4. packages — 針對成功擷取的 RPM,匯入/同步完整的套件資料。
  5. errata — 匯入/同步勘誤資訊。
這些步驟皆可獨立運作,當步驟完成時,強迫中止這項工具以當作測試用途。然而所有之前的步驟都會發生作用。因此,使用 rpms 選項能自動確保 channelschannel-families 選項先完成。若要開始一個獨立步驟,請使用 --step 選項。
# satellite-sync --step=rpms
除了 --step 以外,Red Hat Network Satellite Synchronization Tool 亦提供了其它指令列選項。要使用這些選項,請在 satellite-sync 指令後加入選項與適當的值,以啟用匯入/同步功能。

表格 6.1. satellite-sync 選項

選項 描述
-h--help 顯示此選項清單後離開。
-d=--db=DB 包括額外的資料庫連線字串:使用者名稱/密碼@SID。
-m=--mount-point=MOUNT_POINT 從掛載到衛星伺服器的本機媒體來匯入/同步。用於封閉式環境(例如在離線狀況下安裝的環境)。
--list-channels 列出所有的可用頻道後離開。
-c CHANNEL--channel=CHANNEL_LABEL 僅為此頻道處理資料。您可以重複使用此選項,以指定多個頻道。如果未指定任何頻道,衛星伺服器將會更新所有頻道。
-p, --print-configuration 列印目前的設定後離開。
--no-ssl 不建議使用」 - 關閉 SSL。
--step=STEP_NAME 」進行同步過程到指定的步驟為止。通常用於測試。
--no-rpms 不要下載 RPM。
--no-packages 不要處理完整的套件資料。
--no-errata 不要處理勘誤資訊。
--no-kickstarts 不要處理 kickstart 資料(僅限 provisioning)。
--force-all-packages 強迫處理所有套件資料,不執行 diff。
--debug-level=LEVEL_NUMBER 覆蓋送到紀錄檔的訊息量,並依照 /etc/rhn/rhn.conf 的設定在螢幕上產生。這個值為 0 到 6,預設值為 2。
--email 傳送報表,將匯入/同步的報告以電子郵件寄給指定的收件人。
--traceback-mail=TRACEBACK_MAIL 將同步的結果輸出(從 --email)到這個電子郵件位址。
-s=, --server=SERVER 包括另一台要做同步化伺服器的主機名稱。
--http-proxy=HTTP_PROXY 加入另一個 HTTP 代理伺服器,格式為主機名稱:連接埠(hostname:port)。
--http-proxy-username=PROXY_USERNAME 為另一台 HTTP 代理伺服器指定使用者名稱。
--http-proxy-password=PROXY_PASSWORD 為另一台 HTTP 代理伺服器指定密碼。
--ca-cert=CA_CERT 以完整的路徑與檔名指定另外的 SSL CA 認證。
--systemid=SYSTEM_ID 僅供除錯用」 - 指定另一台數位系統 ID 的路徑。
--batch-size=BATCH_SIZE 僅供除錯用」 - 為 XML/資料庫匯入過程,設定最大的批次大小百分比。請參閱 satellite-sync 的說明文件。

6.2. 以本機媒介進行同步

雖然您可以直接從 RHN 網站進行匯入,但您只應該在無法使用頻道內容 ISO 的情況下這麼作。要將頻道散佈到網際網路上去,需要花上一段時間。因此,如果您有 ISO 映像檔,Red Hat 建議您使用 ISO 來進行首次匯入。

6.2.1. 準備從本機媒體匯入

頻道內容 ISO 乃包含了 metadata 套件和 XML 傾印的特殊集合項目。ISO 映像檔可藉由在連上網路的機器上,透過 RHN 網站下載,並傳輸至衛星伺服器上。

過程 6.1. 取得頻道內容 ISO

  1. 登入網站使用者介面。
  2. 請點選上方瀏覽列中的「頻道」。
  3. 請點選 RHN 衛星伺服器頻道。確認您選擇了與您衛星伺服器版本相應的衛星伺服器頻道。
  4. 請點選「下載」分頁,並使用網頁上的指示來取得頻道內容 ISO(以 RHEL 版本區分)。
  5. 若您想要的頻道內容 ISO 並未出現,請確認您的 RHN 權利憑證已上載至 RHN,並正確辨識了目標頻道。
下個程序將會掛載頻道內容 ISO 並將內容複製至暫時性的軟體庫目錄中

過程 6.2. 掛載並複製頻道內容 ISO

  1. 以 root 身份登入電腦。
  2. 用以下指令在 /mnt/ 中建立一個目錄以儲存檔案:
    # mkdir /mnt/import/
    
  3. 使用下列指令來掛載 ISO 檔案:
    # mount [iso_filename] /mnt/import -o loop
    
  4. 為這些檔案建立目標目錄:
    # mkdir /var/rhn-sat-import/
    
  5. 這範例指令表示管理者想要將 ISO 的內容(掛載於 /mnt/import/)複製到 /var/rhn-sat-import/
    # cp -ruv /mnt/import/* /var/rhn-sat-import/
    
  6. 然後卸載 /mnt/import,為下 ISO 作準備:
    # umount /mnt/import
    
  7. 為每個欲匯入的頻道的頻道內容 ISO 重複這些步驟。

6.2.2. 由本機媒介匯入

以下程序假定在前一個步驟中,使用者已經將所有資料複製到 /var/rhn-sat-import
  1. 列出可匯入的頻道。
    # satellite-sync --list-channels --mount-point /var/rhn-sat-import
    
  2. 使用顯示在先前清單中的頻道標籤來進行匯入。
    # satellite-sync -c [channel-label] --mount-point /var/rhn-sat-import
    

    注意

    各個頻道皆可能會花上兩小時來匯入套件資料。一但頻道出現在 RHN 衛星伺服器網站介面中,您便能即刻將系統註冊至頻道。註冊無需使用套件,但在頻道完全散佈之前,將無法由衛星伺服器取得更新。
  3. 請為每個頻道重複此步驟,或使用 -c 旗標來將所有頻道納入一個單一指令,例如:
    # satellite-sync -c [channel-label-1] -c [channel-label-2] --mount-point /var/rhn-sat-import
    
在執行了指令之後,頻道應該就會完成散佈。所有套件應會被由軟體庫中移出;這能透過下列指令驗證:
# cd /var/rhn-sat-import/; ls -alR | grep rpm
若所有 RPM 皆已安裝並移至其永久位置,那麼此計數將會是零,並且管理員將可安全的移除暫時性的 /var/rhn-sat-import/ 軟體庫。

6.3. 透過 Satellite Export 進行同步

Red Hat Network Satellite Exporterrhn-satellite-exporter)工具會以 XML 格式匯出衛星伺服器內容,使用者再將其匯入另一個相同的衛星伺服器中。您可透過 -d 選項來將內容匯出至一個指定的目錄中,將此目錄傳送至其它衛星伺服器上,並使用 Red Hat Network Satellite Synchronization Tool 來匯入內容。這便會同步這兩個衛星伺服器。
Red Hat Network Satellite Exporter 提供了下列內容:
  • 頻道家族
  • 架構
  • 頻道的 metadata
  • 黑名單
  • RPM
  • RPM 的 metadata
  • 勘誤
  • Kickstart
若要進行一項 Red Hat Network Satellite Exporter 匯出,您必須先滿足以下先決條件:
  • 您必須成功完成了衛星伺服器的安裝程序。
  • --dir 選項所指定的目錄必須有足夠的空間,以包含匯出的內容。

6.3.1. 進行匯出

配置衛星伺服器,使其複製為另一個衛星伺服器,或以儲存方案備份。請以 root 身份執行這項指令。
# rhn-satellite-exporter --dir=/var/rhn-sat-export --no-errata
完成後,匯出目錄可以用 rsyncscp -r 指令,移到另一台衛星伺服器上,或儲存裝置上。
Red Hat Network Satellite Exporter 提供了數項指令列選項。若要使用它們,請在 rhn-satellite-exporter 指令之後插入選項及適當的值。

表格 6.2. Red Hat Network Satellite Exporter 的選項

選項 描述
-d, --dir= 將匯出的資訊放入這目錄。
-cCHANNEL_LABEL, --channel=CHANNEL_LABEL 僅為此特定頻道(以標籤指定)處理資料。注意:此頻道的「標籤」與頻道的「名稱」並不相同。
--list-channels 列出所有的可用頻道後離開。
--list-steps 列出 rhn-satellite-exporter 匯出資料的所有步驟,這可以用來當作 --step 所需的值。
-p --print-configuration 列印設定後離開。
--print-report 匯出完成後,在終端機中印出報表。
--no-rpms 不要下載 RPM。
--no-packages 不要匯出 RPM 的 metadata。
--no-errata 不要處理勘誤資訊。
--no-kickstarts 不要處理 kickstart 資料(僅限 provisioning)。
--debug-level=LEVEL_NUMBER 覆蓋送到紀錄檔的訊息量,並依照 /etc/rhn/rhn.conf 的設定在螢幕上產生。這個值為 0 到 6,預設值為 2。
--start-date=START_DATE 與最後修改日期相比較的起始日期限制。必須為 YYYYMMDDHH24MISS 這個格式(例如 20071225123000
--end-date=END_DATE 與最後修改日期相比較的結束日期限制。必須為 YYYYMMDDHH24MISS 這個格式(例如 20071231235900
--make-isos=MAKE_ISOS 建立一個名為 satellite-isos 的頻道傾印 ISO 目錄(例如 --make-isos=cddvd
--email 將報告以電子郵件方式送出,內容包括匯出了哪些項目與發生的錯誤。
--traceback-mail=EMAIL --email 選項的另一個電子郵件位址。
--db=DB 包括額外的資料庫連線字串:使用者名稱/密碼@SID。
--hard-links 匯出硬連結至原始檔案的 RPM 與 kickstart 檔案。
選擇您希望使用這些指令列選項匯出的內容,例如 RPM、勘誤或 kickstart。
rhn-satellite-exporter 匯出資料的時間端視欲匯出的頻道之數量與大小。使用 --no-packages, --no-kickstarts, --no-errata, 與 --no-rpms 選項能降低 rhn-satellite-exporter 的執行時間,但也會讓潛在的有用訊息無法匯出。因此,只有在您確定您不需要這些資訊時,才用這些選項。除此之外,匯出資料時,您必須使用 satellite-sync 配對選項。舉例來說,如果您使用了 rhn-satellite-exporter--no-kickstarts 選項,在匯入資料時您必須指定 --no-kickstarts選項。
當要匯出一個 RHN 基礎頻道時,請確認您匯出了與基礎頻道相聯的工具頻道。這些工具頻道包含了 auto-kickstart 的套件,並且會安裝套件以將機器透過衛星伺服器 kickstart。

6.3.2. 移動 Red Hat Network Satellite Exporter 的內容

下列程序會將 Red Hat Network Satellite Exporter 的資料複製至本機系統上,以進行匯入。

過程 6.3. 移動 Exporter 的內容

  1. 以 root 身份登入電腦。
  2. 為檔案建立目標目錄,例如:
    # mkdir /var/rhn-sat-import/
    
  3. 使匯出的資料在本機機器上能夠使用,這些資料將位於先前步驟中所建立的目錄裡。您可直接複製資料,或是透過 NFS 由另一部機器上掛載資料。請以下列指令將資料複製入新的目錄中:
    # scp -r root@storage.example.com:/var/rhn-sat-export/* /var/rhn-sat-import
    
資料準備好之後,您便可進行匯入。

6.3.3. 進行匯入

以下程序假定在前一個步驟中,使用者已經將所有資料複製到 /var/rhn-sat-import
  1. 透過以下指令列出可匯入的頻道:
    # satellite-sync --list-channels --mount-point /var/rhn-sat-import
    
  2. 使用顯示在先前清單中的頻道標籤,來匯入特定頻道。請執行下列指令:
    # satellite-sync -c [channel-label] --mount-point /var/rhn-sat-import
    

    注意

    匯入每個頻道的套件資料會花上多達兩個小時。只要頻道出現在 RHN 衛星伺服器的網站中,您就可以開始為系統註冊頻道。註冊不需要套件,但在頻道完成散佈前,您無法從衛星伺服器上取得更新。
    請為每個頻道重複此步驟,或使用 -c 旗標來將所有頻道納入一個單一指令,例如:
    # satellite-sync -c channel-label-1 -c channel-label-2 -mount-point /var/rhn-sat-import
    
  3. 頻道的散佈已完成。請透過下列指令驗證所有套件是否皆已從軟體庫中移出:
    # cd /var/rhn-sat-import/; ls -alR | grep rpm
    
    若所有 RPM 皆已安裝並移至其永久位置,此計數便會是零。移除暫時性的 /var/rhn-sat-import/ 軟體庫:
    # rm -rf /var/rhn-sat-import
    

6.4. 與 RHN 同步

satellite-sync 指令也會以 RHN 同步一個已連線的 RHN 衛星伺服器。這將會由 RHN 伺服器更新資料庫 metadata 和 RPM 套件。

過程 6.4. 與 RHN 同步

  1. 使用 --list-channels 指令來列出您連上的 RHN 衛星伺服器上的可用頻道。
    # satellite-sync --list-channels
    
  2. 使用 -c 選項來與 RHN 頻道同步。
    # satellite-sync -c [channel-label]
欲取得更多有關於 satellite-sync 選項的資訊,請參閱 節 6.1, “RHN 衛星伺服器同步工具”

章 7. 衛星伺服器交互同步(Inter-Satellite Synchronization)

Red Hat Network Satellite 5.5 支援在兩部衛星伺服器之間進行同步。此同步化程序能讓管理員簡化來自於多部 RHN 衛星伺服器上的內容的協調程序。
以下為基本需求:
  • 至少兩部 RHN 衛星伺服器(版本 5.3 或更新);
  • 至少一部含有至少一個頻道的 RHN 衛星伺服器;以及
  • 各個 Slave RHN 衛星伺服器上皆需要擁有有效的 Master RHN 衛星伺服器 SSL 憑證,以確保連線安全。

7.2. 配置 Master RHN 衛星伺服器

若要使用 inter-satellite sync 功能,您首先必須確認您已將它啟用。請確認 /etc/rhn/rhn.conf 包含了以下一行:
disable_iss=0
此變數位於相同檔案中:
allowed_iss_slaves=
就預設值,沒有任何 Slave 衛星伺服器被指定由 Master 伺服器同步內容,因此您必須輸入各個 Slave 衛星伺服器的主機名稱,並以逗號將各主機名稱區隔開。例如:
allowed_iss_slaves=slave1.satellite.example.org,slave2.satellite.example.org
當您完成配置 rhn.conf 檔案後,請藉由輸入下列指令來重新啟用 httpd 服務:
service httpd restart

7.3. 配置 Slave RHN 衛星伺服器

若要配置 RHN 衛星伺服器的 Slave 伺服器,以進行衛星伺服器交互同步,請確認您擁有來自於您 Master RHN 衛星伺服器的 ORG-SSL 憑證,如此一來您便可安全的傳輸內容。這能透過 http,由任何衛星伺服器的 /pub/ 目錄下載。此檔案名為 RHN-ORG-TRUSTED-SSL-CERT,不過可重新命名並放置在 Slave 衛星伺服器上的任何位置中,例如 /usr/share/rhn/ 目錄中。
欲取得有關於使用在 RHN 衛星伺服器上的 SSL 配置的相關資訊,請參閱《Red Hat Network 衛星伺服器客戶端配置指南》中的第三章「SSL 基礎架構」
當 SSL 憑證被放置在 Slave 伺服器上後,您便能透過以下指令查看一列可由 Master 衛星伺服器同步的頻道(將 master.satellite.example.com 替換為 Master 衛星伺服器的主機名稱):
satellite-sync --iss-parent=master.satellite.example.com --ca-cert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --list-channels
這項指令會列出 RHN Hosted 頻道與 Master 衛星伺服器上任何可用的自訂頻道。

7.4. 使用 Inter-Satellite Sync

現在當您配置了 Inter-Satellite Sync 後,您便可使用它來由 Master 衛星伺服器同步 Slave 衛星伺服器的頻道。
請在 Slave 伺服器上,於 /etc/rhn/rhn.conf 檔案的下列行列中,配置 Master 伺服器主機名稱與 SSL 憑證檔案路徑:
iss_parent      = master.satellite.domain.com
iss_ca_chain    = /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
然後藉由輸入以下來執行 satellite-sync 指令:
# satellite-sync -c your-channel

注意

任何 satellite-sync 指令的指令列選項皆為置換 /etc/rhn/rhn.conf 檔案中,所有預設與自訂的設定。

7.4.1. 在一部 Development Staging Server 和 Production Satellite 之間進行同步

管理員可能會需要由一部含有準備使用於生產環境之自訂頻道的 staging 伺服器,將資料同步至 Production 衛星伺服器上。
比方說,Production 衛星伺服器一般會直接與 RHN Hosted 伺服器同步,以取得內容更新,不過有時也會與 RHN Satellite 開發伺服器同步已準備使用於生產環境的資訊。
由 RHN Hosted 與衛星伺服器 Staging 伺服器同步

圖形 7.4. 由 RHN Hosted 與衛星伺服器 Staging 伺服器同步

一般,管理員會執行:
satellite-sync -c your-channel
這項指令會直接由「rhn_parent」(一般為 Red Hat Network Hosted,rhn.redhat.com)的資料下載。接著,要由 staging 衛星伺服器位址進行同步,管理員會執行:
satellite-sync --iss-parent=staging-satellite.example.com -c custom-channel

7.4.2. 雙向同步

管理員可配置一個環境,包含兩個 RHN 衛星伺服器作為互相的 Master。比方說,衛星伺服器 A 和 B 能與對方交互進行同步。
雙向同步

圖形 7.5. 雙向同步

兩個衛星伺服器皆需要共享 SSL 憑證,然後在衛星伺服器 A 的 /etc/rhn/rhn.conf 檔案中設置 iss_parent 選項,使其指向衛星伺服器 B 的主機名稱,並為衛星伺服器 B 重複此動作,指向衛星伺服器 A 為 iss_parent

7.5. 以組織同步

satellite-sync 工具提供了將內容匯入任何特定組織的能力。這能透過本機或是藉由 hosted 或另一部衛星伺服器來遠端同步。
此目標是為了能讓 Satellite sync 匯入與 orgid 相應的內容。這主要針對於兩組使用者。一個情況就是離線的 Multi-Org(使用者內容的主要來源乃透過頻道傾印取得內容,或是由連線的衛星伺服器上將內容匯出,並匯入衛星伺服器中)。使用者主要會由離線的衛星伺服器 host 自訂頻道。若他們希望由連線的衛星伺服器上匯出自訂頻道,他們可透過組織同步來這麼作。
另一個情況就是已連線的 Multi-Org 衛星伺服器客戶。這些新旗標可用來作為在多個組織中,移動內容的方法。
以組織來進行同步需遵循幾項規則,以維護來源組織的完整性。
  • 若來源內容屬於基礎組織(任何 Red Hat 內容),儘管指定了目的地組織,它亦會被預設至基礎組織。這可確保指定的內容僅會在擁有特權的基礎組織中。
  • 若在指令列上指定了組織,將會由該組織匯入內容。
  • 若未指定組織,預設值將會是 org 1。
下列為組織 ID(orgid)被使用來在衛星伺服器之間進行同步的三個範例:

範例 7.1. 由 Master 匯入內容至 Slave 衛星伺服器。

# satellite-sync --parent-sat=master.satellite.domain.com -c channel-name --orgid=2

範例 7.2. 由特定組織匯出的傾印匯入內容

# satellite-sync -m /dump -c channel-name --orgid=2

範例 7.3. 由 RHN Hosted 匯入內容

# satellite-sync -c channel-name

章 8. 升級

本章描述如何升級現有的 Red Hat Network 衛星伺服器至 5.5 版。升級前請先確定您已滿足列於〈節 8.1, “升級條件”〉的條件。

8.1. 升級條件

升級衛星伺服器需要滿足以下條件:
  • 衛星伺服器憑證的更新版本;
  • 衛星伺服器升級套件(rhn-upgrade);
  • 新的安裝 ISO;
以下步驟解釋如何取得上述項目。

過程 8.1. 準備升級衛星伺服器

  1. 取得衛星伺服器憑證

    1. 從 Red Hat 客戶入口網站 https://access.redhat.com/home 的「訂閱」分頁取得衛星憑證。
    2. 將此憑證除存在衛星伺服器上。
  2. 取得衛星伺服器的升級套件(rhn-upgrade

    1. 確定衛星伺服器已經向 Red Hat Network 衛星伺服器頻道註冊。
    2. 使用以下指令安裝 rhn-upgrade 套件:
      # yum install rhn-upgrade
      
      這個套件安裝 script 與完整的升級指示可以在 /etc/sysconfig/rhn/satellite-upgrade 目錄中找到。
  3. 取得安裝  ISO

    1. 從 Red Hat 客戶入口網站 https://access.redhat.com/home 的「下載」分頁取得 Red Hat Network 衛星伺服器 5.5 ISO。
    2. 將 ISO 檔案下載到衛星伺服器上。

8.2. 升級衛星伺服器

一旦取得升級衛星伺服器的所需項目後,請遵循下列步驟進行更新。

重要

以下是從衛星伺服器 5.4 升級至 5.5 的基本步驟。欲知詳細的指示,請參閱 rhn-upgrade 套件的 /etc/sysconfig/rhn/satellite-upgrade/README 檔案。

過程 8.2. 升級衛星伺服器

  1. 掛載 ISO 檔案,如〈節 4.1.2, “掛載安裝媒介〉所示。
  2. 變更目錄至掛載的 ISO,並使用 --upgrade 選項執行安裝程式。
    # cd /mount/cdrom
    # ./install.pl --upgrade
    

    重要

    如果 Red Hat Netowrk 衛星伺服器處於「離線」狀態,請使用額外選項或使用「Stand-Alone Database」(獨立式資料庫)。欲知更多資訊,請參閱〈節 4.2.1, “安裝程式 Script 的選項”〉。
  3. 停用衛星伺服器上的所有服務:
    # /usr/sbin/rhn-satellite stop
    

    重要

    接下來的步驟會升級資料庫 schema。請確定資料庫是在您的「Stand-Alone Database」上執行。如果使用的是「Embedded Database」(內嵌式資料庫),請確定資料庫透過以下指定執行:
    # service oracle start
    
  4. 使用 spacewalk-schema-upgrade 升級資料庫:
    # /usr/bin/spacewalk-schema-upgrade
    

    重要

    建議您在升級前備份資料庫。
  5. 啟動衛星伺服器。如果使用的是已連線的衛星伺服器:
    # rhn-satellite-activate --rhn-cert [PATH-TO-NEW-CERT] --ignore-version-mismatch
    
    如果使用的是離線的衛星伺服器:
    # rhn-satellite-activate --rhn-cert [PATH-TO-NEW-CERT] --disconnected --ignore-version-mismatch
    
  6. 使用以下指令重建搜尋索引:
    # service rhn-search cleanindex
    
    這指令會為 rhn-search 服務建立全新的搜尋索引,然後重新啟動此服務。
  7. 啟用「監控」與「監控偵查」。要啟用「監控」但不啟用「監控偵查」,請執行以下指令:
    # /usr/share/spacewalk/setup/upgrade/rhn-enable-monitoring.pl
    
    要啟用「監控」與「監控偵查」,請執行以下指令:
    # /usr/share/spacewalk/setup/upgrade/rhn-enable-monitoring.pl --enable-scout
    
  8. 重新啟動衛星伺服器服務:
    # /usr/sbin/rhn-satellite restart
    
升級程序已經完成,衛星伺服器已經可以使用。

章 9. 維護

通常 RHN 衛星伺服器也需要定期維護,為客戶提供服務所帶來的所有益處。本章討論標準使用方式外的管理功能,以及如何更新 RHN 衛星伺服器的方法。

9.1. 以 rhn-satellite 管理衛星伺服器

由於 RHN 衛星伺服器包含了多種獨立元件,Red Hat 提供了一項指令列工具,以讓您能夠針對於多項服務,以適當的順序停用、啟用,或擷取狀態資訊:rhn-satellite。這項工具能接受所有典型的指令:
/usr/sbin/rhn-satellite start
/usr/sbin/rhn-satellite stop
/usr/sbin/rhn-satellite restart
/usr/sbin/rhn-satellite reload
/usr/sbin/rhn-satellite enable
/usr/sbin/rhn-satellite disable
/usr/sbin/rhn-satellite status
請使用 rhn-satellite 來關閉或啟動整個 RHN 衛星伺服器,並一次性地由它的所有服務擷取狀態訊息。

9.2. 升級衛星伺服器

如果 RHN 衛星伺服器有任何重大更新,這些更新會以 RHN 衛星伺服器的勘誤來發行。
對於連接到網際網路的 RHN 衛星伺服器系統,套用勘誤升級的最好方法,是透過 RHN 使用 Red Hat Update Agent(Red Hat 更新代理程式)。由於在初始安裝 RHN 衛星伺服器時,就已經訂閱了 Red Hat Network,因此使用者應該可以在 RHN 衛星伺服器上執行 yum update(若在版本 5 之前的 RHEL 上則使用up2date -u)指令,或使用 https://rhn.redhat.com 網站來套用更新。

重要

在安裝 Apache 的 RPM 時,系統不會重新啟動 httpd 服務。因此,在完整升級了 RHN 衛星伺服器之後(例如使用了 yum update 指令,Apache 可能會發生錯誤。若要避免此問題,請確認您在升級之後,重新啟動 httpd 服務。
對沒有連上網際網路的 RHN 衛星伺服器系統來說,這些套件可以藉由用戶帳號,從 https://rhn.redhat.com 下載。然後用戶再根據勘誤建議中的指示,手動安裝。

警告

在您套用任何 RHN 衛星伺服器的勘誤升級前,「一定要」閱讀勘誤建議。要安裝某些 RHN 衛星伺服器升級檔,可能需要採取額外的步驟,尤其是牽涉到資料庫方面的。在這種情形下,勘誤建議會包含特定且詳盡的資訊,為您提供必要的步驟。
如果您不是要安裝新的衛星伺服器套件,而是要嘗試更新伺服器的 RHN 權利憑證(例如增加用戶端系統的數目),請參閱〈章 5, 權利〉以取得相關指示。

9.3. 備份衛星伺服器

備份 RHN 衛星伺服器有很多種方法。不管您選用哪種方法,都應該要一併備份相聯的資料庫。以 Stand-Alone Database(獨立式資料庫)來說,請洽詢您公司的資料庫管理員。若是 Embeded Database(內嵌式資料庫)的話,請參閱〈節 9.4, “使用 RHN DB Control〉,以取得此程序的完整詳述,以及可用的選項。
以下為 Red Hat 建議您備份的最基本檔案與目錄:
  • /rhnsat/ - 僅限 Embeded database(當資料庫運行時,請勿進行備份 - 請參閱〈節 9.4.2, “備份資料庫”〉)
  • /etc/sysconfig/rhn/
  • /etc/rhn/
  • /etc/sudoers
  • /etc/tnsnames.ora
  • /var/www/html/pub/
  • /var/satellite/redhat/1 - 自訂的 RPM 套件
  • /root/.gnupg/
  • /root/ssl-build/
  • /etc/dhcp.conf
  • /etc/httpd
  • /tftpboot/
  • /var/lib/cobbler/
  • /var/lib/rhn/kickstarts/
  • /var/www/cobbler
  • /var/lib/nocpulse/
如果可能的話,請一併備份 /var/satellite/。如果發生任何錯誤,這會節省許多下載的時間。由於 /var/satellite/(尤其是 /var/satellite/redhat/NULL/)是 Red Hat RPM 軟體庫的複製品,因此可以用 satellite-sync 重新產生。Red Hat 建議您備份整個 /var/satellite/ 樹。以離線的衛星伺服器來說,/var/satellite/必須」備份。
只備份這些檔案與目錄會需要重新安裝 RHN 衛星伺服器的 ISO RPM,並重新註冊衛星伺服器。除此之外,Red Hat 套件需要使用 satellite-sync 工具重新同步。最後,請重新安裝以下檔案:
/root/ssl-build/rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm
另一個方法則是備份以上所有檔案與目錄,重新安裝 RHN 衛星伺服器,但不重新註冊。在安裝過程中,取消或跳過 RHN 註冊與 SSL 憑證產生的過程。
最後、也是最複雜的方法則是備份整台電腦。這可以省下下載與重新安裝的時間,但需要額外的磁碟空間與備份時間。

重要

無論使用的備份方式為何,當您由備份復原衛星伺服器時,您必須執行下列指令來排程在下次 rhn-search 服務啟用時重新建立搜尋索引:
/etc/init.d/rhn-search cleanindex

9.4. 使用 RHN DB Control

搭配 Embedded Database 的 RHN 衛星伺服器需要工具程式來管理資料庫。Red Hat 提供了這麼一個工具: RHN DB Control(RHN 資料庫控制工具)。這命令列工具能讓您做任何事,從製作、驗證、復原備份,到獲取資料庫狀態或在需要時重新啟動。要使用 RHN DB Control,您「必須」是 oracle 資料庫的使用者。要開始使用這程式,請切換到 oracle 使用者:
su - oracle
接下來,請執行以下指令:
db-control option

9.4.1. 資料庫的控制選項

RHN DB Control 提供了許多命令列選項。要使用這些選項,請在以 oracle 身份在 db-control 指令後,輸入選項,需要的話請一併輸入適當的值。

表格 9.1. RHN 資料庫控制選項

選項 描述
help 列出這些 db-control 選項,以及額外的細節。
backup DIRNAME 將資料庫備份到指定的目錄。
examine DIRNAME 檢視備份目錄的內容。這會傳回建立備份的時間戳記,以及其內容的報告。
extend 增加 RHN Oracle 的表空間
gather-stats PCT 由 RHN Oracle 資料庫物件蒐集數據。PCT 代表需要進行評估的行列百分比(預設值為 15%)。
report 回報目前資料庫空間的使用量。
report-stats 回報含有陳舊或空數據的區段。
restore DIRNAME 將儲存於 DIRNAME 中的資料庫備份復原。要成功執行這個指令,必須先停止資料庫。
start 啟動資料庫事例。這亦可透過 root 身份,執行 service oracle start 來達成。
shrink-segments 縮小 RHN Oracle 資料庫區段以取得大量可用空間。
status 顯示目前資料庫狀態,結果可能是「執行中」或「離線」。
stop 停止資料庫事例。這亦可透過 root 身份,執行 service oracle stop 指令來達成。
tablesizes 為每個表格顯示空間報告
verify DIRNAME 驗證 DIRNAME 中,備份檔案的內容。這項指令會針對於備份中各個檔案執行 checksum。

注意

資料庫數據為資料的蒐集,並且它們描述了許多有關於資料庫和資料庫中的物件的詳情。這些數據會被查詢優化程式用來選擇各個 SQL 陳述式的最佳執行方式。因為資料庫中的物件可不斷地改變,因此數據必須要時常被更新才能正確地描述這些資料庫物件。數據則是透過 Oracle 自動地維護。不過,若您的資料庫在進行了大量資料變更後產生了效能上的問題,請考慮執行手動式的數據蒐集。

注意

刪除了大量資料後,請使用 segment-shrink(區段緊縮)功能來重取 Oracle Database 區段中的碎裂可用空間。segment-shrink 的好處就是能將資料緊縮,並達到較佳的快取使用。並且緊縮的資料只需要使用較少的區塊便能被進行完整表格掃描,這可同時達到較佳的效能。
區段緊縮這項功能僅適用於和 RHN 衛星伺服器同時發售的新建 Oracle Database 10g Release 2 上。因為 Oracle Database 9i 中含有不同的資料庫預設值,因此此功能無法使用於由先前 RHN 衛星伺服器版本所升級的資料庫上。

9.4.2. 備份資料庫

Red Hat 建議您每個晚上備份 Embedded Database,同時透過 NFS、SCP、FTP 等服務,將目的地設在另一台系統上。這台備份系統平時最好能保持非運作狀態。要開始備份,請以 root 身份依序執行下列指令,關閉資料庫與相關服務:
/usr/sbin/rhn-satellite stop
然後切換到 oracle 使用者,執行以下指令以開始備份:
db-control backup DIRNAME
備份檔案會儲存在指定的目錄中。請注意這是「冷」備份;在執行指令前,您必須停止資料庫。這過程可能會花上幾分鐘。您可以從第一次備份,得知今後的備份大概會花上多少時間。
一旦備份完成,請切換到 root 使用者模式,依序使用以下指令,重新啟動資料庫以及相關的服務:
/usr/sbin/rhn-satellite start
您接下來就可以用 rsync 或其它檔案傳輸工具程式,將備份檔複製到其他系統上。Red Hat 強烈建議您使用 cron job 來自動排程備份工作。舉例來說,在早上三點備份系統,然後在早上六點將備份檔複製到獨立的儲存空間(分割區、磁碟、或系統)上去。

9.4.3. 驗證備份

只有在能夠確認備份檔完整性的原則下,備份 Embedded Database 才有意義。RHN DB Control 提供了兩種方法來檢視備份檔,一種的內容比較簡短,另一種則比較詳細。要對備份檔的時間戳記進行快速的檢查,並查看是否漏掉了任何檔案,請以 oracle 使用者身份,執行以下指令:
db-control examine DIRNAME
若要進行更詳盡的檢視,包括檢查備份檔中每個檔案的 checksum,請以 oracle 使用者身份,執行以下指令:
db-control verify DIRNAME

9.4.4. 復原資料庫

RHN DB Control 能讓復原 Embedded Database 的過程相對簡單。在建立備份檔時,您必須以 root 身份登入,執行以下指令以關閉資料庫與相關服務:
/usr/sbin/rhn-satellite stop
然後請切換到 oracle 使用者,執行以下指令,包括含有備份檔的目錄,以開始復原程序:
db-control restore DIRNAME
這不但會復原 Embeded database,同時在復原前,會先使用 checksum 驗證備份目錄中的內容。一旦復原完成,請切換回 root 使用者模式,依序使用以下指令,重新啟動資料庫與相關服務:
/usr/sbin/rhn-satellite start

9.5. 複製衛星伺服器與內嵌資料庫

為了避免硬體故障或其他東西失效可能造成的停機問題,您可能會想將衛星伺服器與 Embeded Database 完整複製起來。這第二台衛星伺服器可以當作第一台的備援機器。要完整複製衛星伺服器,請執行以下工作:
  1. 在獨立的機器上安裝 RHN 衛星伺服器與 Embedded Database(以及 RHEL 的基礎安裝),並跳過產生 SSL 憑證的步驟。
  2. 使用 節 9.4.2, “備份資料庫” 中所描述的指令,每天備份主衛星伺服器的資料庫。完成這項程序之後,萬一系統當機,只有在備份之後的變動才會遺失。
  3. 建立一個機制將備份檔複製到第二台衛星伺服器,並使用諸如 rsync 等檔案傳輸程式,同步這些軟體庫。如果您使用的是 SAN(儲存區域網路),就不需要複製。
  4. 利用 RHN DB Controlrestore 選項,將重複的資料匯入。
  5. 若主衛星伺服器失效的話,請將 /root/ssl-build 中的 SSL 金鑰配對 RPM 套件由主衛星伺服器傳輸至次衛星伺服器上,並安裝套件。這能確保 RHN 客戶端能夠與次衛星伺服器進行驗證,並安全地連上它。
  6. 將 DNS 指向新機器,或設定負載平衡的選項。

9.6. 使用 Stand-Alone Database 建立冗餘的衛星伺服器

讓含有 Embedded Database 的衛星伺服器保持複製選項,您可以透過建立冗餘的衛星伺服器,將此種衛星伺服器停止服務的機率降到最低。跟完整複製含有 Embedded Database 的衛星伺服器不同,含有 Stand-Alone Database 的冗餘衛星伺服器是一台運作中、同時也是待命中的衛星伺服器。這跟您的網路拓樸有關,與這裡列出的步驟無關。

過程 9.1. 建立使用 Stand-Alone Database 的冗餘衛星伺服器

  1. 使用 Oracle 建立備援資料庫的建議,準備 Stand-Alone Database。請諮詢您的資料庫管理者。
  2. 在一部獨立的系統上安裝使用 Stand-Alone Database 的 RHN 衛星伺服器,跳過資料庫配置、資料庫 schema、SSL 憑證,以及 bootstrap script 產生步驟。請包含在與進行初始衛星伺服器安裝程序時,所提供的相同 RHN 帳號與資料庫連線資訊,並註冊新的衛星伺服器。欲取得更多相關資訊,請參閱 節 4.3, “安裝程式 Script 程序”
    若您原始的 SSL 憑證無法適用於您的高可用性解決方案,請重新建立一個包含適用的一般名稱值的憑證(請查看《RHN 衛星伺服器客戶端配置指南》中的《3.2. RHN SSL 維護工具》)。在此情況下,請產生新的 bootstrap script(如《RHN 衛星伺服器客戶端配置指南》中的《5.2. 產生 RHN Bootstrap Script>》所定義)並擷取這個新的值。請確認一般名稱值代表整體的衛星伺服器解決方案,而非單一機器的主機名稱。
  3. 安裝後,請將以下檔案從主衛星伺服器複製到次衛星伺服器:
    • /etc/rhn/rhn.conf
    • /etc/tnsnames.ora
    • /var/www/rhns/server/secret/rhnSecret.py
  4. 將伺服器端的 SSL 憑證 RPM 由主要的衛星伺服器複製並安裝至次要的衛星伺服器上。
    如果您在安裝次衛星伺服器時,產生了新的 SSL 憑證,其中包括新的【一般名稱】值,請將次要伺服器的 RPM 複製至主要的衛星伺服器上,並重新發送用戶端的憑證。如果您建立了另一個 bootstrap script,請使用此 script 來將憑證安裝到用戶端系統上。
  5. 如果您並未建立新的 bootstrap 程序檔,請將主衛星伺服器的 /var/www/html/pub/bootstrap/ 內容複製到次伺服器上。如果您產生了新的程序檔,請將那目錄的內容複製到主伺服器上。
  6. 請使用以下指令,關閉次要衛星伺服器上的 Red Hat Network Task Engine
    /sbin/service taskomatic stop
    
    您可以使用自訂的程序檔,或其它方式來在次要衛星伺服器上,建立 Red Hat Network Task Engine 的自動啟動/備援機制。無論如何,在進行備援時,它將需要能夠啟動。
  7. 在衛星伺服器間透過網路儲存裝置來分享頻道套件的資料(預設的位置是 /var/satellite)。這能降低資料的複製,並確保每台衛星伺服器所儲存的資料一致。
  8. 在衛星伺服器間透過一些類型的網路儲存裝置來分享資料(預設的位置位於 /var/cache/rhn 中)。這能降低資料的重複性,並確保每台衛星伺服器所儲存的資料都能一致。
  9. 透過「一般名稱」與適合您網路架構的方法,讓多台衛星伺服器存取網路。這些方式包括 Round-robin DNS - 網路負載平衡的一種方式,以及反向代理的設定。

9.7. 更改衛星伺服器的主機名稱

若您需要更改您衛星伺服器的主機名稱或 IP 位址,spacewalk-utils 套件包含了 spacewalk-hostname-rename script。
若要使用 spacewalk-hostname-rename script,您首先必須藉由執行下列指令,來確認您知道您的 SSL CA 密碼為何:
openssl rsa -in path/RHN-ORG-PRIVATE-SSL-KEY
接著請在提示出現時輸入密碼。
spacewalk-hostname-rename 需要一項必要的引數,也就是衛星伺服器的 IP 位址,無論 IP 位址是否會和主機名稱一起改變。
spacewalk-hostname-rename 的使用方法如下:
spacewalk-hostname-rename <ip address> [ --ssl-country=<country> --ssl-state=<state>\
--ssl-org=<organization/company> --ssl-orgunit=<department> --ssl-email=<email address> --ssl-ca-password=<password>]
若有需要產生新的 SSL 憑證,所有必要的資訊皆會透過數個提示,以互動式的方式詢問,除非選項乃透過指令列傳送(如上述範例)。當系統主機名稱沒有改變時,便沒有需要產生新的 SSL 伺服器憑證。然而,若指定了至少一個 SSL 選項,那麼 spacewalk-hostname-rename 便會產生憑證。
欲取得更多有關於使用 spacewalk-hostname-rename 上的相關資訊,請參閱下列 Red Hat 知識庫項目:

9.8. 進行衛星伺服器的特定工作

使用 RHN 衛星伺服器和使用 hosted 版本的 RHN 非常相似。因此,對於標準的工作,例如編輯系統設定檔與升級套件,請參閱《RHN 參考指南》,以獲得更進一步的指示。與管理自訂頻道與勘誤的工作皆包含在《RHN 頻道管理指南》中。本節所解釋的活動僅限於衛星伺服器的用戶。

9.8.1. 刪除使用者

由於 RHN 衛星伺服器的運作環境較為封閉,衛星伺服器的用戶擁有刪除使用者的能力。要存取這功能,請按下 RHN 網站上方導覽列的「使用者」。在接下來的使用者清單中,請按下您想要刪除的使用者名稱。這會帶領您到「使用者的詳細資料」網頁。請按下網頁右上角的「刪除使用者」連結。
刪除使用者

圖形 9.1. 刪除使用者

接下來會出現確認頁,告訴您刪除動作無法復原。要繼續,請按下這網頁右下方的「刪除使用者」。

注意

要從 RHN 衛星伺服器刪除使用者之前,組織管理者的角色必須先從使用者的設定檔移除。不這麼做的話,刪除動作將會失敗。
組織管理員角色可以由任何組織管理員(假設不是組織中唯一的組織管理員)按下「使用者」分頁,然後檢視「詳細資料」子分頁來移除。
確認刪除使用者

圖形 9.2. 確認刪除使用者

管理使用者還有其它選項。您可在《RHN 參考指南‧RHN 網站》章節中找到指示。

9.9. 自動化同步作業

用 RHN 來手動同步 RHN 衛星伺服器的內容,是非常艱鉅的任務。RHN 的尖峰時間為美國的上班時間,因此在這段時間進行同步可能會較慢。因此,Red Hat 建議您在其他時段排程同步的工作,負載平衡較好,同步速度較快。美國的上班時間因為橫跨了四個時區,因此大約為週一到週五的 8:00 AM 到 9:00 PM EST (UTC -5)(臺灣、香港、中國大陸的時間為 9:00 PM 到 10:00 AM)。因為季節的關係,這時段可能還會有一小時的差別。「除此之外,Red Hat 強烈建議您以亂數方式執行同步,以獲取最佳效能。
這自動化可以用簡單的 cron job 來完成。要達到這目的,請以 root 身份編輯 crontab:
crontab -e
這會在文書編輯器中開啟 crontab,預設是 vi。您可以修改 EDITOR 變數,以使用另一種編輯器,例如 export EDITOR=gedit
開啟之後,請使用前五個欄位(分鐘、小時、天、月、以及星期幾)來排程同步作業。請記得,小時用的是廿四小時時制。請編輯 crontab 以包括亂數同步,例如:
0 1 * * * perl -le 'sleep rand 9000' && satellite-sync --email >/dev/null \
2>/dev/null
這項工作會在每晚系統時間的凌晨一點到三點半之間執行,並將 cronstdoutstderr 重新導向,以避免複製來自於 satellite-sync 的易讀訊息。您亦可使用其它選項,例如 --email。欲取得完整的選項清單,請參閱 表格 6.1, “satellite-sync 選項”。當您退出文書編輯器之後,經過修改的 crontab 便會即刻被安裝。

9.10. 使用 PAM 身份認證

RHN 衛星伺服器透過 PAM(Pluggable Authentication Module)支援網路為基礎的認證系統,例如 LDAP 與 Kerberos。PAM 是一系列的函式庫,可幫助系統管理者將衛星伺服器與身分認證機制整合在一起,降低記憶多組密碼的需要。

注意

請安裝 pam-devel 套件以確保 PAM 認證能正常運作。

配置 RHN 衛星伺服器以使用 PAM

  1. /etc/pam.d/ 目錄中建立 PAM 服務檔案:
    touch /etc/pam.d/rhn-satellite
  2. 使用以下資訊編輯檔案:
    auth        required      pam_env.so
    auth        sufficient    pam_sss.so 
    auth        required      pam_deny.so
    account     sufficient    pam_sss.so
    account     required      pam_deny.so
    
  3. Instruct the satellite to use the PAM service file by adding the following line to the /etc/rhn/rhn.conf file:
    pam_auth_service = rhn-satellite
  4. 重新啟動服務,套用變更:
    rhn-satellite restart
    
  5. 讓某些使用者透過 PAM 來進行身份認證。請選擇名為嵌入式認證模組(PAM)的勾選項。它位在建立使用者網頁中,使用者與密碼確認欄的下方。

9.11. 允許向用戶端推送資料

除了讓用戶端的系統定期輪詢衛星伺服器,以進行排程動作之外,您亦可讓衛星伺服器立即在擁有「供給」權利的系統上進行這些工作。傳統上,排程工作與用戶端向 RHN 檢查、下載資料之間會有一段時差;這可避免此問題。這項支援是由 OSA 發送器(osa-dispatcher)所提供的。
OSA dispatcher 這項服務會週期性執行一項查詢,以檢查衛星伺服器是否有任何在客戶端上未執行的指令。若有的話,它便會將一則訊息透過 jabberd 傳送給在其它客戶端上執行的 osad 事例。

重要

要使用這項功能,衛星伺服器與用戶端之間必須使用 SSL。如果 SSL 憑證無法使用,用戶端的系統程式就會拒絕連線。
若要善用這項功能,您首先必須配置防火牆規則,以讓程式從特定的連接埠連進來,如 節 2.4, “額外需求” 中所述。
然後您必須安裝 osa-dispatcher 套件,這可以在 RHN 網站上,RHN 衛星伺服器的軟體頻道中找到。安裝後,請以 root 身份執行以下指令,在衛星伺服器上啟動該服務:
service osa-dispatcher start
最後,在所有要收取資料的用戶端安裝 osad 套件。此套件可以在 RHN 衛星伺服器上的系統的 RHN 工具子頻道中找到。

警告

請勿osad 套件安裝在衛星伺服器上,因為它會和安裝在衛星伺服器上的 osa-dispatcher 套件產生衝突。
安裝結束後,請透過使用下列指令來以 root 身份在客戶端系統上啟用該服務:
service osad start
跟其他服務一樣,osa-dispatcherosad 都接受 stoprestart、以及 status 指令。
請記得,這功能端視用戶端能不能獲得衛星伺服器的 FQDN 而定。設定 Red Hat Update Agent 時,您必須設定伺服器的名稱(而非 IP 位址)。欲知詳情,請參閱《RHN 用戶端設定指南》。
現在當您從衛星伺服器排程任何與推送資料有關系統的工作時,這工作會馬上執行,而非等到系統登入檢查時,才開始進行。

章 10. 疑難排解

本章節所提供的提示能幫助您找出問題的成因,並解決 RHN 衛星伺服器上常見的問題。如果您需要額外的協助,請於 https://access.redhat.com/support/ 聯絡 Red Hat Network 支援團隊。請以您享有衛星伺服器權利的帳號登入,檢視完整的選項清單。
若要開始為一般問題進行疑難排解,請檢視與出錯元件相關的日誌檔案,查看是否發生過錯誤。您可以使用 tail -f 指令來檢視所有紀錄檔,然後執行 yum list。您接下來應該檢視所有新的日誌檔案,以找尋線索。
另一個常見的問題就是磁碟空間滿出。當磁碟空間已滿時,您大概回發現日誌檔不再寫入新資訊。如果紀錄在寫入一半時中止(例如一串字只完成一半),就極可能代表已沒有足夠的磁碟空間了。若要進行確認,請執行以下指令,檢查 Use% 欄位的百分比:
# df -h
除了日誌檔之外,您亦可查看 Red Hat Network 衛星伺服器及其多種元件的狀態。您可透過執行以下指令來這麼作:
# /usr/sbin/rhn-satellite status
除此之外,您亦可獲得各元件的狀態資訊,例如 Apache 網站伺服器與 Red Hat Network 任務引擎。舉例來說,若要檢視 Apache 網站伺服器的狀態,請執行下列指令:
# service httpd status
10.1. 安裝和更新
問: 當我嘗試進行安裝時,SELinux 一直顯示訊息。這是為什麼?
問: 我把 /var/satellite 變更為 NFS 掛載目錄之後,SELinux 無法正常運作。我該怎麼做?
問: 我的衛星伺服器失效了。這是為什麼?
10.2. 服務
問: 為何 Apache 網站伺服器無法執行?
問: 如何查詢 Red Hat Network 任務引擎 的狀態?
問: 如何查詢衛星伺服器 Embedded Database(內嵌式資料庫)的狀態?
問: 若 Red Hat Network 衛星伺服器的 yum、up2date 或推送功能失效的話,我該怎麼作?
10.3. 連結性
問: 我無法連線!應該如何找出問題?
問: 如果匯入/同步頻道的過程失敗,並且無法修復,那該怎麼作?
問: 我收到了「SSL_CONNECT」錯誤。應該怎麼作?
10.4. 紀錄與回報
問: 不同的日誌檔案有哪些?
問: 如何使用 spacewalk-report?
問: 我該如何判斷資料庫綱要的版本?
問: 我該如何找出字元集類型為何?
問: 為何管理員沒有收到電子郵件?
問: 我該如何更改 traceback 郵件的寄件者?
10.5. 錯誤
問: 我在進行 Red Hat Network 衛星伺服器安裝程序時收到了「驗證衛星伺服器憑證失敗」錯誤,我該如何修正這項錯誤?
問: 當嘗試啟用或同步 Red Hat Network 衛星伺服器時,我收到了「錯誤:配置檔案中尚未設置 server.mount_point」這項錯誤。應該如何修正這項問題?
問: 為何 cobbler check 發出了一項錯誤顯示它需要不同版本的 yum-utils?
問: 當我嘗試啟用 Red Hat Network 衛星伺服器憑證時,我收到了「不支援的版本」這項錯誤。應該如何修正這項問題?
問: 當我嘗試編輯 kickstart 設定檔時,我收到了「內部伺服器錯誤」的 ASCII 錯誤。這是怎麼了?
問: 我收到了「找不到主機」或「無法判斷 FQDN」這些錯誤。我現在應該怎麼作?
問: 當我嘗試同步 Red Hat Network 衛星伺服器時,我收到了「這部伺服器並非經授權的衛星伺服器」這項錯誤。我應該如何修正這項問題?

10.1. 安裝和更新

問:
當我嘗試進行安裝時,SELinux 一直顯示訊息。這是為什麼?
答:
若您在安裝 Red Hat Network 衛星伺服器時,遇上了任何有關於 SELinux 訊息的問題(例如 AVC 拒絕訊息),請確認您可存取 audit.log 檔案,如此一來 Red Hat 的支援人員便可協助您。您可在 /var/log/audit/audit.log 中找到此檔案,並可將該檔案附加至您的 Support 申請單,以讓工程人員協助您。
問:
我把 /var/satellite 變更為 NFS 掛載目錄之後,SELinux 無法正常運作。我該怎麼做?
答:
您必須通知 SELinux 關於此 NFS 掛載目錄,以允許網路交通。請執行以下指令:
# /usr/sbin/setsebool -P spacewalk_nfs_mountpoint on
如果您使用的是 Red Hat Enterprise Linux 6,也須執行此指令:
# /usr/sbin/setsebool -P cobbler_use_nfs on
問:
我的衛星伺服器失效了。這是為什麼?
答:
不要讓您的 Red Hat Network 衛星伺服器訂閱來自 RHN 中央伺服器的任何以下子頻道:
  • Red Hat Developer Suite
  • Red Hat Application Server
  • Red Hat Extras
  • JBoss 產品頻道
訂閱這些頻道、更新衛星伺服器可能會安裝較新但不相容的重大軟體元件,導致衛星伺服器失敗。

10.2. 服務

問:
為何 Apache 網站伺服器無法執行?
答:
若 Apache 網站伺服器沒有在運作,您 /etc/hosts 檔案中的項目可能不正確。
問:
如何查詢 Red Hat Network 任務引擎 的狀態?
答:
欲取得 Red Hat Network 任務引擎 的狀態,請執行以下指令:
# service taskomatic status
問:
如何查詢衛星伺服器 Embedded Database(內嵌式資料庫)的狀態?
答:
欲取得衛星伺服器 Embedded Database 的狀態(若存在的話),請執行下列指令:
# service oracle status
問:
若 Red Hat Network 衛星伺服器的 yumup2date 或推送功能失效的話,我該怎麼作?
答:
yumup2date 或 Red Hat Network 衛星伺服器的推送功能停止運作,那可能是舊的日誌檔案出了問題。在刪除這些檔案之前,請先停止 jabberd daemon。若要進行這項動作,請以 root 身份輸入以下指令:
# service jabberd stop
# rm -f /var/lib/jabberd/db/_db*
# service jabberd start

10.3. 連結性

問:
我無法連線!應該如何找出問題?
答:
以下的方法可用來為一般連線問題進行疑難排解:
  • 使用 /etc/rhn/rhn.conf 中的正確字串,來嘗試使用指令列連接 Red Hat Network 衛星伺服器的資料庫:
    # sqlplus username/password@sid
  • 確認 Red Hat Network 衛星伺服器使用了網路時間通訊協定(NTP),並設成了適當的時區。這也適用於所有的用戶端系統,以及在 Red Hat Network 衛星伺服器(搭配 Stand-Alone Database)的各別資料庫。
  • 請確認正確的套件:
    rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm 
    已安裝在 Red Hat Network 衛星伺服器上,同時相對應的 rhn-org-trusted-ssl-cert-*.noarch.rpm或原始 CA SSL 公開(客戶端)認證已安裝至所有用戶端系統上。
  • 驗證用戶端系統皆已設定為使用適當的認證。
  • 若使用一或多個 Red Hat Network 代理伺服器,請確保每個代理伺服器的 SSL 憑證皆已正確準備。代理伺服器應安裝了它自己的 SSL 金鑰配對,以及 CA SSL(用戶端)的憑證,因為它需要服務兩方的需要。請參閱《RHN 用戶端配置指南》的 SSL 憑證一章,以尋求特定指示。
  • 請確定用戶端系統沒有自行使用防火牆,並擋掉了必要的連接埠,如 節 2.4, “額外需求” 中所述。
問:
如果匯入/同步頻道的過程失敗,並且無法修復,那該怎麼作?
答:
如果匯入/同步頻道的過程失敗,並且您無法以任何方式修復,請執行下列指令以刪除快取:
# rm -rf temporary-directory

注意

節 6.2.1, “準備從本機媒體匯入”〉指定了 /var/rhn-sat-import/ 作為暫存目錄。
接下來,請重新啟動匯入或同步程序。
問:
我收到了「SSL_CONNECT」錯誤。應該怎麼作?
答:
SSL_CONNECT 是常見的連線問題,這是因為衛星伺服器在安裝時,時間設定不正確。在衛星伺服器的安裝階段,SSL 認證依照不正確的時間產生。在修正了衛星伺服器的時間之後,此認證建立的日期與時間可能設為了未來式,造成錯誤。
若要修正這項問題,請使用以下指令,檢查用戶端與衛星伺服器的時間與日期:
# date
所有機器的結果都應該相同,且界於「notBefore」與「notAfter」的認證期之間。請用下列指令,檢查用戶端認證的時間與日期。
# openssl x509 -dates -noout -in /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
請用下列指令檢查衛星伺服器認證的日期與時間:
# openssl x509 -dates -noout -in /etc/httpd/conf/ssl.crt/server.crt
就預設值,伺服器的認證時效為一年,用戶端的認證為十年。如果您發現認證不正確,您可以等待有效的開始時間,或建立新的認證,建議您將所有的系統時間設為 GMT。

10.4. 紀錄與回報

問:
不同的日誌檔案有哪些?
答:
幾乎所有疑難排解皆從查看相關日誌檔案開始。這些檔案提供了寶貴的資訊,讓您知道裝置曾經發生過哪些事情,或是查看哪些應用程式造成了效能上的問題,以確保正確的配置。欲取得所有相關設定檔的路徑,請參閱 表格 10.1, “日誌檔案”
/var/log/rhn/ 目錄中可能會有已編號的日誌檔案(例如 /var/log/rhn/rhn_satellite_install.log.1、/var/log/rhn/rhn_satellite_install.log.2 等等)。這些屬於循環日誌,它們會在目前的 rhn_satellite_install.log 檔案填滿至 logrotate(8) daemon 所指定的大小,並且內容寫到循環日誌檔案時所被以 .<NUMBER> 副檔名建立的日誌檔案。比方說,rhn_satellite_install.log.1 包含了最舊的循環日誌檔案,而 rhn_satellite_install.log.4 則包含了最近的循環日誌。

表格 10.1. 日誌檔案

元件/工作 日誌檔案的位置
Apache 網站伺服器 /var/log/httpd/ 目錄
Red Hat Network 衛星伺服器 /var/log/rhn/ 目錄
Red Hat Network 衛星伺服器安裝計畫 /var/log/rhn/rhn_satellite_install.log
資料庫安裝 - Embedded Database /var/log/rhn/install_db.log
資料庫導入 /var/log/rhn/populate_db.log
Red Hat Network 衛星伺服器同步工具 /var/log/rhn/rhn_server_satellite.log
監控架構 /var/log/nocpulse/ 目錄
監控通知 /var/log/notification/ 目錄
Red Hat Network DB Control - Embedded Database /var/log/rhn/rhn_database.log
Red Hat Network 任務引擎 (taskomatic) /var/log/messages
yum /var/log/yum.log
XML-RPC 交易 /var/log/rhn/rhn_server_xmlrpc.log
問:
如何使用 spacewalk-report
答:
在某些情況下,系統管理員可能會需要其 Red Hat Network 衛星伺服器資源的簡明概要,用於編制他們的權利、訂閱系統,或使用者與組織。與其由衛星伺服器網站介面手動式蒐集這些資訊,Red Hat Network 衛星伺服器包含了 spacewalk-report 指令,以一次性地蒐集和顯示重要的衛星伺服器資訊。

注意

若要使用 spacewalk-report,您必須安裝 spacewalk-reports 套件。
spacewalk-report 能讓系統管理員管理、顯示衛星伺服器上,有關於內容、系統和使用者資源的報告。當使用 spacewalk-report 時,您可取得這些相關報告:
  • 系統清單 — 列出已註冊至衛星伺服器的所有系統。
  • 權利 — 列出衛星伺服器上的所有組織,並以系統或頻道權利來進行排序。
  • 勘誤 — 列出所有與已註冊的系統相關的勘誤,並以嚴重性以及適用於特定勘誤的系統來排序勘誤。
  • 使用者 — 列出已註冊至衛星伺服器的所有使用者,並列出與特定使用者相聯的任何系統。
  • 系統的歷史紀錄 — 列出全部或部分的系統事件。
要取得 CSV 格式的報表,請在衛星伺服器上執行以下指令。
# spacewalk-report report_name
以下為可使用的報告:

表格 10.2. spacewalk-report 報告

報告 引動為 描述
系統清單 inventory 已註冊至伺服器的系統,以及其硬體與軟體資訊。
權利 entitlements 列出衛星伺服器上所有組織,以及其系統或頻道權利。
頻道中的勘誤 errata-channels 列出頻道中的勘誤
所有勘誤 errata-list-all 所有勘誤的完整清單。
系統勘誤 errata-systems 列出可用的勘誤,以及任何受影響的已註冊系統。
系統中的使用者 users 列出所有已註冊至衛星伺服器的使用者。
已管理的系統 users-systems 列出可以由個別使用者管理的系統
Kickstart 樹 kickstartable-trees 列出可以 kickstart 的樹
系統的歷史紀錄 system-history 列出系統的事件記錄
系統的歷史紀錄─頻道 system-history-channels 列出系統的事件記錄
系統的歷史紀錄─配置 system-history-configuration 列出系統配置事件的歷史紀錄
系統的歷史事件─權利 system-history-entitlements 列出系統權利事件的歷史紀錄
系統的歷史紀錄─勘誤 system-history-errata 列出系統勘誤事件的歷史紀錄
系統歷史紀錄的 kickstart system-history-kickstart 列出系統 kickstart 與供給事件的歷史紀錄
系統的歷史紀錄─套件 system-history-packages 列出系統套件事件的歷史紀錄
欲取得各別報告上的相關資訊,請執行 spacewalk-report 搭配 --info--list-fields-info 以及報告名稱。報告中的描述與其欄位將會被顯示。
欲取得更多資訊,spacewalk-report(8) manpage 與 spacewalk-report 程式的 --help 參數,皆可被使用來取得有關於該程式的執行,以及其選項上的額外資訊。
問:
我該如何判斷資料庫綱要的版本?
答:
若要判斷您資料庫綱要的版本,請執行以下指令:
# rhn-schema-version
問:
我該如何找出字元集類型為何?
答:
要辨別您衛星伺服器資料庫的字元集,請執行以下指令:
# rhn-charsets
問:
為何管理員沒有收到電子郵件?
答:
如果管理員無法從 Red Hat Network 衛星伺服器獲得電子郵件,請確定 /etc/rhn/rhn.conf 檔案中的 traceback_mail 設置了正確的電子郵件位址。
問:
我該如何更改 traceback 郵件的寄件者?
答:
如果 traceback 郵件是由 dev-null@rhn.redhat.com 所標記,而您希望您組織能使用該位址,請將 web.default_mail_from 選項與適當的值包含在 /etc/rhn/rhn.conf 中。

10.5. 錯誤

問:
我在進行 Red Hat Network 衛星伺服器安裝程序時收到了「驗證衛星伺服器憑證失敗」錯誤,我該如何修正這項錯誤?
答:
進行 Red Hat Network 衛星伺服器安裝程序時所發生的「驗證衛星伺服器憑證失敗」這項錯誤,是因為環境中含有 HTTP 代理伺服器所產生的。這可透過查看 install.log 檔案,並找出下列錯誤來進行確認:
ERROR: unhandled exception occurred: 
Traceback (most recent call last): 
  File "/usr/bin/rhn-satellite-activate", line 45, in ? 
    sys.exit(abs(mod.main() or 0)) 
  File "/usr/share/rhn/satellite_tools/rhn_satellite_activate.py", line 585, in main 
    activateSatellite_remote(options) 
  File "/usr/share/rhn/satellite_tools/rhn_satellite_activate.py", line 291, in activateSatellite_remote 
    ret = s.satellite.deactivate_satellite(systemid, rhn_cert) 
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 603, in __call__ 
    return self._send(self._name, args) 
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 326, in _request 
    self._handler, request, verbose=self._verbose) 
  File "/usr/lib/python2.4/site-packages/rhn/transports.py", line 171, in request 
    headers, fd = req.send_http(host, handler) 
  File "/usr/lib/python2.4/site-packages/rhn/transports.py", line 698, in send_http 
    self._connection.connect() 
  File "/usr/lib/python2.4/site-packages/rhn/connections.py", line 193, in connect 
    sock.connect((self.host, self.port)) 
  File "<string>", line 1, in connect 
socket.timeout: timed out
若要解決此問題:
  1. 請在離線模式下執行安裝 script,並跳過先前已完成的資料庫安裝程序:
    # ./install.pl --disconnected --skip-db-install
    
  2. 請以您偏好使用的文字編輯器開啟 /etc/rhn/rhn.conf,並新增或修改下列一行:
    server.satellite.rhn_parent = satellite.rhn.redhat.com
    
    移除下列一行:
    disconnected=1
    
    若您使用代理伺服器來連至 Red Hat Network 衛星伺服器,您也將會需要新增或修改下列行列,以反映代理伺服器的設定。
    server.satellite.http_proxy = <hostname>:<port>
    server.satellite.http_proxy_username = <username>
    server.satellite.http_proxy_password = <password>
    
  3. 重新將衛星伺服器啟動在連線模式中,請以 root 使用者身份來使用 rhn-satellite-activate 指令,包括衛星伺服器憑證的路徑與檔案名稱:
    # rhn-satellite-activate --rhn-cert=/path/to/file.cert
此外,請嘗試在連線模式下執行 install.pl script,並使用 --answer-file=answer file 選項。請確認回應檔案的 HTTP 代理伺服器資訊指定如下:
rhn-http-proxy = <hostname>:<port>
rhn-http-proxy-username = <username>
rhn-http-proxy-password = <password>
問:
當嘗試啟用或同步 Red Hat Network 衛星伺服器時,我收到了「錯誤:配置檔案中尚未設置 server.mount_point」這項錯誤。應該如何修正這項問題?
答:
/etc/rhn/rhn.conf 中的 mount_point 配置檔案沒有指向一個目錄路徑,或是它所指向的目錄路徑不存在,或沒有存取該目錄的權限的話,進行 Red Hat Network 衛星伺服器啟用或同步時,便可能會發生「錯誤:配置檔案中尚未設置 server.mount_point」這項錯誤。
若要解決這項問題,請檢查 /etc/rhn/rhn.conf 中,mount_point 配置參數的值。若它設為了 /var/satellite 的預設值,請驗證 /var/satellite/var/satellite/redhat 目錄是否存在。對於其它所有的值,請檢查檔案的路徑是否正確,並且權限的設置是否正確。
問:
為何 cobbler check 發出了一項錯誤顯示它需要不同版本的 yum-utils
答:
有時候,執行 cobbler check 指令會產生類似以下的錯誤:
# cobbler check 
The following potential problems were detected: 
#0: yum-utils need to be at least version 1.1.17 for reposync -l, current version is 1.1.16
這是一項 Cobbler 的 reposync 套件中的已知問題。這項錯誤是假性的,可以忽略。這項錯誤在未來的 Red Hat Network 衛星伺服器版本中將會修正。
問:
當我嘗試啟用 Red Hat Network 衛星伺服器憑證時,我收到了「不支援的版本」這項錯誤。應該如何修正這項問題?
答:
若您的 Red Hat Network 衛星伺服器憑證已損毀,您可能會看見下列錯誤:
ERROR: <Fault -2: 'unhandled internal exception: unsupported version: 96'>
RHN_PARENT: satellite.rhn.redhat.com
     Error reported from RHN: <Fault -2: 'unhandled internal exception: unsupported version: 115'>
     ERROR: unhandled XMLRPC fault upon remote activation: <Fault -2: 'unhandled internal exception: unsupported version: 115'>
     ERROR: <Fault -2: 'unhandled internal exception: unsupported version: 115'>
Invalid satellite certificate
若要解決這項問題,請聯絡 Red Hat 支援服務,以取得新的憑證。
問:
當我嘗試編輯 kickstart 設定檔時,我收到了「內部伺服器錯誤」的 ASCII 錯誤。這是怎麼了?
答:
若您最近新增了某些 kernel 參數至您的 kickstart 設定檔,您可能在嘗試「檢視 Kickstart 設定檔清單」時,會看見下列內部伺服器錯誤:
'ascii' codec can't encode character u'\u2013'
這項錯誤發生的原因是因為設定檔中可能有無法正確辨識的文字。
若要解決此問題:
  1. 請以 root 使用者身份直接 SSH 入衛星伺服器中:
    # ssh root@satellite.fqdn.com
    
  2. 請藉由查看 /var/lib/cobbler/config/profiles.d 中的檔案日期,並找出最近編輯過的檔案,以找出造成問題的 kickstart 設定檔:
    # ls -l /var/lib/cobbler/config/profiles.d/
    
  3. 請在您偏好的文字編輯器中開啟設定檔,並找出下列文字:
    \u2013hostname
    
    請將項目更改為:
    --hostname
    
  4. 儲存變更並將檔案關閉。
  5. 請重新啟用 Red Hat Network 衛星伺服器服務,以套用更新過後的設定檔:
    # rhn-satellite restart
    Shutting down rhn-satellite...
    Stopping RHN Taskomatic...
    Stopped RHN Taskomatic.
    Stopping cobbler daemon:                                   [  OK  ]
    Stopping rhn-search...
    Stopped rhn-search.
    Stopping MonitoringScout ...                               [  OK  ]
    Stopping Monitoring ...                                    [  OK  ]
    Stopping httpd:                                            [  OK  ]
    Stopping tomcat5:                                          [  OK  ]
    Shutting down osa-dispatcher:                              [  OK  ]
    Shutting down Oracle Net Listener ...                      [  OK  ]
    Shutting down Oracle DB instance "rhnsat" ...              [  OK  ]
    Shutting down Jabber router:                               [  OK  ]
    Done.
    Starting rhn-satellite...
    Starting Jabber services                                   [  OK  ]
    Starting Oracle Net Listener ...                           [  OK  ]
    Starting Oracle DB instance "rhnsat" ...                   [  OK  ]
    Starting osa-dispatcher:                                   [  OK  ]
    Starting tomcat5:                                          [  OK  ]
    Starting httpd:                                            [  OK  ]
    Starting Monitoring ...                                    [  OK  ]
    Starting MonitoringScout ...                               [  OK  ]
    Starting rhn-search...
    Starting cobbler daemon:                                   [  OK  ]
    Starting RHN Taskomatic...
    Done.
    
  6. 返回至網站介面。請注意,介面可能會花上一段時間解析服務,不過數分鐘過後應恢復正常。
問:
我收到了「找不到主機」或「無法判斷 FQDN」這些錯誤。我現在應該怎麼作?
答:
由於 RHN 的配置檔案完全獨立依靠 FQDN 來運作,因此主要應用程式必須要能將 RHN 衛星伺服器的名稱解析為 IP 位址。Red Hat 更新代理程式Red Hat Network 註冊用戶端 和 Apache 網站伺服器皆特別容易受這項問題影響(當無法啟動時,RHN 應用程式會發出「找不到主機」的錯誤,並且網站伺服器則會出現「無法判斷伺服器的 FQDN」)。
這項問題一般源於 /etc/hosts 檔案。您可藉由檢視 /etc/nsswitch.conf 來確認,並藉此看出網域名稱解析的方法與次序。通常會先檢查 /etc/hosts,然後是 NIS(Network Information Service,如果有的話),最後是 DNS。這三項的其中一項必須成功,Apache 網站伺服器才能啟動,RHN 的用戶端應用程才能運作。
若要解決這項問題,請檢查 /etc/hosts 的內容,它會看似:
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
首先,請在文字編輯器中,移除錯誤的機器資訊,例如:
127.0.0.1 localhost.localdomain.com localhost
然後,請儲存檔案,並嘗試重新執行 RHN 用戶端應用程式或 Apache 網站伺服器。若依然失敗,請直接在檔案中指定衛星伺服器的 IP 位址,例如:
127.0.0.1 localhost.localdomain.com localhost
123.45.67.8 this_machine.example.com this_machine
請以衛星伺服器實際的 IP 位址取代這個值。如此應該就能解決這項問題。請記得,如果您已經律定了特定的 IP 位址,當機器獲得新的 IP 位址時,請更新此檔案。
問:
當我嘗試同步 Red Hat Network 衛星伺服器時,我收到了「這部伺服器並非經授權的衛星伺服器」這項錯誤。我應該如何修正這項問題?
答:
satellite-sync 回報伺服器尚未作為 RHN 衛星伺服器啟用的話,這部伺服器便尚未向相應的 RHN 衛星伺服器頻道訂閱。若這是部新安裝的系統,那麼系統上的衛星伺服器憑證可能尚未啟用。若它先前已啟用的話,那麼則代表它已被停用。
檢查系統的子頻道,看看是否訂閱了 Red Hat Network 衛星伺服器頻道。請以以下指令檢視已訂閱的頻道:
# yum repolist
請以 root 使用者身份輸入這項指令,以再次在您的衛星伺服器上啟用相同的衛星伺服器憑證:
# rhn-satellite-activate -vvv --rhn-cert=/path/to/certificate

注意

如果這些疑難排解的方法皆無效,或是您想將問題留給 RHN 的專家,Red Hat 建議您善用 Red Hat Network 衛星伺服器最高等級的支援。最有效率的方式,就是將衛星伺服器的配置參數、日誌檔案、以及資料庫資料集結在一起,並直接將此套件寄給 Red Hat。
RHN 為此目的提供了指令列工具:衛星伺服器診斷資訊蒐集程式,指令為 satellite-debug。若要使用這工具,請以 root 身份執行這項指令。您將會看見所有資訊,以及單一壓縮檔,例如:
# satellite-debug
Collecting and packaging relevant diagnostic information.
Warning: this may take some time...
    * copying configuration information
    * copying logs
    * querying RPM database (versioning of RHN Satellite, etc.)
    * querying schema version and database character sets
    * get diskspace available
    * timestamping
    * creating tarball (may take some time): /tmp/satellite-debug.tar.bz2
    * removing temporary debug tree
 
Debug dump created, stored in /tmp/satellite-debug.tar.bz2
Deliver the generated tarball to your RHN contact or support channel.
完成後,請將此新檔案由 /tmp/ 目錄寄給您的 Red Hat 代表,以立即進行診斷。

附錄 A. RHN 衛星伺服器配置檔的範例

Red Hat Network 衛星伺服器的配置檔案 /etc/rhn/rhn.conf 為您提供了主要的設定。但是請注意,未能正確設定此檔案,可能會造成衛星伺服器無法正常運作。因此,請小心配置此檔案。
請特別留意以下參數:traceback_mail、default_db、以及 server.satellite.http_proxy。請參閱範例與其註解(該行以 # 為起始),以獲得額外資訊。
#/etc/rhn/rhn.conf example for an RHN Satellite
#----------------------------------------------

# Destination of all tracebacks, such as crash information, etc.
traceback_mail = test@pobox.com, test@redhat.com

# Location of RPMs (Red Hat and custom) served by the RHN Satellite
mount_point = /var/satellite

# Corporate gateway (hostname:PORT):
server.satellite.http_proxy = corporate_gateway.example.com:8080
server.satellite.http_proxy_username = 
server.satellite.http_proxy_password = 

# Database connection information username/password@SID
default_db = test01/test01@test01


### DON'T TOUCH ANY OF THE FOLLOWING ###
web.satellite = 1

web.session_swap_secret_1 = ea6c79f71cfcf307d567fed583c393b9
web.session_swap_secret_2 = 01dee83a7b7f27157f5335744eb02327
web.session_swap_secret_3 = 4e89e7697ce663149ca9e498cbc08b4f
web.session_swap_secret_4 = a0fed2d77a950fc9a800b450a45e89d2

web.session_secret_1 = 24bc562e04c9b93f5be94f793738e104
web.session_secret_2 = 7667a7c2db311b1ea04271ecc1b82314
web.session_secret_3 = 442e7dc4f06f63eba9a0408d499c6a8d
web.session_secret_4 = 587a0db47856f685d989095629a9bd6f

encrypted_passwords = 1

web.param_cleansers = RHN::Cleansers->cleanse
web.base_acls = RHN::Access

web.default_taskmaster_tasks = RHN::Task::SessionCleanup,
                               RHN::Task::ErrataQueue, 
                               RHN::Task::ErrataEngine, 
                               RHN::Task::DailySummary, 
                               RHN::Task::SummaryPopulation, 
                               RHN::Task::RHNProc, 
                               RHN::Task::PackageCleanup

web.rhn_gpg_backend_module = RHN::GPG::OpenPGP

web.restrict_mail_domains =

附錄 B. 修訂紀錄

修訂記錄
修訂 3-18.2.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
修訂 3-18.2Sun Nov 4 2012Terry Chuang
翻譯與校閱完成
修訂 3-18.1Sun Nov 4 2012Terry Chuang
Translation files synchronised with XML sources 3-18
修訂 3-18Thu Sept 27 2012Dan Macpherson
修正錯字
修訂 3-17Wed Sept 19 2012Dan Macpherson
5.5 版最後一次製成套件
修訂 3-16Thu Aug 22 2012Daniel Macpherson
在〈障礙排除〉一章中,加入少許資料
修訂 3-15Thu Aug 22 2012Daniel Macpherson
修正表格
修訂 3-14Wed Aug 21 2012Daniel Macpherson
加入作者群與首頁的圖片
修訂 3-13Tue Aug 21 2012Daniel Macpherson
最後一次品保版本
移除多餘圖片與檔案
修訂 3-12Tue Aug 21 2012Daniel Macpherson
最後一次品保版本
修訂 3-11Tue Aug 21 2012Daniel Macpherson
修正螢幕截圖
修訂 3-10Tue Aug 21 2012Daniel Macpherson
小幅編輯內容
修訂 3-9Tue Aug 21 2012Daniel Macpherson
小幅編輯內容
修訂 3-8Mon Aug 20 2012Daniel Macpherson
新增〈升級〉一章
修訂 3-7Mon Aug 20 2012Daniel Macpherson
品保檢視後,納入回饋意見
修訂 3-6Mon Aug 13 2012Daniel Macpherson
以 Red Hat 樣式修正圖形
修訂 3-5Mon Aug 13 2012Daniel Macpherson
BZ#847295 - 技術檢視之後,納入回饋意見
修訂 3-4Mon Aug 06 2012Daniel Macpherson
BZ#839503 - 廿四章的警告內容需要指出,不要訂閱 JBoss 頻道
BZ#812737 - RHN 衛星伺服器的安裝指南需要解釋系統必須以 RHN Classic 的方式註冊
BZ#705164 - Not all applications use only TCP ports
修訂 3-2Mon Aug 06 2012Daniel Macpherson
修訂全書
修訂 3-1Wed Jul 11 2012Daniel Macpherson
修訂簡介一章
修訂 3-0Tue May 22 2012Athene Chan (陳愛珍)
BZ#822704 - 將套件名稱「satellite-utils」更新為「spacewalk-utils」、從「satellite-hostname-rename」更新為「spacewalk-hostname-rename」
BZ#783340 - 將「s390x」更新為「IBM System z」
修訂 2-8Wed Jan 4 2012Lana Brindley
BZ#719289 - 安裝指示
BZ#735539 - 更新使用 HTTP 代理伺服器的指示
BZ#739582 - 更新 PAM 的指示
修訂 2-7Wed Jan 4 2012Lana Brindley
BZ#719289 - 安裝指示
BZ#632303 - 硬體需求
BZ#717165 - 版面錯誤
BZ#735539 - 更新使用 HTTP 代理伺服器的指示
BZ#736549 - 變更工具套件的名稱
BZ#738805 - 在〈障礙排除〉一章中,更新 spacewalk 的報告資訊
BZ#739582 - 更新 PAM 的指示
BZ#767979 - 更新 PAM 的指示
修訂 2-6Wed Oct 26 2011Lana Brindley
BZ#705164 - 額外需求
BZ#709100 - FAQ
BZ#717165 - 版面錯誤
BZ#719289 - 新增安裝指示
BZ#735539 - 加入使用 HTTP 代理伺服器的指示之額外設定至〈安裝〉一節
BZ#736549 - 變更工具套件的名稱
BZ#739582 - 更新 PAM 的指示
修訂 2-5Mon Aug 15 2011Lana Brindley
將 z-stream 版本的資料放入 y-stream 中
修訂 2-4Wed Jul 6 2011Lana Brindley
BZ#717165 - 新增對 RHEL 6 的參照資料
修訂 2-3Wed Jun 22 2011Lana Brindley
BZ#713550 - 新增對 RHEL 6 的參照資料
修訂 2-2Wed Jun 15 2011Lana Brindley
已準備出版
修訂 2-1Fri May 27 2011Lana Brindley
來自譯者的更新
修訂 2-0Fri May 6 2011Lana Brindley
已準備好進行翻譯
修訂 1-36Tue May 3 2011Lana Brindley
BZ#701292 - Remove outdated section
修訂 1-35Wed April 27 2011Lana Brindley
BZ#637809 - QE review
修訂 1-34Wed April 13 2011Lana Brindley
BZ#695989 - Technical review
修訂 1-33Tue Feb 8 2011Lana Brindley
重新處理了疑難排解章節
修訂 1-32Mon Feb 7 2011Lana Brindley
BZ#535468 - Maintenance
BZ#663225 - Database Requirements
BZ#671085 - Topologies
修訂 1-31Mon Feb 7 2011Lana Brindley
BZ#637809 - Database Requirements
將疑難排解章節轉換為 Q&A 問答集
BZ#484689 - Troubleshooting
修訂 1-30Mon Jan 31 2011Lana Brindley
BZ#462396 - Additional Requirements
BZ#589375 - Installation
BZ#591259 - Introduction

法律聲明

Copyright © 2012 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.