[過去ログ] /**ファイルシステム総合スレ その7**/ (955レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
81
(12): 2007/03/20(火)02:26 ID:9XkrolDx(1/9) AAS
普段、/ をroでマウントしており、特定の変更をするときにスクリプト内で
# mount -o remount,rw /
# <何か変更をする>
# mount -o remount, ro /

しかし時々気がつくと/がrwのままになっており, roにしようとすると
mount: / is busy
と帰ってきます。

しかし
# lsof +D / | grep [0-9][ru]
としても何も出力されないので/ファイルシステム上で書き込み、更新のためにオープンされているファイルが
省1
82
(1): 2007/03/20(火)02:49 ID:WFL4qjLS(2/2) AAS
>>81
実行している

じっこうしている
ジッコウシテイル
83
(1): 80 2007/03/20(火)05:48 ID:9XkrolDx(2/9) AAS
>>82
具体的に「実行」とはどういう状態を言うのでしょうか? 実際に/から実行されているプログラムは常に多数あるのですが、
普段の状態でしたらremount,roは問題なく出来てます。 
84
(1): 2007/03/20(火)07:13 ID:RYKbVfI1(1) AAS
>>83
cd しているプロセスがある
85
(1): 80 2007/03/20(火)08:21 ID:9XkrolDx(3/9) AAS
>>84
82さんの回答と同様、それは恐らく"umount"すると時にひっかかる条件だと思います。 
「正常に」機能している時には以下のようなことしても無問題です。

# mount -o remount,rw /
# cd /
# pwd
/
# mount -o remount,ro /
# echo $?
0
86
(1): 2007/03/20(火)11:09 ID:Us/F7Xyr(1) AAS
>>78
tkttktt?
87
(1): 2007/03/20(火)13:37 ID:J8vIycR5(1/2) AAS
>>85
cdのあとtouch .1 しても?
88
(1): 2007/03/20(火)13:41 ID:J8vIycR5(2/2) AAS
find / -exec fuser {} ';'も調べたい
89
(1): 2007/03/20(火)14:27 ID:w+2ZTJtq(1/2) AAS
rwでremountしてからroでremountするまでの間に、何かのプログラムが実行されたんじゃね?
90
(2): 2007/03/20(火)18:04 ID:YBt0Z9W0(1) AAS
スクリプト内でremountに失敗

mountコマンドがデバイスをつかんだまま

remountに再び失敗

違うかな?
91: 80 2007/03/20(火)21:52 ID:9XkrolDx(4/9) AAS
>>87
無問題です。以下のようにしてあからさまにwriteでファイルを開かないと"busy"とはなりません。

# mount -o remount,rw /
# cd /
# cat > hoge
^Z
[1]+ Stopped cat >hoge
# mount -o remount,ro /
mount; / is busy
# kill %1
省4
92: ◆P39B8if24g 2007/03/20(火)22:16 ID:6hd4y+2s(1/2) AAS
てす
93: ◆P39B8if24g 2007/03/20(火)22:18 ID:6hd4y+2s(2/2) AAS
てす
94
(1): 80 2007/03/20(火)22:23 ID:9XkrolDx(5/9) AAS
>>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
省11
95: 80 2007/03/20(火)22:24 ID:9XkrolDx(6/9) AAS
続き

/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
省18
96: 80 2007/03/20(火)22:25 ID:9XkrolDx(7/9) AAS
最後
/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
省6
97
(1): 80 2007/03/20(火)22:30 ID:9XkrolDx(8/9) AAS
>>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
(1): 80 2007/03/20(火)23:06 ID:9XkrolDx(9/9) AAS
>>89 可能性としてはありそうです。しかしその結果、なぜ今の状態になってしまったのかが謎です。
>>90どう見てもmountコマンド自体は終了してますが、カーネル内部的に「つかんだ」ままになっている
のでしょうか?

さて、そろそろソースを読まねばという感じです。ちなみにCentOS4.4の2.6.9カーネルです。
99
(2): 2007/03/20(火)23:45 ID:w+2ZTJtq(2/2) AAS
>>97
> 無問題です。以下のようにしてあからさまにwriteでファイルを開かないと"busy"とはなりません。

あー、それならwriteで書き込まれたデータがまだディスクに書かれてない状態ですな。
まずはremount前にsyncを実行しましょう。
それでもダメな場合は、数秒待ってから再度sync->remountしてみてください。

私のところはFreeBSDだけど、shellスクリプト内でumountする時に以下のようにしています。

echo " unmount"
/bin/sync

/bin/sleep 60
/sbin/umount ${MNT}
省7
100: 2007/03/21(水)00:17 ID:S9uQBvMx(1) AAS
外部リンク:linuxfs.pbwiki.com
1-
あと 855 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s