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をインストールした。
サーバではないのでセキュリティはそこそこに。FirewallはSSHのみ許可し、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 | DHCP兼DNSキャッシュサーバ | |
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。主にNISやNFSで使用 |
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:ルータでもサーバを動作させる必要あり。