サーバが不安定、原因はUSBカメラ?
数日前にも、サーバが不調となり再起動をしていたが、 今日も同様と思われるような症状の末、"BUG soft locked"なるメッセージを出しながら、 CPU負荷が異常に高くなり、再び再起動となった。
以下、そのメモ。
症状その1: 婆ちゃん猫ように設置している WebCam を、ママが確認したらカメラが真っ暗で映らない。 その30分後あたりから、サーバが異様に負荷が高くなり、loadaverage=10程にまで達し、警告メールが 届く。すぐさま login をして、top などでプロセスを監視するが、カーネルに近いプロセスが異常に 負荷が高いが、その原因となったと思われる高負荷プロセスは見つからない。 その確認作業中には、以下の様な"BUG: soft lockup – CPU#2 stuck for 22s"といったメッセージが 何度か表示される。 しかたがないので、ひとまず再起動。
Message from syslogd@perrine at Jul 29 07:56:32 ... kernel:[216966.348806] BUG: soft lockup - CPU#2 stuck for 22s! [lsof:2139]
改めて、/var/log/messages を確認する。
Jul 29 07:13:19 perrine kernel: [214372.550873] usb 2-1.1: USB disconnect, device number 3 Jul 29 07:13:21 perrine kernel: [214374.787731] usb 2-1.1: new high-speed USB device number 5 using ehci-pci Jul 29 07:13:21 perrine kernel: [214374.982560] usb 2-1.1: New USB device found, idVendor=0ac8, idProduct=332d Jul 29 07:13:21 perrine kernel: [214374.982570] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Jul 29 07:13:21 perrine kernel: [214374.982577] usb 2-1.1: Product: Vega USB 2.0 Camera. Jul 29 07:13:21 perrine kernel: [214374.982583] usb 2-1.1: Manufacturer: Vimicro Corp. Jul 29 07:13:21 perrine kernel: [214374.984000] uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:332d) Jul 29 07:13:21 perrine kernel: [214374.986621] input: Vega USB 2.0 Camera. as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input15 Jul 29 07:13:22 perrine mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1" Jul 29 07:13:22 perrine mtp-probe: bus: 2, device: 5 was not an MTP device
ここまでが、Webカメラのメッセージ。なぜか、disconnect 後に改めて connect してる。 この直後に以下の様な kernel の異常メッセージが始まっている。
Jul 29 07:42:11 perrine rsyslogd: [origin software="rsyslogd" swVersion="7.4.2" x-pid="3103" x-info="http://www.rsyslog.com"] rsyslogd was HUPed Jul 29 07:43:23 perrine nagios3: Auto-save of retention data completed successfully. Jul 29 07:44:44 perrine kernel: [216258.276631] general protection fault: 0000 [#1] SMP Jul 29 07:44:44 perrine kernel: [216258.276666] Modules linked in: udp_diag tcp_diag inet_diag xfs libcrc32c ebtable_nat ebtables ppdev lp cpufreq_cons ervative cpufreq_stats cpufreq_userspace bnep rfcomm cpufreq_powersave nfnetlink_queue nfnetlink_log autofs4 binfmt_misc input_polldev xt_LOG xt_limit xt_tcpudp ip6table_filter ip6_tables xt_set ip_set nfnetlink iptable_filter ipt_MASQUERADE iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_ nat nf_conntrack ip_tables x_tables nfsd auth_rpcgss nfs_acl nfs lockd dns_resolver fscache sunrpc dm_crypt hwmon_vid loop fuse md_mod snd_usb_audio sn d_hda_codec_hdmi snd_hda_codec_realtek snd_usbmidi_lib snd_hda_intel snd_hda_codec snd_hwdep joydev hid_logitech snd_pcm_oss snd_mixer_oss ff_memless u vcvideo pl2303 i915 saa7134 usbserial snd_pcm snd_seq_midi videobuf2_vmalloc videobuf2_memops videobuf2_core snd_seq_midi_event snd_rawmidi snd_page_al loc tveeprom video snd_seq snd_seq_device snd_timer iTCO_wdt iTCO_vendor_support videobuf_dma_sg drm_kms_helper rc_core acpi_cpufreq drm v4l2_common co retemp videodev i2c_algo_bit media kvm_intel videobuf_core kvm mperf i2c_i801 i2c_core snd lpc_ich mfd_core intel_ips processor psmouse r8169 soundcore mii btusb bluetooth parport_pc rfkill thermal microcode parport crc16 thermal_sys serio_raw pcspkr evdev button hid_generic usbhid hid ext3 mbcache jb d usb_storage sr_mod cdrom sd_mod crc_t10dif ata_generic pata_via ata_piix crc32c_intel ehci_pci ehci_hcd libata scsi_mod usbcore usb_common dm_mirror dm_region_hash dm_log dm_mod Jul 29 07:44:44 perrine kernel: [216258.277537] CPU 1 Jul 29 07:44:44 perrine kernel: [216258.277550] Pid: 557, comm: lsof Not tainted 3.9-1-amd64 #1 Debian 3.9.8-1 BIOSTAR Group H55 HD/H55 HD Jul 29 07:44:44 perrine kernel: [216258.277592] RIP: 0010:[] [] mntget+0x9/0x1c Jul 29 07:44:44 perrine kernel: [216258.277631] RSP: 0018:ffff88004de57ea0 EFLAGS: 00010202 Jul 29 07:44:44 perrine kernel: [216258.277655] RAX: ffff88007312b020 RBX: 676c613f6b636162 RCX: 0000000000000013 Jul 29 07:44:44 perrine kernel: [216258.277687] RDX: 743d6d687469726f RSI: 0000000000000278 RDI: 676c613f6b636162 Jul 29 07:44:44 perrine kernel: [216258.277718] RBP: 0000000000000000 R08: 660000342f6f0000 R09: 0000000000000035 Jul 29 07:44:44 perrine kernel: [216258.277750] R10: 0000000000000001 R11: 99ffffcbd090ffca R12: ffff880036a56f00 Jul 29 07:44:44 perrine kernel: [216258.277782] R13: ffff88004de57ef0 R14: 00007fff48e0da10 R15: ffff8800257fe658 Jul 29 07:44:44 perrine kernel: [216258.277814] FS: 00007feaa1db1700(0000) GS:ffff880077440000(0000) knlGS:0000000000000000 Jul 29 07:44:44 perrine kernel: [216258.277849] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Jul 29 07:44:44 perrine kernel: [216258.277875] CR2: 00007feaa1dd9000 CR3: 0000000016182000 CR4: 00000000000007e0 Jul 29 07:44:44 perrine kernel: [216258.277906] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 Jul 29 07:44:44 perrine kernel: [216258.277938] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Jul 29 07:44:44 perrine kernel: [216258.277969] Process lsof (pid: 557, threadinfo ffff88004de56000, task ffff880044f68770) Jul 29 07:44:44 perrine kernel: [216258.278004] Stack: Jul 29 07:44:44 perrine kernel: [216258.278015] ffff88007312b030 ffffffff81111ed7 ffff880036a56e80 ffffffff8115a0ab Jul 29 07:44:44 perrine kernel: [216258.278055] ffff8800145f3380 ffff8800257fe658 00000000ffffff9c 0000000000001000 Jul 29 07:44:44 perrine kernel: [216258.278094] ffffffff81155a57 ffffffff8111d168 676c613f6b636162 743d6d687469726f Jul 29 07:44:44 perrine kernel: [216258.278134] Call Trace: Jul 29 07:44:44 perrine kernel: [216258.278151] [] ? path_get+0xc/0x13 Jul 29 07:44:44 perrine kernel: [216258.278177] [] ? proc_fd_link+0x8b/0xab Jul 29 07:44:44 perrine kernel: [216258.278203] [] ? proc_pid_readlink+0x34/0xd2 Jul 29 07:44:44 perrine kernel: [216258.278231] [] ? touch_atime+0x72/0x12b Jul 29 07:44:44 perrine kernel: [216258.278257] [] ? sys_readlinkat+0x8e/0xd7 Jul 29 07:44:44 perrine kernel: [216258.278286] [] ? system_call_fastpath+0x16/0x1b Jul 29 07:44:44 perrine kernel: [216258.278313] Code: 14 48 8b 7b 18 be 01 00 00 00 e8 d5 ff ff ff ff 8b d0 00 00 00 5b 48 c7 c7 50 75 64 81 e9 9c cb f 3 ff 48 85 ff 53 48 89 fb 74 0e <48> 8b 7f 18 be 01 00 00 00 e8 ab ff ff ff 48 89 d8 5b c3 53 48 Jul 29 07:44:44 perrine kernel: [216258.278591] RSP Jul 29 07:44:44 perrine kernel: [216258.289487] ---[ end trace 162c0f0dadb1f4b2 ]---
カーネルverアップで、ARPの取れ方がまた激変
昨日、linux 3.9.6 にカーネルバージョンが上がったけど、 この影響でARPの取れ方がまた変わった。
自宅では、子どもの端末使用状況を確認するために、 ARP データの有無を munin でモニタリングしている。 おかげで、ネットワーク系のゲームをしていたかは、 一目瞭然。
だけれども、カーネルのバージョンによっては、この ARP の取れ方が 変わってくる。ARP テーブルの賞味期限切れの対応の違いと思われる。
ということで、バージョンが上がったら、使わない端末の ARP 情報が 賞味期限切れにならないのか、ずっと残ってしまった。 まあ、最近は、Proxy サーバの利用状況でバレバレなんだけど…
いつのまにやら linux 3.9.6-1
KDDIのケーブルプラスに電話が変更となり、 NTT-ISDNから切換えも終わっているので ISDN-TA を取り外し。 これに合わせて、電源の配線もすっきりさせるべく、 つなぎ変え。
これでサーバの電源を落として起動したけど、 Debian/jessie で運用しているから、知らないうちに、 linux-image-3.9-1-amd64 が入っていた。
それに、普通に立ちあがて、何も問題無し(^^;
linux-image-3.8-1-amd64 を入れてみた
Debian 7.0 の登場に合わせ、自宅サーバは testing/jessie になったので、 カーネルのバージョンも linux-image-3.8-1-amd64 を入れることになった。
以前が、3.2.41 だったので、安定版のはずの 3.4 , 3.6 もすっ飛ばしての、 3.8。今までは、2.4,2.6,3.0,3.2 と段階を経ながら入れてきたけど、 2段階も抜けているバージョンアップは初めて。
しかしながら、aptitude install linux-image-3.8-1-amd64 を実行したけど、 大量のパッケージ更新というほどでもなく、無難に更新が完了。 reboot した後は、X11 が少しおかしくなったけど、xorg.conf を削除して 起動させたら自動認識で無事更新も終わった。
といっても、3.8 の新しい機能を活用する予定がある訳ではない。 ほぼ「試してみるか」というだけの理由。
wheezyでMTのページが壊れた
Debian/testing(Wheezy)を入れたら、movabletype も更新されたみたい。 記事を投稿したら、ページのスタイルが変になった。 スタイルシートの読み込みができていないみたい。
改めてmovabletypeの設定を触っていたら、インデックスページの設定が 初期化されてしまって、さらに悪化。 ひとまず、元通りに戻したけど、やっぱりスタイルシートの読み込みが変。
確認をしたら、スタイルを簡単に変更できるようにするための、 切換え部に、以下のような部分があるのが原因だった。
/* This is the StyleCatcher theme addition. */ @import url(/mt-static/themes-base/blog.css); @import url(https://tsaitoh.net/mt-static/support/...(略)... ; /* end StyleCatcher imports */
スタイルシートが途中で偽装されないために、https: を使っているのかも しれないけど、オレオレ証明書しか設定していない個人的な自宅サイトで そこまで完璧な設定も必要ないので、 スタイルシートのテンプレートを修正し、https: の部分を消す…
Debian 7.0 ついに wheezy が stable に
以前からアナウンスさら、今まで stable で動かしていたものが oldstable になることから、影響の少ないものはうまく更新できた。 しかしながら、まだ移行できていないサーバもあるんだけど…
# aptitude update ; aptitude safe-upgrade : 現在の状態: 新規が 15710 個 [-100]。 新たに廃止されたパッケージが 56 個あります。 インストール・削除・更新されるパッケージがありません。 更新: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。 0 バイトのアーカイブを取得する必要があります。展開後に 0 バイト のディスク領域 が新たに消費されます。

ひとまず、先行してtestingにしていたものは、特に何もなく移行完了。 移行が不完全なものは、oldstable だな。
つぎは、Jessieか…
Debianのバージョンは、Toy-Storyのキャラクターが使われているけど、 新しい testing は、Jessie になったらしい。
unstableパッケージの部分導入
何か面白そうなパッケージがないかと、ペンギンの杜を散策していたら、 LEGO NXT用のコンパイラ nbc などが Debian 用のパッケージが出ているらしい。 確かめると、unstable(sid)となっていて、 linux環境が testing なので、慎重に設定しないと、 不安定になるのも困る。 改めて、testing と unstable を混在するためのセッティングを確認する。
// pinningでベースとなるリリースを設定 (( /etc/apt/apt.conf.d/99target )) APT::Default-Release "testing"; // unstable の sources.list を追加 (( /etc/apt/sources.list.d/unstable.list )) deb http://ftp.us.debian.org/debian/ \ unstable main contrib non-free deb-src http://ftp.us.debian.org/debian/ \ unstable main contrib non-free
どうでもいいネタだけど、debian の oldstable / stable / testing / unstable というリリースの名前は、最新順に o/s/t/u と英字順となっていて便利。 sources.list.d に、リリース毎にファイルを分けると、ls コマンドで 新しくなる順に、設定ファイルが並んでいて分りやすい。
dovecotのディレクトリ形式
先日、Debian/wheezy でのパッケージ更新で、dovecot が 2.1.7-6 に なったら、imap のディレクトリが見えなくなった。
一旦は、バージョンを古くもどして対応させていたけど、 改めて設定を確認。当初、サブフォルダだけが見えなくなったので、 サブフォルダの区切り文字が変更になったかと思い、 "separator = ."とかを試したけど、相変わらずダメだった。
よくよく試したら、肝心のホームディレクトリ形式の mail_location が mbox形式が指定されていた。
(( /etc/dovecot/conf.d/10-mail.conf )) # mail_location = mbox:~/mail:INBOX=/var/mail/%u mail_location = maildir:~/Maildir
今までは imapd は一般的に Maildir 形式で設定ファイルが 書いてあったんだろうけど、 他の MUA のデフォルトに合わせて、設定ファイルが mbox 形式標準に変更されていただけみたい。
逆に言うなら、今まで気にしたことがなかったてことが、浅はかってことか…
あけおめでNTP設定を見直す
あけおめPOSTをしようとしたら、1分ほど出遅れた。 Windowsマシンが1分時計がずれていた。 ちゃんと設定していたつもりだったけど、Windows7は、w32tm コマンドで設定するのか…
Debianサーバ側をNTP問い合わせに返答できるようにする (( /etc/ntp.conf )) restrict 192.168.X.0 mask 255.255.255.0 nomodify notrap
Windows側で、NTPを参照するために、管理者状態になったうえで、 NTPサーバの登録を行う。
(( Windows/7 )) 管理者状態でcmdを起動 [Start]-[cmd.exe]-[Ctrl+Shift+Enter]
NTPサーバを設定する。 > w32tm /config /update \ /manualpeerlist:"192.168.X.Y ntp.ttn.ne.jp" NTP同期を強制的にかける > w32tm /resync
dovecotのフォルダが見えなくなる
Debianのunstableで使っているけど、今朝 aptitude safe-upgrade したら、 dovecot-core,dovecot-imapd,dovecot-pop3d が更新され、 2.1.7-2 → 2.1.7-6 となった。
ただ、これにより IMAP の受信トレイは読めるものの、 他のフォルダが見えなくなった。別途原因究明したいけど、 ひとまず見れないと困るメールなどもあるし、特にこだわりも ないから、dovecot-1.2.15-7 / stable に落とす。
といっても、パッケージ構成も dovecot-common を使うようなので、 aptitude install dovecot-imapd/stable しても、うまくダウングレード できない。しかたがないので、
# aptitude purge dovecot-core dovecot-imapd dovecot-pop3d # aptitude install dovecot-common/stable dovecot-imapd/stable dovecot-pop3d/stable
を実行する。2.1.7-6 では、認証キーの保存場所なども変わったようだし、 機能の削除などもあったようだが、それらが原因かな。

