xfs stack overflow

XFS でスタックがオーバーフローするから避けたほうがいいんじゃないか的まとめ
9
Kazuho Oku @kazuho

@kosaki55tea サーバ系だと、ディスクにデータを保存するたぐいのプログラムはfsyncしまくるし、オンメモリのやつは swap に落ちるだけなので、例外パスで xfs が呼ばれることは、ほとんどないんじゃないかなーと

2010-04-25 02:57:35
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

@kazuho でもhumyo.comはスタックオーバーフローで落ちまくってると報告されているからWeb系のサーバ運用だとダメってことよ?

2010-04-25 03:16:18
Yoshinori Matsunobu @matsunobu

.@kazuho @kosaki55tea ML見るとbuffered writeしているようですが、ダイレクトI/Oで回避できないでしょうかね。

2010-04-25 03:27:16
Kazuho Oku @kazuho

Web サービス界隈だと、そもそも ext3 がほとんどだったのが、MySQL のユーザーが一部 xfs 化しはじめた、みたいな印象 (観測範囲狭いですが)

2010-04-25 03:31:12
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

無理。トリガーはwrite syscallではなくキャッシュ回収処理の延長なので1ページでもキャッシュが載っていれば呼ばれる可能性ある RT @matsunobu @kazuho buffered writeしているようですがダイレクトI/Oで回避できない

2010-04-25 03:33:09
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

どうしてext4は避けられているのでしょう? RT @kazuho Web サービス界隈だと、そもそも ext3 がほとんどだったのが、MySQL のユーザーが一部 xfs 化しはじめた、みたいな印象 (観測範囲狭いですが)

2010-04-25 03:34:03
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

DirectIOだと別のプロセスがキャッシュを乗せてしまうのを防げないので @matsunobu @kazuho

2010-04-25 03:35:23
Kazuho Oku @kazuho

キャッシュに載ってるページが dirty でなければ、xfs は呼ばれないから問題ないんじゃないのかしら

2010-04-25 03:37:41
Kazuho Oku @kazuho

ext3 は枯れてて安心だし、ext4 で速くなるよ!って話が広まらない限り、みんな ext3 使い続ける、みたいなw

2010-04-25 03:38:53
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

それは正しいけどdirtyなページが無いことを保証するのは実際には無理。syslogとか色々デーモンいますし RT @kazuho: キャッシュに載ってるページが dirty でなければ、xfs は呼ばれないから問題ないんじゃないのかしら

2010-04-25 03:39:13
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

むしろ遅いですけどねext4。まあいくつかの遅いオプションがデフォルトになっているのが主因なので設計ミスではないが RT @kazuho: ext3 は枯れてて安心だし、ext4 で速くなるよ!って話が広まらない限り、みんな ext3 使い続ける、みたいなw

2010-04-25 03:40:46
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

XFSのdelayed allocationのほうが遙かにヒドイ壊れ方をするはずだが RT @smbd: @kosaki55tea なんとなく不安定そうなイメージがあるから?あとアプリが悪いのだけど、commit間隔の件が大々的に報じられてイメージが悪いとか?

2010-04-25 03:41:29
Kazuho Oku @kazuho

同意です。たとえ運用でごまかせたとしても、そういう問題のある fs は避けたいですねorz RT @kosaki55tea: それは正しいけどdirtyなページが無いことを保証するのは実際には無理。syslogとか色々デーモンいますし RT @kazuho: キャッシュに載...

2010-04-25 03:41:53
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

RHELを語るならXFSも土俵は同じではないかな RT @smbd: @kosaki55tea 不安定そう、っていうのは開発が開始してあまり日が経ってないからとか、ext4を採用したRHELが出ていなくて(RHEL6はdefault ext4みたいですけど)揉まれてなさそうとか

2010-04-25 03:42:30
Kazuho Oku @kazuho

MySQL 屋さんの場合だと、xfs が壊れてもレプリケーションがあるさ、で片付くのかも。たいていの大規模運用の場合は。

2010-04-25 03:43:56
Yoshinori Matsunobu @matsunobu

@kosaki55tea MySQL(InnoDB)では「mysqldプロセス以外は誰も読み書きしない巨大データファイルをダイレクトI/O(バックアップとかは例外)」というのが典型的な使われ方なんですが、これなら回避できるんじゃないでしょうか。

2010-04-25 03:44:42
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

ファイルシステムがMySQL専用なら大丈夫な気がします RT @matsunobu: @kosaki55tea MySQL(InnoDB)では「mysqldプロセス以外は誰も読み書きしない巨大データファイルをダイレクトI/O(バックアップとかは例外)」というのが典型的な使われ方な

2010-04-25 03:46:58
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

一日に5回も6回も落ちるとか言われているので相当厳しいと思うが RT @kazuho: MySQL 屋さんの場合だと、xfs が壊れてもレプリケーションがあるさ、で片付くのかも。たいていの大規模運用の場合は。

2010-04-25 03:47:59
Kazuho Oku @kazuho

write >> read で fsync してないファイルサーバとかならともかく、O_DIRECT 前提な MySQL サーバが、そんな高確率で落ちてるんですか? RT @kosaki55tea: 一日に5回も6回も落ちるとか言われているので相当厳しいと思うが...

2010-04-25 03:50:44
Yoshinori Matsunobu @matsunobu

@kosaki55tea ありがとうございます。自分が知る限り、「MySQLデータ領域用に独立したxfsファイルシステム + InnoDB + ダイレクトI/O」が(xfsを使う場合の)定番で、Facebookもこの構成だと聞いています。

2010-04-25 03:51:49
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

@kazuho あ、ごめんなさい。元々の話はMySQLじゃないです。MogileFSとかいうKVS

2010-04-25 03:52:03
Kazuho Oku @kazuho

MySQL(InnoDB) でページアウトが発生する場合、その対象になる可能性が一番高いのは InnoDB のバッファプールだし、バッファプールのページアウトが発生しないようにチューニングするのが基本になってると思います

2010-04-25 03:53:01
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

@matsunobu なるほど。勉強になります。humyo.comの構成がヘンという理解をしました

2010-04-25 03:53:02
小崎 資広 (KOSAKI Motohiro) @kosaki55tea

@kazuho いやー、最近のlinuxはlumpy reclaimがあるのでチューニングではpageout 0には出来ませんよ。限りなく少なくは出来るけど

2010-04-25 03:54:46
まとめたひと
Kazuho Oku @kazuho

Software Engineer, Programmer (network applications and middlewares)