[Users] Zone から親を殺せる?
master @ zio-matrix.net
master @ zio-matrix.net
2013年 12月 3日 (火) 00:08:14 JST
瀧 さん、藤原 さん
難波です。お久しぶりです。
> > Zone の root も他人には渡したくなくなった今日この頃です。
>
> この辺の「死なば諸共」なところは、軽量仮想化の宿命ですよねぇ……
すっかり忘れていたところでした。(スレッド処理=親のKernel
> 吐き出されたダンプで、原因となった処理の呼び出しコンテキストを見れ
> ば、多少は原因らしきものが分かるかもしれませんが、最近カーネル
> デバッグから遠ざかっているので、mdb の使い方を完全に忘れている…… orz
>
> 記憶がフレッシュな方、フォローお願いします(笑)
ダンプありません。取れません。 :-D
なぜなら、128GB のマシンで 100GB の SSD rpool ですから。
/dev/zvol/dsk/rpool/dump を他の pool に出来ないかなと思っていたら、
出来ないんですよね、これ。
インストール直後 64GB〜 あった rpool/dump を小さくするのが手順に
なっています・・・
この辺りのワークアラウンドとかネタが意外に無いんですよね。
256GB マシンで rpool 100GB SSD にしたらどうなるのか・・・
(2GB のメモリで NT4.1 がインストールできない問題に似ているような)
Squid の話に戻りますが、Worker N(SMPサポート)を検証してました。
-k shutdown が効かないので、squid-N プロセスだけ抽出してループで
さくっと kill したらコンソールが固まってしまったのです。
「ははは、こやつめ」と思ってグローバルに ssh しても応答なし、
数分後に再起動してきました。
ping に応答したり、途中までは中途半端に死んでいたので、
他の Zone 上のサービスは刺さったような状態になっていたようです。
(2013/12/02 23:54), Katsunori Fujiwara wrote:
> 藤原です。
>
> 2013年12月2日 23:14 master @ zio-matrix.net <mailto:master @ zio-matrix.net>
> <master @ zio-matrix.net <mailto:master @ zio-matrix.net>>:
>
> > Zone 上で Squid をテストしていた時に親が落ちました。
> > こういった状況ってあるんですかね?
> >
> > # Squid は野良です。IPS の奴ではないです。
> >
> > /lib/64/libpthread.so.1 を使っていて、確かに Kernel は
> > 同じですから。
> >
> > Xxx XX HH:MM:SS global unix: [ID XXXXXX kern.notice]
> > Xxx XX HH:MM:SS global ^Mpanic[cpu55]/thread=100102ee2020:
> > Xxx XX HH:MM:SS global unix: [ID XXXXXX kern.notice] BAD TRAP: type=34
> > rp=2a10daeb4f0 addr=2 mmu_fsr=0
> > Xxx XX HH:MM:SS global unix: [ID XXXXXX kern.notice]
> > Xxx XX HH:MM:SS global unix: [ID XXXXXX kern.notice] squid:
> > Xxx XX HH:MM:SS global unix: [ID XXXXXX kern.notice] alignment error:
> > Xxx XX HH:MM:SS global unix: [ID XXXXXX kern.notice] addr=0x2
> > Xxx XX HH:MM:SS global unix: [ID XXXXXX kern.notice] pid=XXXX,
> > pc=0x11b6034, sp=0x2a10daead91, tstate=0x9980001601, context=0x338f
> > Xxx XX HH:MM:SS global unix: [ID XXXXXX kern.notice] g1-g7: 1000, 1, 0,
> > 0, 0, 338f, 100102ee2020
> > Xxx XX HH:MM:SS global unix: [ID XXXXXX kern.notice]
> >
> > Zone で動いていた Squid が上手く落ちなかったので、Kill -9 したら ↑
> > になりました。
> > この後は当然、sync して reboot されました。
>
> addr=0x2 での "alignment error" (type=34) のトラップは、ユーザプロ
> グラムなら、まぁ、よくあるバグだと思いますが、上記の延長で親 zone
> が落ちたのだとすると:
>
> 1. squid がシステムコールを発行
> 2. 何かで引っかかって kernel 内で待ち状態(I/O とか排他?)
> 3. 正規のプロセス終了
> → 引っかかりから復帰できず
> 4. kill -9 実施
> → スレッドの強制刈り取りの過程で、カーネル内部で alignment error
>
> みたいな手順でしょうね。
>
> 書いている途中で来た瀧さんからのメールにもありますが、多分 squid
> の問題ではなく、純粋にカーネルのバグな気がします。
>
> 吐き出されたダンプで、原因となった処理の呼び出しコンテキストを見れ
> ば、多少は原因らしきものが分かるかもしれませんが、最近カーネル
> デバッグから遠ざかっているので、mdb の使い方を完全に忘れている…… orz
>
> 記憶がフレッシュな方、フォローお願いします(笑)
>
>
> > Zone でも気軽に Kill するもんじゃないなと。
> > zoneadm -z XXXX halt/reboot の方が安全かも。
> >
> >
> > /lib/64/libpthread.so.1 を使う粗悪な PG と、Kill -9 のループだけで
> > 再現するかも と思っています。
> >
> >
> > Zone の root も他人には渡したくなくなった今日この頃です。
>
> この辺の「死なば諸共」なところは、軽量仮想化の宿命ですよねぇ……
>
> --
> ----------------------------------------------------------------------
> FUJIWARA Katsunori(flying.foozy @ gmail.com <mailto:flying.foozy @ gmail.com>)
>
>
>
> _______________________________________________
> Users mailing list
> Users @ opensolaris.gr.jp
> https://mx.opensolaris.gr.jp/mailman/listinfo/users
>
Users メーリングリストの案内