サーバーを立てたらこれだけは見とけ!という25の項目 | A Day In The Boy's Life

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

自分でサーバーを立てた場合、誰かにサーバーをインストールしてもらった場合、レンタルサーバーを借りた場合などなど、サーバー環境を確認する場面は多くありますが、その中で基本的な確認項目25個をリストアップしてみました。


1. 起動メッセージ


# dmesg

起動時のH/W系のログが出ますので、エラーが出力されていないか(errorなどの文字列をgrep)確認します。



2. syslog


# less /var/log/messages

意味合い的には1.と同様なんですが、S/W系のログも出ますので、サーバーの電源ONから起動までに何らかのエラーが出ていないかを確認しておきます。



3. CPU情報


# less /proc/cpuinfo

CPUの情報が表示されます。

買った(借りた)サーバーが、構成通りか確認ができます。

リアルタイムのCPU負荷を見てみたい場合は


# vmstat

コマンドで、リアルタイムの状況が確認可能です。



4. メモリ情報


# less /proc/meminfo

これも、想定のメモリ構成かを確認できます。

もっと単純に見たい場合は


# free

でもよいですね。



5. PCIバス情報


# lspci -v

PCIバスのスロットとそこにつながっているデバイス情報が表示されます。



6. タイムゾーン情報


# cat /etc/sysconfig/clock
- 出力例 - 
ZONE="Asia/Tokyo"
UTC=false
ARC=false

インストール時には、選択画面が出てくるので分かりやすいですが、インストール後にタイムゾーンを確認したい場合は、このようにして確認可能です。



7. キーボード情報


# cat /etc/sysconfig/keyboard
- 出力例 -
KEYBOARDTYPE="pc"
KEYTABLE="jp106"

こちらもインストール後に調べたければ、上記のようにして確認できます。

日本語環境の場合、上記のように106キーボードが選択されているはずです。



8. マウス情報


# cat /etc/sysconfig/mouse
- 出力例 -
FULLNAME="Generic - Wheel Mouse (PS/2)"
MOUSETYPE="imps2"
XEMU3="yes"
XMOUSETYPE="IMPS/2"

あまりインストール後に参照する事は無いかと思いますが、インストール時の情報は上記のようにして確認できす。



9. カーネル情報


# uname -a
Linux IS-EMS-TEST01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:32:14 EDT 2005 i686 i686 i386 GNU/Linux

カーネルのバージョンが表示されます。

RedHat系のOSの場合、


# cat /etc/redhat-release
Red Hat Enterprise Linux ES release 4 (Nahant Update 6)

にて、ディストリビューション情報も確認する事ができます。



10. ホスト名


# hostname 

または、


# echo $HOSTNAME

コマンドからホスト名を取得するか、環境変数からホスト名を取得するかの違いになりますが、どちらも元は


/etc/sysconfig/network

のファイルに記載されているホスト名となります。

変更したければ、上記ファイルを編集します。



11. システム・クロック情報


# date 

システム・クロックを参照します。

システム・クロックとは


- man dateから引用


これは Linux カーネルの内部に存在している時計で、タイマ割り込みによって駆動されている (ISA システムでは、タイマ割り込み はISA 標準の一部である)。すなわち Linux が起動している間しか動作しない。
システム時刻は UTC 1970/01/01 00:00:00 からの経過秒数である (より簡単に言 え ば 1969 年終了後の経過秒数である)。


12. ハードウェア・クロック情報


# hwclock

ハードウェア・クロックを参照します。

ハードウェア・クロックとは


- man dateから引用


これは CPU 内部で動作しているすべてのコントロールプログラムから独立しており、マシンの電源が OFF のときにも動作している。


13. NTP情報


# ntpd -d

NTPサーバーを利用している場合に限りますが、上記コマンドを実行するとNTPサーバーとの通信状況が確認できます。

参照先を知りたければ


# ntpq -p
-出力例-
remote refid st t when poll reach delay offset jitter
==============================================================================
*XX.XXXXXX.co.jp XX.XXXXX.go.jp 2 u 231 1024 377 1.044 -0.254 0.041

ちなみに、NTPの設定ファイルは


/etc/ntp.conf

にあります。


※ NTPに関しては、下記も参照してみてください。


[Linux] 時刻を正確に合わせるためのNTP設定あれこれ



14. ランレベル


# runlevel
N 3

OSの起動レベルです。上記の場合はランレベル3(テキストログインによるマルチユーザーモード)です。

元は、


/etc/inittab

に記載されています。



15. ユーザー情報


# id foo
uid=504(foo) gid=506(foo) 所属グループ=506(foo)

指定のユーザー(上記の場合はfoo)のユーザーIDや所属グループが確認できます。



16. DNSサーバー情報


# cat /etc/resolv.conf

DNSサーバーのIPアドレスなどが記載されています。



17. 他ホスト名


# cat /etc/hosts
-出力例-
127.0.0.1 hoge hoge.hogehoge.co.jp localhost.localdomain localhost
XX.XX.XX.XX foo foo.bar.com

10.では自分自身のホスト名を調べる方法ですが、他のサーバーのホスト名が登録されているか調べる場合に上記hostsファイルが参照されます。

ホストファイルと16.のresolv.confファイルは、

# cat /etc/host.conf
-出力例-
order hosts,bind

で記載された順番で名前解決されます。

上記の場合、hostsファイル → DNSの順番で名前解決を試みます。



18. ACL(アクセス制御リスト)


# cat /etc/hosts.allow
# cat /etc/hosts.deny

inetdまたはxinetd経由で起動されるプロセスは、上記のアクセス制御リストに記載の通りにコントロールされます。



19. NIC情報


# ifconfig -a
-出力例-
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:XX.XX.XX.XX Bcast:XX.XX.XX.XX Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22265504 errors:0 dropped:0 overruns:0 frame:0
TX packets:10004614 errors:18177 dropped:0 overruns:0 carrier:18177
collisions:152951 txqueuelen:100
RX bytes:1603960331 (1529.6 Mb) TX bytes:757889528 (722.7 Mb)
Base address:0xdcc0 Memory:fe4e0000-fe500000

ネットワークカードの情報を知りたければ、上記のコマンドで知る事ができます。

設定されているIPアドレスが正しいかも確認できます。

NICに設定されたIPの元情報は、


/etc/sysconfig/network-scripts/ifcfg-eth0

にあります。

IPを変更したければ上記ファイル(NICごとに異なります)を編集の上、ネットワークデーモンを再起動します。



20. 疎通確認


# ping hoge-server

指定したホストまでネットワークがつながっているかを確認できます。



21. デーモンの起動状況


# chkconfig --list
-出力例-
microcode_ctl  0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ
gpm        0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ
kudzu       0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ
syslog       0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ
-snip-

ランレベルに応じた各デーモンの起動・停止状況が確認できます。

オン(ON)と表示されたランレベルでは、サーバー起動時に自動的に立ち上がるようになっています。


起動と停止の設定は


# chkconfig --level 3 smb on

のように、ランレベル(3)、デーモン名(smb)、有効・無効(on / off)を指定します。



22. プロセス状況


# ps -ef

現在起動しているプロセスが一覧に表示されます。

不要なプロセスや負荷の高いプロセスが無いかを確認します。

もう少し分かりやすく見たければ


# pstree

にて、親プロセスに絞って見ることができます。



23. ディスク状況


# df -h 

パーティションの状態・構成や、そのパーティションごとのキャパシティを確認できます。



24. 停止時のメッセージ確認


# shutdown -h now

または


# sync;sync;sync;halt;

可能であれば、一度サーバーを停止してみて、その際のログを見てみることをお勧めします。

自動停止に失敗するものが無いか、エラーが出力される項目が無いかを確認します。

何か問題があれば、syslogに出ていますので、起動後に再確認します。



25. 起動時のメッセージ確認


1.で確認したdmesgと似た確認事項ですが、24.の停止時の確認と同様に自動起動に失敗しているスクリプトがないかなどを確認しておきます。