2021-05-12 14:32:11
Spacewalk的設定與安裝Linux系統
在前一篇文章中介紹了 Spacewalk 的安裝與帳戶建立(見 http://www.linuxidc.com/Linux/2015-02/113966.htm),這篇就說說怎樣設定 Spacewalk 並通過它來安裝 Linux 系統。
1. 首先找到兩個版本的 Linux 映象檔案,這裡我使用的是 CentOS-5.11-x86_64-bin-DVD-1of2.iso 和 CentOS-6.6-x86_64-bin-DVD1.iso,然後使用下面的命令把這兩個映象檔案mount到指定目錄下,比如:
sudo mkdir -p /var/ftp/pub/CentOS-5.11
sudo mount -t auto -o loop CentOS-5.11-x86_64-bin-DVD-1of2.iso /var/ftp/pub/CentOS-5.11
sudo mkdir -p /var/ftp/pub/CentOS-6.6
sudo mount -t auto -o loop CentOS-6.6-x86_64-bin-DVD1.iso /var/ftp/pub/CentOS-6.6
也可以修改fstab,讓系統啟動時自動mount。這裡我是將他們mount到了ftp的目錄下。
因為比較慢,所以後面我們都只針對CentOS-6.6來操作。
2. 登入進入系統,並存取 Channels -> Software Channel Management -> Manage Repositories -> create new repository,
這裡我們需要新增兩個 repository
第一個 Repository
Repository Label*: CentOS-6.6-x86_64
Repository URL*: file:///var/ftp/pub/CentOS-6.6
第二個 Repository
Repository Label*: spacewalk_2.2-client_rhel6-x86_64
Repository URL*: http://spacewalk.RedHat.com/yum/2.2-client/RHEL/6/x86_64/
註:這裡可以使用線上的 Repository,比如定義在/etc/yum.repos.d/CentOS-Base.repo和/etc/yum.repos.d/epel.repo中的。但如果使用線上 Repository 的話,後面在做repo sync的時候就會非常慢,有時需要好幾個小時才能同步完成。
3. 存取 Channels –> Manage Software Channels –> create new channel,在新增 Channel 頁面填寫如下資訊
Channel Name*: CentOS-6.6-x86_64
Channel Label*: centos-6.6-x86_64
Architecture: x86_64
Channel Summary*: CentOS-6.6-x86_64
4. 存取 Channels –> Manage Software Channels,選擇上一步建立的 Channel "CentOS-6.6-x86_64",然後在其 “Repositories” 標簽下選擇 “CentOS-6.6-x86_64” 和 “spacewalk_2.2-client_rhel6-x86_64” Repository,然後 “Update Repositories”。
一旦執行了“Update Repositories”以後,就會在此頁面出現 “Sync”標籤,此時選中 “Sync” 然後執行 “Sync Now”。
注意:
* 執行 “Sync Now” 是很耗時的操作,需要等好久才完成。可以在命令列通過檢視 “ps -ef | grep sync”看有沒有類似 “/usr/bin/python -u /usr/bin/spacewalk-repo-sync --channel centos-5.11-x86_64” 的進程來判斷是否執行完成。
* 執行完 “Sync Now” 之後,在 Channels –> Manage Software Channels 頁面的列表也就會看到 CentOS-6.6-x86_64 的 Packages 列會顯示具體包數。
* 另外,也可以根據需要設定定時同步操作。
5. 建立 Activation Keys,這個 Key 是 Client 用來存取 Spacewalk server 時使用的
存取 Systems –> Activation Keys –> create new key
Description: my_key
Add-On Entitlements: 選中 Monitoring 和 Provisioning
6. 建立 Kickstartable Distributions
存取 Systems -> Kickstart -> Distributions -> create new distribution
Distribution Label*: CentOS-6.6-x86_64
Tree Path*: /var/ftp/pub/CentOS-6.6
Base Channel*: CentOS-6.6-x86_64
Installer Generation*: RHEL6
7. 建立 Kickstart Profile
存取 Systems -> Kickstart -> Kickstart Profiles -> create new kickstart profile
Label*: CentOS6
Base Channel*: CentOS-6.6-x86_64
Kickstartable Tree*: CentOS-6.6-x86_64
完成後修改剛才建立的 Kickstart Profile
* 在Activation Keys裡選中第五步建立的key
* 在Scripts裡新增一個register指令碼,之所以要這一步是因為在我的環境下註冊總是失敗,原因是缺少幾個包,所以我加了這個指令碼來下載需要的包
Scripting Language: /bin/bash
Script Name*: my_install_package
Script Contents:
sudo yum install -y http://yum.spacewalkproject.org/2.2-client/RHEL/6/x86_64/spacewalk-client-repo-2.2-1.el6.noarch.rpm
sudo yum install -y http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo yum install -y rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin
sudo yum install -y http://192.168.145.102/pub/rhn-org-trusted-ssl-cert-1.0-1.noarch.rpm
Script Execution Time*: 選擇 Post Script
* 在Scripts裡選擇右上角order kickstart scripts,將剛才建立的 my_install_package 位置放到第一位
8. 由於Spacewalk內部也繼承了Cobbler,所以我們也需要對Cobbler做一下修改,參考我的兩外兩篇文章
這裡有一些特別的地方需要特殊對待
* 在這個版本的Cobbler中不能使用“sudo cobbler get-loaders”安裝loader,而要使用“yum install cobbler-loaders”來安裝
* 需要手動安裝dhcp軟體包"sudo yum install dhcp"
修改完Cobbler的設定後記得要執行下面的操作時期生效
sudo /etc/init.d/cobblerd restart
sudo cobbler sync
9. 部署Linux系統
9.1 首先使用 "sudo cobbler list" 來檢視 profile
9.2 然後使用 “sudo cobbler system” 來新增並設定系統
sudo cobbler system add --name=test --profile=CentOS6:1:SpacewalkDefaultOrganization
sudo cobbler system edit --name=test --interface=eth0 --mac=08:00:27:2C:30:8C --ip-address=192.168.145.155 --netmask=255.255.255.0 --static=1
sudo cobbler system edit --name=test --gateway=192.168.145.1 --hostname=test
sudo cobbler sync
9.3 安裝系統。如果物理機有IPMI,可以遠端啟動物理機。這裡我使用的虛擬機器做測試,所以我是手動啟動虛擬機器,此時就會看到虛擬機器開始自動安裝系統了。
9.4 等待系統安裝完成後,就可以在 Spacewalk 的 Systems -> Systems -> Physical Systems 檢視新安裝的機器了。
相關文章