サーバ復旧

Windowsサーバ、Linuxサーバについて、サーバ復旧に参考になる情報を掲載。
サーバを復旧するような事態に陥らないように、日頃のチェックが大切。

サーバについて便利なコマンドを紹介
システム負荷を確認
topコマンドの実行結果は、最初の5行のヘッダ情報がある。
システムに対する平均負荷やメモリとスワップの使用量などが表示されている。
下記がその例。

top - 07:47:30 up 6 days, 21:36, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 135 total, 1 running, 133 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.7%us, 0.3%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 765708k total, 744348k used, 21360k free, 202244k buffers
Swap: 1540088k total, 172k used, 1539916k free, 224004k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
19670 root 20 0 2256 1048 800 R 0.7 0.1 0:00.37 top
2633 postgres 20 0 38124 1648 604 S 0.3 0.2 5:32.97 postgres
2842 root 20 0 43920 21m 12m S 0.3 2.9 11:35.98 /usr/bin/sealer
1 root 20 0 2136 648 556 S 0.0 0.1 0:06.29 init
2 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 15 -5 0 0 0 S 0.0 0.0 0:01.01 ksoftirqd/0
5 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 15 -5 0 0 0 S 0.0 0.0 0:03.46 events/0
7 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 khelper
57 root 15 -5 0 0 0 S 0.0 0.0 0:01.31 kblockd/0
60 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
61 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpi_notify
156 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0
158 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 ksuspend_usbd
164 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 khubd
167 root 15 -5 0 0 0 S 0.0 0.0 0:00.01 kseriod
196 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
197 root 20 0 0 0 0 S 0.0 0.0 0:10.78 pdflush
198 root 15 -5 0 0 0 S 0.0 0.0 0:02.97 kswapd0
250 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
338 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 khvcd
390 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 pccardd
407 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kpsmoused
434 root 15 -5 0 0 0 S 0.0 0.0 0:03.71 ata/0
435 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 ata_aux
440 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 scsi_eh_0
441 root 15 -5 0 0 0 S 0.0 0.0 0:05.65 scsi_eh_1
450 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 ksnapd
458 root 15 -5 0 0 0 S 0.0 0.0 0:31.01 kjournald
486 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kauditd
523 root 16 -4 2392 676 396 S 0.0 0.1 0:00.53 udevd
1040 root 15 -5 0 0 0 S 0.0 0.0 0:09.68 ipw2200/0
1239 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kmpathd/0
1262 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kjournald
1407 root 15 -5 0 0 0 S 0.0 0.0 3:51.92 kondemand/0
1881 root 17 -3 12204 656 492 S 0.0 0.1 0:00.31 auditd
1883 root 17 -3 10988 672 444 S 0.0 0.1 0:00.00 audispd
1905 root 20 0 1800 588 496 S 0.0 0.1 0:00.24 syslogd
1908 root 20 0 1740 400 332 S 0.0 0.1 0:00.00 klogd
1941 rpc 20 0 2232 588 424 S 0.0 0.1 0:00.54 rpcbind
1968 dbus 20 0 2952 980 608 S 0.0 0.1 2:14.13 dbus-daemon
2004 root 20 0 23044 1300 560 S 0.0 0.2 0:11.64 pcscd
2030 root 20 0 1984 448 368 S 0.0 0.1 0:00.00 hidd
2052 root 20 0 8204 1156 904 S 0.0 0.2 0:09.00 automount
2071 root 20 0 6544 832 536 S 0.0 0.1 0:00.00 hpiod
2076 root 20 0 15380 4776 748 S 0.0 0.6 0:10.04 python
2091 root 20 0 5400 984 660 S 0.0 0.1 0:00.00 sshd
2103 root 20 0 2796 840 672 S 0.0 0.1 0:00.00 xinetd
2114 root 20 0 7568 2088 1392 S 0.0 0.3 0:00.02 console-kit-dae
2186 root 20 0 6296 1112 580 S 0.0 0.1 0:00.39 crond


ログファイルを確認しよう
システムログ
/var/log/messages

カーネルログ
/var/log/dmesg

起動時のログ
/var/log/boot.log

メールログ
/var/log/maillog

これらは、/etc/syslog.confで設定している。

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages

# The authpriv file has restricted access.
authpriv.* /var/log/secure

# Log all the mail messages in one place.
mail.* -/var/log/maillog


# Log cron stuff
cron.* /var/log/cron

# Everybody gets emergency messages
*.emerg *

# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler

# Save boot messages also to boot.log
local7.* /var/log/boot.log



サーバを復旧する場合、まず最初にログを確認する。
上記の様々なログを一つ一つ全部読むのは結構大変なので、まずログ監視ツールのlogwatchを見てみる。

設定ファイルは下記にある。(FedoreCoreの場合)
/etc/logwatch/conf/logwatch.conf
/usr/share/logwatch/default.conf/logwatch.conf

LogDir = /var/log
TmpDir = /var/cache/logwatch
MailTo = root
MailFrom = Logwatch
Print = No
Range = yesterday
Detail = Low
Service = All
Service = "-zz-network"
Service = "-zz-sys"
Service = "-eximstats"
mailer = "sendmail -t"


ルーティングテーブルを確認
[root@ns conf]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

ルーティングテーブルを変更
route add -net ネットワーク netmasl サブネットマスク dev デバイス名

ネットワークの設定状態を確認する
[root@ns conf]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0B:97:28:68:D9
inet addr:192.168.0.15 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20b:97ff:fe28:68d9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3896316 errors:2 dropped:2 overruns:2 frame:0
TX packets:4934317 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:630237910 (601.0 MiB) TX bytes:3874422699 (3.6 GiB)
Interrupt:3 Base address:0x2000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:540728 errors:0 dropped:0 overruns:0 frame:0
TX packets:540728 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:308998830 (294.6 MiB) TX bytes:308998830 (294.6 MiB)

[root@ns conf]#

外部とのアクセス状態の確認
[root@ns conf]# netstat -tau
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 ns.vmemobiz.jp:2208 *:* LISTEN
tcp 0 0 *:netbios-ssn *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:postgres *:* LISTEN
tcp 0 0 *:microsoft-ds *:* LISTEN
tcp 0 0 ns.vmemobiz.jp:2207 *:* LISTEN
tcp 0 0 *:rsync *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:postgres *:* LISTEN
tcp 0 132 ::ffff:192.168.0.15:ssh ::ffff:192.1:pfu-prcallback ESTABLISHED
tcp 0 0 ::ffff:192.168.0.15:ssh ::ffff:192.16:netwatcher-db ESTABLISHED
udp 0 0 *:filenet-tms *:*
udp 0 0 ns.vmemobiz.jp:filenet-nch ns.vmemobiz.jp:filenet-nch ESTABLISHED
udp 0 0 *:844 *:*
udp 0 0 *:mdns *:*
udp 0 0 *:sunrpc *:*
udp 0 0 *:filenet-rpc *:*
udp 0 0 *:mdns *:*
[root@ns conf]#


ネットワークの再起動
[root@ns conf]# /etc/rc.d/init.d/network restart
インターフェース eth0 を終了中: [ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: [ OK ]
インターフェース eth1 を活性化中:
eth1 のIP情報を検出中...失敗しました; リンクがありません。ケーブルを確認してみては?
[失敗]
[root@ns conf]#
デフォルトゲートウェイの設定
[root@ns conf]# vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=ns.○○.jp
GATEWAY=192.168.0.1


ネットワーク設定の確認
[root@ns conf]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
[root@ns conf]#

OSの言語の変更
[root@ns conf]# vi /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"

日本語にする場合は、
LANG="ja_JP.ujis"またはLANG="ja_JP.eucJP"に変更


環境変数の確認
printenv



サーバ起動時のメッセージを確認
dmesg
一度に全部出てしまうので、下記のコマンドでスクロールしながら確認
dmesg | less


ランレベルの確認
[root@ns conf]# runlevel
N 5
[root@ns conf]#

0
シャットダウン

1
シングルユーザーモード(root)

2
ネットワーク無しのマルチユーザーモード(ユーザ定義可能)

3
マルチユーザーモード(テキストログイン)

4
未使用(ユーザ定義可能)

5
マルチユーザーモード(グラフィックログイン画面)

6
システムの再起動


メモリの使用状況を確認
[root@ns conf]# free
total used free shared buffers cached
Mem: 765708 756480 9228 0 202740 233380
-/+ buffers/cache: 320360 445348
Swap: 1540088 168 1539920
[root@ns conf]#

メモリ使用量を連続監視
[root@ns conf]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 168 9044 202744 233392 0 0 7 29 55 70 0 0 99 0 0
[root@ns conf]#


システム起動時に自動的にマウントされるディバイス
[root@ns conf]# vi /etc/fstab

/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0


ディスクの空き状態確認
[root@ns conf]# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
35G 8.9G 24G 28% /
/dev/sda1 99M 19M 76M 20% /boot
tmpfs 374M 0 374M 0% /dev/shm
[root@ns conf]#


RAIDは、ディスクの安全性やパフォーマンスを向上させるための技術。
複数のディスクにわたって情報を分散、共有することによりデータへのアクセス速度の向上、
ディスク容量のアップ、また、ハードディスククラッシュによって失われたデータやファイルの回復
復元率のアップなど様々な利点を生み出します。


Level0(ディスクストライピング)
使用するディスクドライブは2個以上
データをバックアップはとらずに単純に処理速度を上げた場合に使用。

Level1(ミラーリング)
使用するディスクドライブは2個以上
複数のドライブを使いデータのバックアップを取りながら処理速度を向上させる場合に使用する

Level5(パリティ付きストライピング)
ディスクドライブを3個以上使用する、基本的にはLevel1と同じだか、データのコピーにパリティ情報が使用される。
Level1よりもデータ保安に使う領域が少ない。
そのため、処理速度はLevel1よりも向上する。


インストール後にソフトウエアRAIDにする
障害対策などにRAIDが活用される場合がある。

同じサイズのパーティションを複数作成し、
Level0は2個、Level1は2個、Level5は3個以上など。


利用規約

サーバ復旧でデータがどうしても取り出せなくなったら
データ復旧株式会社

最速、一律料金でサービスを展開し、日経、読売などにも紹介されています。
TEL
0120-977-339

営業時間
9:00〜18:00
定休日
土・日・祝

サーバのトラブル時にどうしてもサーバが復旧せず、データ復旧を頼むなら安心確実なデータ復旧株式会社

サーバ復旧 サーバエラー サーバ故障