Scientific Linux 5.3でkvm上にrpmbuild環境を作成(1) / それぞれのサービスの機能

どうせだからネットワークインストールだけではなくて全体の作業ログをつけよう。ネットワークインストールについての記事



まずディスクイメージの構成は/を3GB、/homeを7GBとした。/homeを別にして置いた方がビルド環境のバックアップを行う時に都合が良いと考えた。/homeにはccacheのキャッシュを蓄積する。
ディスクとネットワークはvirtioを使用するようにしてlibvirtの設定ファイルを書いた。

<domain type='kvm'>
  <name>SL-Builder</name>
  <uuid>(uuidgenした値)</uuid>
  <memory>4194304</memory>
  <currentMemory>4194304</currentMemory>
  <vcpu>3</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='cdrom'>
      <source file='/var/vm/sl-builder/boot.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
    <disk type='file' device='disk'>
      <source file='/var/vm/sl-builder/root.img'/>
      <target dev='hda' bus='virtio'/>
    </disk>
    <disk type='file' device='disk'>
      <source file='/var/vm/sl-builder/home.img'/>
      <target dev='hdb' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <mac address='02:00:00:01:00:05'/>
      <source bridge='br0'/>
      <model type='virtio'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' keymap='ja'/>
  </devices>
</domain>

ネットワークインストールを行い、今回はrpmbuild用環境と言うことでGUI環境はインストールせずSDKをインストールした。

サーバではないのでセキュリティはそこそこに。FirewallSSHのみ許可し、SELinuxは今回はDisabledとした。サービスについては

を参考にしつつ不要な物を無効化した。こうしてみると知らないサービスもたくさんあった。

サービス 変更 設定 概要
NetworkManager off ネットワーク接続の自動化
acpid on 電源管理
anacron on
apmd off ACPIをサポートしていれば不要
atd on 指定時刻にコマンドを実行
auditd off セキュリティログ。不要
autofs off アクセス時にファイルシステムをマウント。今回は追加でマウントする物はないので不要
avahi-daemon off Avahi関連
avahi-dnsconfd off Avahi関連
bluetooth off Bluetooth. ついているわけがない
capi off ISDN関連
conman off リモートコンソールの一つらしい
cpuspeed off CPUの動作周波数を管理。仮想化環境で必要とは思えない
crond on 定期的にコマンドを実行
cups off プリンタ関連
dnsmasq off DHCPDNSキャッシュサーバ
dund off Bluetooth関連 DUNデーモン
firstboot on Setup Agentを起動。放っておく。
gpm off CUI用マウスデーモン
haldaemon off ハードウェアの情報収集。messagebusに依存
hidd off Bluetooth関連 HIDデーモン
ibmasm off IBMの機器*1関連
ip6tables on Firewall
iptables on Firewall
irda off 赤外線通信
irqbalance on 仮想CPUを複数割り当てたので必要と推測*2
isdn off ISDN. 不要
kudzu off ハードウェアの自動検出
lvm2-monitor off LVMは使用しなかった
mcstrans off SELinux関連
mdmonitor off RAID関連
mdmpd off RAID関連 MD系multipathの監視?
messagebus off 上記ページの解説を読む限りでは止めても大丈夫そう
microcode_ctl on 仮想化環境でも必要なのだろうか。保留
multipathd off DM系multipathの監視?
netconsole off カーネルパニック時にOopsメッセージを他のマシンに転送
netfs off NFSクライアント
netplugd off ネットワークケーブルのホットプラグ
network on ネットワークそのもの
nfs off NFSサーバ
nfslock off NFSのファイルロック
nscd off ネームサービスのキャッシュ。LDAPを用いた時など
oddjobd off 特権を与えられていないプログラムから特権を必要とする操作を行いたい時に用いる*3
pand off Bluetooth関連
pcscd off スマートカード関連
portmap off RPC呼び出しを生成するために必須らしい*4。主にNISNFSで使用
psacct off コマンドなどのログとり
rdisc off the router discovery daemon. ルータを見つけてdefault routeを設定するデーモン。*5
readahead_early on 起動時の先読み
readahead_later off 起動後の先読み
restorecond off SELinux関連
rpcgssd off RPC関連 NFSなどで使用
rpcidmapd off RPC関連 NFSなどで使用
rpcsvcgssd off RPC関連 NFSなどで使用
saslauthd off SASL認証サーバ
sendmail off メールサーバ。今回は不要
smartd off SMARTの監視。仮想環境では監視する対象がない
sshd on SSH
syslog on syslog
winbind off Samba関連
wpa_supplicant off 無線LAN関連
xfs off X Font Server. 今回はXを使わない。
ypbind off NIS関連。RedHatのページによれば"yp"は"yellow pages"の略らしい
yum off 自動更新

*1:http://en.wikipedia.org/wiki/IBM_Remote_Supervisor_Adapter

*2:仮想環境といえどもIRQのエミュレーションをしているわけだから、SMPとして動作させれば必要になるのではなかろうか

*3:http://kbase.redhat.com/faq/docs/DOC-2102

*4:http://www.linux-nis.org/nis-howto/HOWTO/portmapper.html

*5:ルータでもサーバを動作させる必要あり。