Configure Red Hat Network Satellite IN RHEL6

這裏用的不是紅帽本身的satellite軟件,而用的是Spacewalk ,它是上游的一個社區計劃,而 Red Hat Network Satellite 產品是從它衍生出來。如果你登錄過紅帽的http://rhn.redhat.com網站,你就應該知道它是用來幹嘛用的。 Red Hat Network Satellite的管理是RHCA考試RH401中的一個重點,所以需要考rhca的朋友要加油哦!這裏有些二進制軟件包需要從源代碼包進行編譯,下載地址是:http://ftp.redhat.com。satellite目前支持兩種數據庫:oracle和postgresql。由於是測試環境所以oracle使用的是oracle XE,在生產環境中還是使用oralce企業版或者標準版穩定些。

一、Oracle 10g Express Edition Setup:

這裏需要用到以下三個軟件包:

a.Oracle Database 10g Express Edition for Linux x86

b.oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm

c.oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm

第一個是數據庫核心軟件包,最後兩個是客戶端軟件包。

1、創建oracle用戶和組:

image

2、安裝Oracle XE:

首先安裝下面三個必須的軟件包:

image

接着安裝oracle xe:

image

最後安裝客戶端:

image

安裝Oracle compatibility library:

image

這個軟件包存在於spacewalk server組,所以在安裝之前確保已經配置好了YUM倉庫。

如果啓用SElinux,則還需要安裝以下軟件包:

image

3、Oracle XE Setup:

運行/etc/init.d/oracle-xe configure進行配置,其中會提示指定端口信息,監聽信息以及系統用戶密碼等:

image

4、創建spacewalk賬戶:

image

創建完成後,測試下是否可以用spacewalk賬戶進行連接:

image

5、附加配置:

image

做上述配置以防出現下述錯誤:

image

image

二、安裝Spacewalk:

Spacewalk的下載地址:http://spacewalk.redhat.com/yum/,當前版本是1.4。我之前已經把這些軟件同步到本地了,在本地建了個Spacewalk Server和Spacewalk Client的YUM倉庫。

Spacewalk依賴的其他一些軟件包可以從以下兩個網址找到:

a、http://pkgs.org

b、jpackage

1、刪除衝突軟件包:

這裏的cobbler-web是和Spacewalk's Taskomatic進程相沖突的,詳見bug 593402

image

接着在/etc/yum.conf文件中,加入如下語句,代表不再進行cobbler-web軟件包的安裝:

image

2、安裝Spacewalk:

如果你用的是oracle數據庫,則運行以下命令:

image

這個大概要安裝三百個軟件包。

如果是PostgreSQL數據庫,則運行以下命令:

image

3、配置Spacewalk:

運行spacewalk-setup --disconnected命令:

[root@server ~]# spacewalk-setup --disconnected
* Setting up Oracle environment.
* Setting up database.
** Database: Setting up database connection for Oracle backend.
Database service name (SID)? XE
Username? spacewalk
Password?

** Database: Testing database connection.
** Database: Populating database.
*** Progress: ####
* Setting up users and groups.
** GPG: Initializing GPG and importing key.
You must enter an email address.
Admin Email Address? root@localhost
* Performing initial configuration.
* Activating Spacewalk.
** Loading Spacewalk Certificate.
** Verifying certificate locally.
** Activating Spacewalk.
* Enabling Monitoring.
* Configuring apache SSL virtual host.
Should setup configure apache's default ssl server for you (saves original ssl.conf) [Y]?
** /etc/httpd/conf.d/ssl.conf has been backed up to ssl.conf-swsave
* Configuring tomcat.
** /etc/tomcat6/tomcat6.conf has been backed up to tomcat6.conf-swsave
** /etc/tomcat6/server.xml has been backed up to server.xml-swsave
** /etc/tomcat6/web.xml has been backed up to web.xml-swsave
* Configuring jabberd.
* Creating SSL certificates.
CA certificate password?
Re-enter CA certificate password?

Organization? XZXJ
Organization Unit [server.example.com]? Spacewalk Unit
Email Address [root@localhost]?
City? HZ
State? CN
Country code (Examples: "US", "JP", "IN", or type "?" to see a list)? CN
** SSL: Generating CA certificate.
** SSL: Deploying CA certificate.
** SSL: Generating server certificate.
** SSL: Storing SSL certificates.
* Deploying configuration files.
* Update configuration in database.
* Setting up Cobbler..
Cobbler requires tftp and xinetd services be turned on for PXE provisioning functionality. Enable these services [Y/n]?Y
httpd does not appear to be running and proxying cobbler
* Restarting services.
Installation complete.
Visit https://server.example.com to create the Spacewalk administrator account.

上面紅色字體就是要輸入的部分。上面的State值正確的應該是zj,由於一時疏忽錯輸入了CN。在配置的過程中,spacewalk會調用/etc/sysconfig/rhn/oracle/目錄下的main.sql腳本,用於創建存放RPM信息的表以及RHN的相關表。完成之後,就可以按照上述給的鏈接訪問管理界面:

image

首次登錄,必須創建一個管理員帳號:

image

創建完成後,就可以使用這個管理員帳號進行維護管理操作。登錄界面跟redhat的界面一樣地:

image

image

登錄進去後,就和RHN一模一樣的,就是顏色不是紅色而已,嘎嘎!

4、管理Spacewalk:

spacewalk的管理程序是/usr/sbin/spacewalk-service腳本,可以用它進行啓動停止,查看狀態等操作。

用法如下:

image

image

image

三、軟件頻道的管理:

1. 以頻道管理員的身份登錄到 Red Hat Network 網站。
2. 點頂部瀏覽欄中點擊「頻道」標籤,然後點擊左面瀏覽欄中的「管理軟件頻道」按鈕。
3. 在「軟件頻道管理」頁中點右上角的「創建新軟件頻道」。RHN Satellite Server 管理員會看到一個「克隆頻道」選項。
4. 在「新頻道」頁中,根據頁面中的給出的步驟定義頻道詳情。多數頻道管理動作都使用「頻道標籤」來確認頻道,所以最好使用有意義的標籤。
5. 完成後,點該頁底部的「創建頻道」按鈕。

我這裏創建了以下幾個頻道,如圖所示:

image

頻道創建完成後,就要上傳軟件包每個頻道對應的軟件包,以”rhel6 base x86_64”爲例,運行以下命令:

image

--channel後面跟的是頻道的標籤,並非頻道名稱!這個push過程非常慢,如果有多個頻道的話需要很多時間的。這些RPM軟件包存放在本地的/var/satellite目錄下面,建議使用spacewalk-repo-sync命令進行同步,因爲這個比rhnpush命令同步的速度要快些。

image

在同步的過程中,系統會將這些軟件包相關信息錄入oracle數據庫中。這些表信息可以使用spacewalk帳號通過以下方法查詢:

image

目前一共有372張表,而RPM軟件包的相關信息存放在rhnPackage表中,這張表的結構如下圖所示:

image

6、創建GPG 密鑰:

作爲自動安裝的一部分,管理員會經常部署那些不是由紅帽提供的自定義應用程序,比如備份和監控軟件。要做到這一點,這個軟件必須以 RPM 格式打包。在運行 Red Hat Enterprise Linux 的系統中可
設置 RPM 構建環境。應該注意的是構建環境必須包含與目標系統所使用的軟件包的同一版本。就是說爲基於 Red Hat Enterprise Linux 5 系統構建 RPM 必須使用 Red Hat Enterprise Linux 5 系統,構建 Red Hat Enterprise Linux 6 RPM 必須使用 Red Hat Enterprise Linux 6 系統。至少要在構建系統中安裝 rpm-build 軟件包。您可能還需要其它軟件包,比如編譯程序和庫文件。應使用 GPG 密鑰簽註可用於產品的 RPM 軟件包,這樣可讓用戶確認軟件包的來源及其完整性。只有信託管理員組才知道用於簽註 RPM 的 GPG 密鑰密碼短語。

(1)、爲生成該密鑰創建目錄:

image

這一步可以省略的,因爲在使用gpg –gen-key命令時會自動在用戶家目錄創建的。

(2)、生成密鑰對:

image

image

完成後,會在用戶家目錄下的.gnupg目錄下生成以下文件:

image

pubring.gpg文件裏的內容就是剛生產的密鑰內容。

(3)、列出所有密鑰及其指紋:

image

(4)、導出該密鑰:

image

EXAMPLE-RPM-GPG-KEY文件的內容:

image

(5)、以root用戶在所有目標系統中運行 gpg --import 即可將這個密鑰導入到 RPM 數據庫,確認其來源和完整性:

image

(6)、使用 GPG 密鑰簽註RPM軟件包,並上傳至相應的頻道:

在簽註的過程中遇到了一些問題,這個後續解決了再不上來。

(7)、查看RPM的相關信息:

當前有個spacewalk-koan軟件包是我從源代碼編譯過來的,信息如下:

image

關於這方面的信息請參考紅帽網絡 Satellite 5.4.1用戶指南一書。

7、備份工作:

所有在satellite頻道的軟件包都存放在/var/satellite目錄下,而oracle的數據文件是存放在/usr/lib/oracle/xe/oradata/XE目錄下面:

image

所以同時做好oracle的備份以及/var/satellite目錄的備份,以防萬一!

四、註冊客戶端:

要將客戶機註冊到sattlite服務器中,客戶端必須安裝Red Hat Network軟件包,這些默認都已經安裝了,只需註冊下即可通過sattlite服務器進行軟件包更新。客戶端註冊有兩種方法:使用證書註冊和使用KEY進行註冊。下述內容會對這兩種方法進行詳細說明。

1、使用證書進行客戶端註冊:

這裏用到的證書是安裝Spacewalk Server時生成的trust證書,位於root家目錄下面的ssl-build目錄下。

image

上圖中的RHN-ORG-TRUSTED-SSL-CERT就是證書文件。而二進制rpm軟件包中就是這個證書文件。

在註冊之前,你必須更改客戶端的up2date文件,此文件位於/etc/sysconfig/rhn/目錄中,將裏面的sattlite服務器地址指定爲你的sattlite服務器地址,並指定正確的證書文件。未改之前如下所示:

image

(1)、下載此公共證書文件:

image

(2)、編輯 /etc/sysconfig/rhn/up2date 文件:

image

(3)、註冊系統:

運行rhn_register進行註冊,這個命令默認會使用圖形界面進行註冊:

image

image

上圖中已經指定了更新位置爲https://server.example.com。下一步會提示輸入用戶名以及密碼:

image

如果輸入無誤會出現下面的畫面:

image

發送完畢後,就已經成功註冊了cs104客戶端。可以在sattlite服務器上進行驗證:

image

(4)、啓用客戶端的即時執行更新(OSA):

這個在客戶端要安裝以下軟件包:

image

安裝完成後,編輯/etc/sysconfig/rhn/osad.conf文件,更改正確的證書文件:

image

最後啓動osad服務即可。如果在啓動的過程中報如下錯誤:

/usr/lib/python2.6/site-packages/jabber/jabber.py:68: DeprecationWarning: the sha module is deprecated; use the hashlib module instead,則編輯/usr/lib/python2.6/site-packages/jabber/jabber.py文件的第68行,將sha替換爲hashlib,然後重新啓動osad服務。完了之後,在sattlite網頁中就會看到OSA的狀態爲online。

image

如果有可以的更新時,satellite會及時在系統狀態中通知:

image

2、使用KEY進行註冊:

首先下載並安裝 SSL 證書 RPM,這個在https://server.example.com/pub目錄下可以找到。

image

安裝上圖中的RPM軟件包:

image

接着使用key註冊系統:

image

註冊完成後,可以在管理界面查看系統詳細信息:

image

(5)、在客戶端上可以使用yum列出已經訂閱了哪些軟件頻道:

image

如上所示,server訂閱了6個軟件頻道,軟件包的數量接近1萬個。

image

這是satellite最簡單的應用了,哪位大蝦要是看到了,如果有不足之處還請指出,謝謝!後續將補錄satellite與cobbler、虛擬化的結合,敬請期待!

參考文獻:

             Red Hat Network Satellite

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章