CentOSは、ディスクがビジーであり、マウントまたはfsckできないと考えています


25

私は長年のユーザーであり、初めての質問提出者です。私はこのサイトや他の多くのサイトで解決策を探すために丸1日を費やしましたが、状況を解決するために支援を求めることに頼らなければなりません。

履歴:HP Proliant、Centos 5.9サーバーは、適切なシャットダウン手順なしで昨日電源がオフになりました。その時点から、/ homeパーティションは、fsck、マウント、またはアンマウントができない状態になりました。umountは、マウントされていないことを示しますが、mount / fsckはビジー状態または既にマウントされていることを示します。これにより、サーバーが起動しなくなりました。最終的には、ブートアップが失敗しないように、/ etc / fstabからディスク/パーティションを削除しました。

# mount -t ext3 /dev/cciss/c0d0p1 /home
mount: /dev/cciss/c0d0p1 already mounted or /home busy

# fsck /dev/cciss/c0d0p1 
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
fsck.ext3: Device or resource busy while trying to open /dev/cciss/c0d0p1
Filesystem mounted or opened exclusively by another program?

ご覧のとおり、ディスクはどのようにもマウントされていません。

df出力:

# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/cciss/c0d1p3    198381228  24920704 163220696  14% /
/dev/cciss/c0d1p2    267818128    191652 253802544   1% /logs
/dev/cciss/c0d1p1       194442     33575    150828  19% /boot
tmpfs                 49495044         0  49495044   0% /dev/shm

マウント出力:

# mount
/dev/cciss/c0d1p3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/cciss/c0d1p2 on /logs type ext3 (rw)
/dev/cciss/c0d1p1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

/ etc / fstab

# cat /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/logs             /logs                   ext3    defaults        1 2
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SW-cciss/c0d1p5   swap                    swap    defaults        0 0

/ etc / mtab

# cat /etc/mtab 
/dev/cciss/c0d1p3 / ext3 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
/dev/cciss/c0d1p2 /logs ext3 rw 0 0
/dev/cciss/c0d1p1 /boot ext3 rw 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0

/ proc / mounts

# cat /proc/mounts 
rootfs / rootfs rw 0 0
/dev/root / ext3 rw,data=ordered 0 0
/dev /dev tmpfs rw 0 0
/proc /proc proc rw 0 0
/sys /sys sysfs rw 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
devpts /dev/pts devpts rw 0 0
/dev/cciss/c0d1p2 /logs ext3 rw,data=ordered 0 0
/dev/cciss/c0d1p1 /boot ext3 rw,data=ordered 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
/etc/auto.misc /misc autofs rw,fd=7,pgrp=9694,timeout=300,minproto=5,maxproto=5,indirect 0 0
-hosts /net autofs rw,fd=13,pgrp=9694,timeout=300,minproto=5,maxproto=5,indirect 0 0

lsof

# lsof /dev/cciss/c0d0p1 
#

定着器

# fuser /dev/cciss/c0d0p1  
#

fdisk -l

# fdisk -l /dev/cciss/c0d0

Disk /dev/cciss/c0d0: 1800.2 GB, 1800280694784 bytes
255 heads, 63 sectors/track, 218871 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

           Device Boot      Start         End      Blocks   Id  System
/dev/cciss/c0d0p1   *           1      218871  1758081276   83  Linux

Web上の他の推奨事項に従って、ILO3リモートターミナルを使用してCentos LiveCDから起動しました。これを行うと、エラーや問題なくパーティションをマウント/アンマウント、fsck、できました。(つまり、ディスク自体は問題ありません)。

また、「debugfs」を使用して、Journal Inode <8>のiノードクリアを実行しました。fsckは、エラーなしでジャーナルを再構築しました。繰り返しになりますが、LiveCDを起動しても問題なくディスクをマウント/アンマウントできました。

通常のブートパーティションに戻ると、同じ場所に戻っており、パーティションがビジーであるとOSが信じているため、マウントまたはfsckを実行できません。

このディスクが使用中であることをLinux内で他に何が示しているのかを理解したいと思っています。これを見つけてクリアするには、他にどのユーティリティを使用できますか?

どんな助けも大歓迎です。


要求された追加情報

/ homeのlsofとfuser、および/ homeの内容とディレクトリのアクセス許可の表示。

# lsof /home
# fuser /home
# ls -la /home
total 16
drwxr-xr-x  2 root root 4096 Mar 15  2013 .
drwxr-xr-x 27 root root 4096 Nov 19 08:31 ..
# ls -l / | grep home
drwxr-xr-x   2 root root  4096 Mar 15  2013 home
#

このパーティションは最新のブート以降にマウントされていないため、mount -o remountは失敗します。(これはサーバーがインストールされてからの作業パーティションであり、昨日のハード再起動後にのみこの問題を示しました)。

# mount -o remount -t ext3 /dev/cciss/c0d0p1 /home
mount: /home not mounted already, or bad option

このパーティションを/ etc / fstabに再度追加し、必要に応じて再起動できます。


2013/11/19 11:12 am CST

dmsetupの出力:

# dmsetup table                
mpath0: 0 3516173232 multipath 1 queue_if_no_path 0 1 1 round-robin 0 1 1 104:0 1000 
mpath0p1: 0 3516162552 linear 253:0 63

# dmsetup info
Name:              mpath0
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        1
Event number:      1
Major, minor:      253, 0
Number of targets: 1
UUID: mpath-3600508b1001cb6e6453d25c4052abca5

Name:              mpath0p1
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        0
Event number:      0
Major, minor:      253, 1
Number of targets: 1
UUID: part1-mpath-3600508b1001cb6e6453d25c4052abca5

lsof -n

# lsof -n | grep /home
#

最終的解決:

# multipath -ll
mpath0 (3600508b1001cb6e6453d25c4052abca5) dm-0 HP,LOGICAL VOLUME
[size=1.6T][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
 \_ #:#:#:# cciss!c0d0 104:0  [active][ready]

# multipath -F

# multipath -ll
#

# mount -t ext3 /dev/cciss/c0d0p1 /home
# cat /proc/mounts | grep home
/dev/cciss/c0d0p1 /home ext3 rw,data=ordered 0 0

5
初めての質問の良い例です。
TheCleaner

2
良い質問!それはです本当にロングショットが、あなたはしようと考えていますかmount -o remount /home?また、私は実際に空であることを確認/ホームを作るためにチェックするファイルシステムがマウントされ(それがされていない場合にすべき問題ではないが、誰が知っている?)とシステムログで、該当するメッセージを探し、を含みますdmesg
CVn

2
ディスクのlsofを実行します。マウントポイントに影響する何かが実行されている場合に備えて、/ homeのlsof / fuserも実行してみましたか?
ジェニーDは、モニカを復活させる

1
ちなみに、あなたはたまたまそのディレクトリをエクスポートしていますか?ディレクトリをマウントする前にnfs-serverを起動すると、マウントをブロックする可能性があります。
ジェニーDは

1
の出力はlsof -n | grep /home何ですか?AFAIK lsof / homeは、/ homeが開いているプロセスを探しますが、サブディレクトリの使用を報告しません。
ゾレダチェ

回答:


16

おそらくデバイスマッパーによって使用されています。

を使用してデバイスマッパーテーブルを確認しますdmsetup table。そこにある場合は、でマッピングをクリアしdmsetup remove <name>ます。

そうでない場合は、dmesg同様にエラーを探します。


# dmsetup table
mpath0: 0 3516173232 multipath 1 queue_if_no_path 0 1 1 round-robin 0 1 1 104:0 1000 
mpath0p1: 0 3516162552 linear 253:0 63

ああああ!マルチパスがディスクを要求しました。を実行すると表示できますmultipath -ll

実行:multipath -Fすべての未使用マップをフラッシュし、multipath -ll何も出力しないはずです。

または、単にの/dev/mapper/mpath0p1代わりに使用します/dev/cciss/c0d0p1


この出力が何を示しているのか分かりません。これはあなたが期待していた出力を示していますか?[ このコメントボックスでは、キャリッジリターンが機能しないようです。 ]# dmsetup table mpath0: 0 3516173232 multipath 1 queue_if_no_path 0 1 1 round-robin 0 1 1 104:0 1000 mpath0p1: 0 3516162552 linear 253:0 63
TripSixes

1

トラブルシューティングプロセスに関連して、lsofまたはfuserを試すときは、関連するパーティションだけでなく、ディスクに対して直接チェックしてください。これにより、すぐに正しいソリューションに導かれます。


悪い:

fuser /dev/cciss/c0d0p1

良い:

fuser /dev/cciss/c0d0

悪い:

lsof /dev/c0d0p1

良い:

lsof /dev/ | grep c0d0

1

既存のSAN LUNを新しいサーバーに複製した後、これに遭遇しました。私の解決策は:

  • メンテナンスモードに入る
  • mount -o remount,rw /dev/sda1 (sda1はあなたが問題を抱えているものです)
  • 削除/移動 /etc/blkid/blkid.tab

その後、サーバーが起動しました。


-2

私自身の経験から言えば。fstabもチェックして、デバイスを論理ボリュームとしてマウントしようとしていることを確認し、指定したエイリアスやoff / etc / multipath / bindingsを使用していないことを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.