#Spacewalkとは
本家URL: http://spacewalk.redhat.com/
要するにOpenSource版のRedHat Satellite。
クライアントにインストールされているパッケージの管理、Errataの購読などが可能になります。
意外とRHELを使うユーザって、隔離されたネットワークだったりして結局RedHatNetwork1(以下RHN)使っていなかったりしますよね?
そうでなくとも、商用でRHELディストリビューションを使っている場合、
可能であれば管理網を分けていたりする理由でRedHatNetworkを使えない、もしくは(察し)な理由で使えない。
そして(察し)な理由でRedHatSatellite2をローカルで建てられない。
そんな場合に力を発揮するのがSpacewalkです。
このソフト、Chefなんかで構成管理をしている場合にはそんなに役に立たないのですが、
- 異なるデプロイ方法を使っているシステム郡を統括的にモニタリングしておきたい
- どんなバージョンのどんなソフトが使われているのかをみたい
そんな場合に使えます。
また、積極推奨ではないようですが、実はdebianパッケージの管理にも対応しています。4
#あとはカスタムErrataを購読したい、とか。CentOS/Ubuntuなどのものを購読することも可能。Errata自分で作る、、、とか?
#本当はチームまたぎとかでもデプロイメント手法などが統一されていることが理想なんですけどね。そうもうまくいかないと思うので。
#むしろ「うちではデプロイメント手法などは統一できていないけど、こんな管理しているよー」とか、あれば教えて下さい!
#そもそもそんなケースあんまりないですかね。。。。
案外このソフト、日本語の記事を見かけなかったので、シェアします。
このメモでは、
- Spacewalkのセットアップ
- Spacewalk clientの登録
までを書いてみます。
#Installing
本家3は当然ながらFedraゴリ押しなのですが、
それなりに需要があると思われるCentOSベースで構築する方法をいかに説明します。
まずはspacewalkのreposを持ってくる。
rpm -Uvh http://yum.spacewalkproject.org/2.1/RHEL/6/x86_64/spacewalk-repo-2.1-2.el6.noarch.rpm
同様にJpackageも追加してやる
cat > /etc/yum.repos.d/jpackage-generic.repo << EOF
[jpackage-generic]
name=JPackage generic
#baseurl=http://mirrors.dotsrc.org/pub/jpackage/5.0/generic/free/
mirrorlist=http://www.jpackage.org/mirrorlist.php?dist=generic&type=free&release=5.0
enabled=1
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
EOF
EPELも必要とな。
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
ここまできたら後は簡単。
DBを入れるのですが、選択肢はOracleかPostgre。
今回はPostgreで話をすすめます。
yumでほいっとインストール。
yum install spacewalk-setup-postgresql
依存してるものをいれて、
yum install -y rpm-build rpm-python
Postgreを入れます。
yum install spacewalk-postgresql
#config
ここからは設定。基本的にはよきにはからえしてくれるのですが、FQDNを設定しておく必要があります。
FQDNを引けるようにして登録をする。
vim /etc/sysconfig/network
ここからはSpacewalkのセットアップにおまかせをして自動configをします。
/var/lib/pgsqlが15G以上必要です。
spacewalk-setup --disconnected
出力はこんな感じ
[XXXX@spacewalk ~]# spacewalk-setup --disconnected
* Setting up Selinux..
** Database: Setting up database connection for PostgreSQL backend.
** Database: Installing the database:
** Database: This is a long process that is logged in:
** Database: /var/log/rhn/install_db.log
*** Progress: #
** Database: Installation complete.
** Database: Populating database.
*** Progress: ####################################
* Setting up users and groups.
** GPG: Initializing GPG and importing key.
** GPG: Creating /root/.gnupg directory
You must enter an email address.
Admin Email Address? メールアドレス
* 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 editarea.
** /etc/httpd/conf.d/editarea.conf has been backed up to editarea.conf-swsave
* Configuring tomcat.
* Configuring jabberd.
* Creating SSL certificates.
CA certificate password?
Re-enter CA certificate password?
Organization? Organization
Organization Unit [OU]?
Email Address [メールアドレス]?
City? XXXXXXX
State? XXXXXXXXX
Country code (Examples: "US", "JP", "IN", or type "?" to see a list)? JP
** 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..
Processing /etc/cobbler/modules.conf
`/etc/cobbler/modules.conf' -> `/etc/cobbler/modules.conf-swsave'
Processing /etc/cobbler/settings
`/etc/cobbler/settings' -> `/etc/cobbler/settings-swsave'
Cobbler requires tftp and xinetd services be turned on for PXE provisioning functionality. Enable these services [Y]? Y
* Restarting services.
Installation complete.
Visit https://ホスト名 to create the Spacewalk administrator account.
これで完了です。
起動します。
/usr/sbin/spacewalk-service start
この状態でhttp://FQDNもしくは、httpsでアクセスするとSpacewalkが動いています。
簡単!
どうみてもRedhat Satelliteです。本当にありがとうございました。
#clientのセットアップ
ここからはSpacewalkにより管理されるclientを登録していきます。
今回はclientもCentOSを想定。
またrepoを入れて、
rpm -Uvh http://yum.spacewalkproject.org/2.1/RHEL/6/x86_64/spacewalk-client-repo-2.1-2.el6.noarch.rpm
BASEARCH=$(uname -i)
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/$BASEARCH/epel-release-6-8.noarch.rpm
client用ツールを入れます。
yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin
インストールしたら、"/usr/share/rhn"配下に、Spacewalkホストの証明書を落としてきます。
cd /usr/share/rhn/
wget http://SPACEWALKHOSTNAME/pub/RHN-ORG-TRUSTED-SSL-CERT
完了したらup2date設定をサーバのものにしてあげます。
serverURL=https://spacewalk.yutah.org/XMLRPC
noSSLServerURL=http://spacewalk.yutah.org/XMLRPC
sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
最後に登録。これは対話式ですが、rhnreg_ksでの登録も可能です。
rhn_register
ここまで来ると、clientがサーバから見えます。
デフォルトで登録するとBase Managementに”Monitoring”が含まれるとおもいます。
こいつが含まれていると、パッケージのアップデート・インストール・削除などがSpacewalkからできるので、気に入らないひとは外して下さい。
#構成管理やデプロイを別手法でやっている場合はまず外すでしょうね。
使い方などは、本家ドキュメントやRedhatでも言及されているので割愛します。
#参考
1. RedHatによりホスト/管理されているRedHatSatellite
2. RedHatSatelliteは有償版。
3. 本家URL: http://spacewalk.redhat.com/
4. https://fedorahosted.org/spacewalk/wiki/RegisteringClients#Debian