1 名前:login:Penguin mailto:sage [2007/03/10(土) 21:38:12 ID:ENN363Ui] 過去スレ 01 pc.2ch.net/test/read.cgi/linux/1006743807/ 02 pc5.2ch.net/test/read.cgi/linux/1063025258/ 03 pc8.2ch.net/test/read.cgi/linux/1101495293/ 04 pc8.2ch.net/test/read.cgi/linux/1136695633/ 05 pc8.2ch.net/test/read.cgi/linux/1152348695/ 06 pc11.2ch.net/test/read.cgi/linux/1164457481/
84 名前:login:Penguin mailto:sage [2007/03/20(火) 07:13:36 ID:RYKbVfI1] >>83 cd しているプロセスがある
85 名前:80 mailto:sage [2007/03/20(火) 08:21:18 ID:9XkrolDx] >>84 82さんの回答と同様、それは恐らく"umount"すると時にひっかかる条件だと思います。 「正常に」機能している時には以下のようなことしても無問題です。 # mount -o remount,rw / # cd / # pwd / # mount -o remount,ro / # echo $? 0
86 名前:login:Penguin mailto:sage [2007/03/20(火) 11:09:34 ID:Us/F7Xyr] >>78 tkttktt?
87 名前:login:Penguin [2007/03/20(火) 13:37:30 ID:J8vIycR5] >>85 cdのあとtouch .1 しても?
88 名前:login:Penguin [2007/03/20(火) 13:41:55 ID:J8vIycR5] find / -exec fuser {} ';'も調べたい
89 名前:login:Penguin mailto:sage [2007/03/20(火) 14:27:56 ID:w+2ZTJtq] rwでremountしてからroでremountするまでの間に、何かのプログラムが実行されたんじゃね?
90 名前:login:Penguin mailto:sage [2007/03/20(火) 18:04:00 ID:YBt0Z9W0] スクリプト内でremountに失敗 ↓ mountコマンドがデバイスをつかんだまま ↓ remountに再び失敗 違うかな?
91 名前:80 mailto:sage [2007/03/20(火) 21:52:50 ID:9XkrolDx] >>87 無問題です。以下のようにしてあからさまにwriteでファイルを開かないと"busy"とはなりません。 # mount -o remount,rw / # cd / # cat > hoge ^Z [1]+ Stopped cat >hoge # mount -o remount,ro / mount; / is busy # kill %1 # mount -o remount,ro / [1]+ Terminated cat >hoge # echo $? 0
92 名前: ◆P39B8if24g mailto:sage [2007/03/20(火) 22:16:29 ID:6hd4y+2s] てす
93 名前: ◆P39B8if24g mailto:sage [2007/03/20(火) 22:18:23 ID:6hd4y+2s] てす
94 名前:80 mailto:sage [2007/03/20(火) 22:23:06 ID:9XkrolDx] >>88 シリアルコンソールごしにネットワーク、全てのサービスを停止。40弱しかプロセスが走ってない状態 (けどremount,roはやっぱりbusy)でやってみました。 /dev, /procと他パーティションの/var以下を除いた結果が以下です。 /: 1r 1c 2r 2c 3r 3c 4r 4c 5r 5c c /bin/bash: 5924e 6938e /bin/sh: 5924e 6938e /bin/login: 26670e /bin/su: 6937e /lib/ld-linux.so.2: 1m 2739m 4649m 5924m 6937m 6938m 26670m /lib/libaudit.so.0: 6937m 26670m /lib/libpam.so.0: 6937m 26670m /lib/libpam.so.0.77: 6937m 26670m /lib/libtermcap.so.2.0.8: 5924m 6938m /lib/libnss_files-2.3.4.so: 2389m 2476m 5924m 6937m 6938m 26670m /lib/libnsl-2.3.4.so: 6937m 26670m /lib/libcrypt-2.3.4.so: 6937m 26670m /lib/tls/libc.so.6: 1m 2739m 5924m 6840m 6937m 6938m 26670m /lib/tls/libc-2.3.4.so: 1m 2739m 5924m 6847m 6937m 6938m 26670m /lib/libsepol.so.1: 1m /lib/libcrypt.so.1: 6937m 26670m
95 名前:80 mailto:sage [2007/03/20(火) 22:24:07 ID:9XkrolDx] 続き /lib/security/pam_rootok.so: 6937m /lib/security/pam_unix.so: 6937m 26670m /lib/security/pam_limits.so: 6937m 26670m /lib/security/pam_deny.so: 6937m 26670m /lib/security/pam_unix_auth.so: 6937m 26670m /lib/security/pam_unix_passwd.so: 6937m 26670m /lib/security/pam_unix_acct.so: 6937m 26670m /lib/security/pam_env.so: 6937m 26670m /lib/security/pam_unix_session.so: 6937m 26670m /lib/security/pam_cracklib.so: 6937m 26670m /lib/security/pam_xauth.so: 6937m /lib/security/pam_loginuid.so: 26670m /lib/security/pam_securetty.so: 26670m /lib/security/pam_console.so: 26670m /lib/security/pam_stack.so: 6937m 26670m /lib/security/pam_nologin.so: 26670m /lib/security/pam_selinux.so: 6937m 26670m /lib/libdl.so.2: 5924m 6937m 6938m 26670m /lib/ld-2.3.4.so: 1m 2739m 5924m 6906m 6937m 6938m 26670m /lib/libpam_misc.so.0: 6937m 26670m /lib/libpam_misc.so.0.77: 6937m 26670m /lib/libdl-2.3.4.so: 5924m 6937m 6938m 26670m /lib/libtermcap.so.2: 5924m 6938m /lib/libnsl.so.1: 6937m 26670m /lib/libselinux.so.1: 1m 2739m 6937m 7003m 26670m /lib/libaudit.so.0.0.0: 6937m 26670m /lib/libnss_files.so.2: 2389m 2476m 5924m 6937m 6938m 26670m
96 名前:80 mailto:sage [2007/03/20(火) 22:25:42 ID:9XkrolDx] 最後 /sbin/init: 1e /sbin/klogd: 2393e /sbin/syslogd: 2389e /sbin/fuser: 7154e /sbin/telinit: 1e /usr/bin/find: 2739e /usr/lib/libcrack.so.2: 6937m 26670m /usr/lib/libglib-2.0.so.0: 26670m /usr/lib/locale/locale-archive: 2476m 2739m 5924m 6938m 17391m /usr/lib/libglib-2.0.so.0.400.7: 26670m /usr/lib/gconv/gconv-modules.cache: 5924m 6938m /usr/lib/libcrack.so.2.7: 6937m 26670m /usr/lib/libcrack.so: 6937m 26670m /usr/sbin/crond: 2476e 全然あやしそうなのを見かけません。
97 名前:80 mailto:sage [2007/03/20(火) 22:30:46 ID:9XkrolDx] >>94 あれ、/:の出力が切れてますね。如何が全てです。 /: 1r 1c 2r 2c 3r 3c 4r 4c 5r 5c 6r 6c 44r 44c 47r 47c 48r 48c 49r 49c 50r 50c 196r 196c 292r 292c 294r 294c 295r 295c 312r 312c 1341r 1341c 1757r 1757c 1902r 1902c 1903r 1903c 1905r 1905c 2389r 2389c 2393r 2393c 2476r 2567r 2567c 2568r 2568c 2569r 2569c 2570r 2570c 2571r 2571c 2572r 2572c 2739r 2739c 2740r 5924r 6937r 6938r 26670r 27648r 27648c
98 名前:80 mailto:sage [2007/03/20(火) 23:06:50 ID:9XkrolDx] >>89 可能性としてはありそうです。しかしその結果、なぜ今の状態になってしまったのかが謎です。 >>90 どう見てもmountコマンド自体は終了してますが、カーネル内部的に「つかんだ」ままになっている のでしょうか? さて、そろそろソースを読まねばという感じです。ちなみにCentOS4.4の2.6.9カーネルです。
99 名前:login:Penguin mailto:sage [2007/03/20(火) 23:45:52 ID:w+2ZTJtq] >>97 > 無問題です。以下のようにしてあからさまにwriteでファイルを開かないと"busy"とはなりません。 あー、それならwriteで書き込まれたデータがまだディスクに書かれてない状態ですな。 まずはremount前にsyncを実行しましょう。 それでもダメな場合は、数秒待ってから再度sync->remountしてみてください。 私のところはFreeBSDだけど、shellスクリプト内でumountする時に以下のようにしています。 echo " unmount" /bin/sync /bin/sleep 60 /sbin/umount ${MNT} for n in 0 1 2 3 4 5 6 7 8 9; do if /sbin/mount | /usr/bin/grep /dev/ad0s1e > /dev/null; then /bin/sleep 60; /sbin/umount /mnt else break fi done
100 名前:login:Penguin mailto:sage [2007/03/21(水) 00:17:12 ID:S9uQBvMx] linuxfs.pbwiki.com/LSF07-Workshop-Notes
101 名前:login:Penguin mailto:sage [2007/03/21(水) 01:02:22 ID:DJG3OGOa] >>99 これだけ長時間バッファがフラッシュされないなんてありかな?
102 名前:80 mailto:sage [2007/03/21(水) 01:17:48 ID:E4OzVxjT] >>99 syncもだめでした。それにしてもこの状態(busy)で安定したまま一日以上過ぎてますので。 ちょっとコードを読んで見ました。mountコールのエラーパスはこうなるようです。 |sys_mount (fs/namespace.c) |-do_mount |--path_lookup(fs/namei.c) |---link_path_walk |----__link_path_walk | ごちょごちょして良く分からんがたぶんEBUSYは返さない? |--security_sb_mount(include/linux/security.h) |---security_ops->sb_mount | 良く分からないけどSELinuxはdisableしてるから恐らく | dummy.cのdummy_sb_mountでreturn 0 |--do_remount_sb | | if ((flags & MS_RDONLY) && !(sb->s_flags & MS_RDONLY)) { | if (force) | mark_files_ro(sb); | else if (!fs_may_remount_ro(sb)) (fs/file_table.c) | return -EBUSY; | } 続く
103 名前:80 mailto:sage [2007/03/21(水) 01:19:39 ID:E4OzVxjT] 続き。ここで跳ねられてる? "pending delete"のファイルってlsofとかでも見れませんでしたっけ? |----fs_may_remount_ro(struct super_block *sb) (fs/file_table.c) |{ | struct list_head *p; | | /* Check that no files are currently opened for writing. */ | file_list_lock(); | list_for_each(p, &sb->s_files) { | struct file *file = list_entry(p, struct file, f_list); | struct inode *inode = file->f_dentry->d_inode; | | /* File with pending delete? */ | if (inode->i_nlink == 0) | goto too_bad; | | /* Writeable file? */ | if (S_ISREG(inode->i_mode) && (file->f_mode & FMODE_WRITE)) | goto too_bad; | } | file_list_unlock(); | return 1; /* Tis' cool bro. */ |too_bad: | file_list_unlock(); | return 0; |}
104 名前:90 mailto:sage [2007/03/21(水) 02:58:59 ID:DJG3OGOa] >>98 別に根拠は無いです。 ファイルはつかまれてなさそうなので、デバイスをつかまれてないかなと思った。
105 名前:login:Penguin mailto:sage [2007/03/21(水) 03:24:07 ID:DJG3OGOa] rwでremountしてもやはりbusyになるんだろうか?
106 名前:login:Penguin mailto:sage [2007/03/21(水) 03:31:16 ID:DJG3OGOa] dmesgの結果や/var/log/messagesの内容も知りたい。
107 名前:80 mailto:sage [2007/03/21(水) 03:54:56 ID:E4OzVxjT] >>105 いえ、それはOKです。けどrwをrwにremountしてもスルーされてるだけかもしれませんね。 >>106 mountコマンドを入力したときにはとくにどちらにも新たな出力は見られません。先ほど見た エラーパスにも特にその周辺で何かを吐き出すコードは見られませんでした。また両方とも デバイス名sdaでgrepして見ましたが、起動時の普通のメッセージ以外に特に最近異常を示す メッセージは見受けられません。他に何か探すべきものがありましたらご指摘キボンヌ。 そろそろ上に挙げたコードにデバッグコードを埋め込んでカーネル再構築を試みます。
108 名前:80 mailto:sage [2007/03/21(水) 04:04:55 ID:E4OzVxjT] >>103 > "pending delete"のファイルってlsofとかでも見れませんでしたっけ? 自己レス。普通は見えますね。 # mount -o remount,rw / # cat > hogehoge ^Z [1]+ Stopped cat >hogehoge # rm -f hogehoge # lsof | grep hogehoge cat 9979 root 1w REG 3,8 0 983060 /hogehoge (deleted) #
109 名前:80 mailto:sage [2007/03/21(水) 05:59:52 ID:E4OzVxjT] inodeの中身をダンプするデバッグ用のルーチンなんかありませんかね? 出来るだけ情報を書き出したいけど、中身が全然分かってないから下手したら そこでクラッシュしそう。
110 名前:login:Penguin mailto:sage [2007/03/21(水) 11:54:21 ID:DJG3OGOa] >>107 > そろそろ上に挙げたコードにデバッグコードを埋め込んでカーネル再構築を試みます。 障害の発生を再現するのは手間だから待った方がいいと思う。 試して欲しいのは、 mount -v -o remount, ro / で詳細情報を表示させてみることと、 mount -f -o remount, ro / で強制した場合にremountできるかということです。
111 名前:login:Penguin mailto:sage [2007/03/21(水) 12:11:01 ID:DJG3OGOa] mount -f -o remount, ro / これをやってもらいたいのは、 >103の fs_may_remount_ro(struct super_block *sb) を通らず、 mark_files_ro(struct super_block *sb) (fs/super.c 567) に分岐すると思うからです。
112 名前:login:Penguin mailto:sage [2007/03/21(水) 12:44:31 ID:DJG3OGOa] mount -f -o remount, ro / は mount -v -f -o remount, ro / の方が情報が得られてよいかも。
113 名前:login:Penguin mailto:sage [2007/03/21(水) 12:55:08 ID:6FsiTP6N] いくつか気になった。 ・80と書いている人は81? ・うちのdebian(sarge)だと-vつけてもなんか変わらない ・ファイルシステムの種類は関係ない話なの? 何の役にも立たんと思うが。
114 名前:login:Penguin [2007/03/21(水) 17:23:08 ID:JC5nLr5t] うえの方でfind ... fuserしてほしいと書いた者だが、PID並べられてもしょうがないんだよね。 psで対応するコマンド調べてくらはい。 そのくらいはできる人と思ってたんだが、もしやド素人じゃないよね? もしド素人なら、これでうまくいっても他で障害がでるだろうから、あまりごちゃごちゃやらんほうがいいと思うよ。 ド素人でないなら、、、もうちょっと独力でも頑張ってほしかった。 いずれにせよ、結果まってるよ〜。
115 名前:login:Penguin [2007/03/21(水) 18:35:16 ID:J9iygeoh] >>86 tkt tktt
116 名前:81(80は間違いorz) mailto:sage [2007/03/21(水) 21:06:42 ID:E4OzVxjT] げげ、誰かリブートしやがったorz すみません。また障害発生を待たないと... >>113 間違えてました orz ちなみにext3です。 >>111 -fは(fake)であって-forceではありません。103の"force"は内部のemergency_remount()から呼ばれたときに だけ立てられるフラグでこれは探したところdriver/char/sysrq.cのsysrq_handle_mountroからしか 呼ばれないので普通に使うものではないようです。 >>114 意図を汲まずに申し訳ございませんでしたが、何を探しているのかが良く分かってませんでした。 しかしあの出力で出てきたファイルのリストはlsofで出てきたものと同じようなものと見受けられましたし、 書き込み状態にあるpidも1つもありませんでしたのでどのpidに注目すればいいのかが分かりませんでした。 全部を列挙するのは長すぎると思いましたし。 fsは全くド素人でSMARTを見て、あ、ディスク壊れてるっていて交換したこと以上のことを 考えたことはありませんのでファイル周りの検証のテクニックはlsofぐらいしか知りませんでした。 fuserは初耳でしたので勉強になりました。カーネルの中をまじめに問題解決のために読み始めたのも ここ1ヶ月ほどの事ですので。 さて、それではカーネル仕掛けてまた再現するのを待って報告させて頂きます。
117 名前:login:Penguin mailto:sage [2007/03/21(水) 22:14:49 ID:nLBpV1q7] >>116 lsofで結果見てたんだね。失礼。 閉じられているはずのファイルがなぜか開きっぱなしの問題はよくあることです。 解決方法がなかなか見つからないので、ぜひがんばってください。 報告待ってます。
118 名前:login:Penguin mailto:sage [2007/03/21(水) 22:16:28 ID:J9iygeoh] 閉じられてるファイルが〜なぜか開いているのな〜ら〜 sync!sync!sync! って歌があったね
119 名前:login:Penguin mailto:sage [2007/03/21(水) 23:24:46 ID:f2Azm7Ce] だめよだめだめデッドローックー
120 名前:login:Penguin [2007/03/23(金) 08:47:39 ID:TxxCM3Q2] ext4はサイズ変更に対応してる?対応してればLVMと組み合わせて使い易いのだけど。 性能的にはどうなんだろう?
121 名前:login:Penguin mailto:sage [2007/03/24(土) 03:14:39 ID:GQsk1lU1] そういやオンラインデフラグの件はどうなったんだ?
122 名前:login:Penguin [2007/03/24(土) 16:08:19 ID:ZQgilKja] Reiserはその後どうなってんの?
123 名前:login:Penguin mailto:sage [2007/03/24(土) 22:04:18 ID:vUqhXPFh] WInの焼きミスはほんとひどいよなw 焼いてるときは、他の作業しないほうがいい
124 名前:login:Penguin mailto:sage [2007/03/24(土) 22:05:31 ID:1ZNqfG35] >>123 お前はバブルの崩壊直後の時代の人か?
125 名前:login:Penguin mailto:sage [2007/03/24(土) 23:17:11 ID:1JVeQLQG] >>123 スレ違いだ。帰れ。
126 名前:login:Penguin [2007/03/24(土) 23:48:50 ID:ZQgilKja] >>124 またキミか
127 名前:login:Penguin mailto:sage [2007/03/25(日) 00:23:02 ID:FK7WfcVZ] 3 名前:login:Penguin :2007/03/24(土) 22:37:58 ID:1ZNqfG35 うざいなぁ・・・・ 913 :login:Penguin:2007/03/24(土) 22:34:12 ID:1ZNqfG35 >>911 >Windowsじゃあるまいし、ブートローダごときで再インストールする必要はない。 fixmbrもしらんWindows道程であることが判明しましたw
128 名前:login:Penguin mailto:sage [2007/03/25(日) 23:21:02 ID:QdX/ZMUE] 前スレで言われてたけど、nautilus+xfsでファイルのコピー等がすごく遅くなるってあったでしょ? 俺もあれで悩まされてたんだけど、LVM使ったらあのバグ発生しないんだね。 なんとなくLVM+xfsで新たにシステム構築し直したらnautilusでも速度が落ちなくなった。
129 名前:login:Penguin [2007/03/26(月) 09:08:09 ID:d1UYMG6t] LVMは便利なのだが、コマンドいっぱいでめんどいよね
130 名前:login:Penguin mailto:sage [2007/03/26(月) 09:21:06 ID:8Q9E4hQ9] >>128 というか報告せいや xfsなのかnautilusなのか知らんが
131 名前:login:Penguin mailto:sage [2007/03/26(月) 10:35:37 ID:fsC9be4T] nautilus=糞 昔からの定説だろ。いまさら報告する必要もなし。
132 名前:login:Penguin mailto:sage [2007/03/26(月) 11:28:49 ID:io8NkORY] だったら、使うなw
133 名前:login:Penguin [2007/03/26(月) 14:17:18 ID:d1UYMG6t] >>131 またキミか。