起動しなくなったLS-H320GLのディスク
- 2013/03/12 23:22
- カテゴリー:PC, LS-HGL(NAS)
受け皿が出来たので起動しなくなったLS-H320GLのディスクを取り出し可能な限りファイルを復活させる
ディスクの取り出し
LS-H320GLの分解方法はこちらに記録(ネットで検索すれば沢山でてくるようだ)
SAMSUNGの320GBディスクが出てきた
S.M.A.R.T.取得
USBで接続してディスクの状態を見てみる
電源投入が200回位なのに代替セクタが8個も保留という酷い状態になっている
不良セクタがトラックで収まっていて分散してなければ良いが・・・
この時点でLS-320GLが起動しなくなった原因はディスク不良がほぼ確定かな
Ubuntuでディスクを接続
まずはファイルの取り出しで、余計なことをして更に悪化させないようにする
$ ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 3月 12 16:30 /dev/sda
brw-rw---- 1 root disk 8, 2 3月 12 16:30 /dev/sda2
brw-rw---- 1 root disk 8, 3 3月 12 16:30 /dev/sda3
brw-rw---- 1 root disk 8, 5 3月 12 16:30 /dev/sda5
brw-rw---- 1 root disk 8, 6 3月 12 16:30 /dev/sda6
brw-rw---- 1 root disk 8, 7 3月 12 16:30 /dev/sda7
brw-rw---- 1 root disk 8, 8 3月 12 16:30 /dev/sda8
brw-rw---- 1 root disk 8, 16 3月 12 16:30 /dev/sdb
brw-rw---- 1 root disk 8, 32 3月 12 16:30 /dev/sdc
brw-rw---- 1 root disk 8, 48 3月 12 16:32 /dev/sdd
brw-rw---- 1 root disk 8, 49 3月 12 16:32 /dev/sdd1
brw-rw---- 1 root disk 8, 50 3月 12 16:32 /dev/sdd2
brw-rw---- 1 root disk 8, 52 3月 12 16:32 /dev/sdd4
brw-rw---- 1 root disk 8, 53 3月 12 16:32 /dev/sdd5
brw-rw---- 1 root disk 8, 54 3月 12 16:32 /dev/sdd6
パーティション 用途
第1パーティション /boot
第2パーティション /
拡張パーティション 残り全部
論理パーティション1 swap
論理パーティション2 データ
LS-HGLの場合
/dev/sda1 ext3 1GB
/dev/sda2 xfs 5GB
/dev/sda4
/dev/sda5 swap 1GB
/dev/sda6 xfs 残り全部
$ sudo fdisk -l /dev/sdd
Disk /dev/sdd: 320.1 GB, 320072933376 bytes
ヘッド 255, セクタ 63, シリンダ 38913, 合計 625142448 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x5717ba4e
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdd1 63 2008124 1004031 83 Linux
/dev/sdd2 2008125 12016619 5004247+ 83 Linux
/dev/sdd4 12016620 625137344 306560362+ 5 拡張領域
/dev/sdd5 12016683 14024744 1004031 82 Linux スワップ / Solaris
/dev/sdd6 14024808 625137344 305556268+ 83 Linux
$ sudo mount /dev/sdd6 /media/usb0
$ ls -l /media/usb0
合計 4
drwxrwxrwx 19 root root 4096 11月 5 21:00 share
drwxrwxrwx 6 root root 50 9月 22 16:33 spool
$ ls -l /media/usb0/share
合計 40
・・・
$
バックアップしてたファイルは見えた
ファイルコピー
sambaで/mediaを読み込み用で設定してあるので、/media下にmountすればWindowsから参照可能
[media]
path = /media
public = yes
read only = yes
WindowsXPからsamba経由でサイズとファイル、フォルダ数を確認してコピー開始
約6時間30分でコピーが終了(USB→LAN経由なので時間はかかる)
$ dmesg
・・・
[ 153.227559] sd 3:0:0:0: Attached scsi generic sg3 type 0
[ 153.229423] sd 3:0:0:0: [sdd] 625142448 512-byte logical blocks: (320 GB/298 GiB)
[ 153.230038] sd 3:0:0:0: [sdd] Write Protect is off
[ 153.230048] sd 3:0:0:0: [sdd] Mode Sense: 23 00 00 00
[ 153.230665] sd 3:0:0:0: [sdd] No Caching mode page present
[ 153.231175] sd 3:0:0:0: [sdd] Assuming drive cache: write through
[ 153.235167] sd 3:0:0:0: [sdd] No Caching mode page present
[ 153.235678] sd 3:0:0:0: [sdd] Assuming drive cache: write through
[ 153.265053] sdd: sdd1 sdd2 sdd4 < sdd5 sdd6 >
[ 153.268322] sd 3:0:0:0: [sdd] No Caching mode page present
[ 153.268835] sd 3:0:0:0: [sdd] Assuming drive cache: write through
[ 153.269390] sd 3:0:0:0: [sdd] Attached SCSI disk
[ 808.855864] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
[ 808.866251] SGI XFS Quota Management subsystem
[ 808.898259] XFS (sdd6): Mounting Filesystem
[ 809.023374] XFS (sdd6): Ending clean mount
$
ディスクの読み込みエラー等は発生していないので問題なさそうだ
全てのファイルを取り出すことに成功した(非常にラッキーである)
ディスクの修復
ハード的に問題があるので復旧は無理だがファームを取り出せれば良いかと思い試してみる
データ(share)パーティションに問題がなかったか確認
$ sudo fsck /dev/sdd6
fsck from util-linux 2.20.1
fsck: fsck.xfs: not found
fsck: error 2 while executing fsck.xfs for /dev/sdd6
$
xfsが扱えないのか
$ ls -l /sbin/*fsck*
-rwxr-xr-x 1 root root 51560 12月 20 2011 /sbin/dosfsck
-rwxr-xr-x 1 root root 233448 3月 31 2012 /sbin/e2fsck
-rwxr-xr-x 1 root root 31568 3月 30 2012 /sbin/fsck
-rwxr-xr-x 1 root root 14592 3月 30 2012 /sbin/fsck.cramfs
lrwxrwxrwx 1 root root 6 3月 31 2012 /sbin/fsck.ext2 -> e2fsck
lrwxrwxrwx 1 root root 6 3月 31 2012 /sbin/fsck.ext3 -> e2fsck
lrwxrwxrwx 1 root root 6 3月 31 2012 /sbin/fsck.ext4 -> e2fsck
lrwxrwxrwx 1 root root 6 3月 31 2012 /sbin/fsck.ext4dev -> e2fsck
-rwxr-xr-x 1 root root 31160 3月 30 2012 /sbin/fsck.minix
lrwxrwxrwx 1 root root 7 12月 20 2011 /sbin/fsck.msdos -> dosfsck
-rwxr-xr-x 1 root root 333 7月 27 2012 /sbin/fsck.nfs
lrwxrwxrwx 1 root root 7 12月 20 2011 /sbin/fsck.vfat -> dosfsck
$ aptitude search xfs
p obexfs - ObexFTP を利用可能なデバイスのファイルシス
p obexfs:i386 - ObexFTP を利用可能なデバイスのファイルシス
p x11-xfs-utils - X フォントサーバユーティリティ
p x11-xfs-utils:i386 - X フォントサーバユーティリティ
p xfs - X フォントサーバ
p xfs:i386 - X フォントサーバ
p xfsdump - XFS ファイルシステム管理用ユーティリティ集
p xfsdump:i386 - XFS ファイルシステム管理用ユーティリティ集
p xfslibs-dev - XFS filesystem-specific static libraries a
p xfslibs-dev:i386 - XFS filesystem-specific static libraries a
p xfsprogs - XFS ファイルシステム管理用ユーティリティ
p xfsprogs:i386 - XFS ファイルシステム管理用ユーティリティ
p xfstt - X Font Server for TrueType fonts
p xfstt:i386 - X Font Server for TrueType fonts
p xfswitch-plugin - fast user switching plugin for the Xfce pa
p xfswitch-plugin:i386 - fast user switching plugin for the Xfce pa
$ sudo aptitude install xfsprogs
以下の新規パッケージがインストールされます:
libreadline5{a} xfsprogs
0 個のパッケージを更新、 2 個を新たにインストール、 0 個を削除予定、26 個が更新 されていない。
1,354 k バイトのアーカイブを取得する必要があります。 展開後に 3,082 k バイトのディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y
取得: 1 http://jp.archive.ubuntu.com/ubuntu/ precise/main libreadline5 amd64 5.2-11 [128 kB]
取得: 2 http://jp.archive.ubuntu.com/ubuntu/ precise/main xfsprogs amd64 3.1.7 [1,226 kB]
Fetched 1,354 kB in 0秒 (1,501 kB/s)
Selecting previously unselected package libreadline5.
(データベースを読み込んでいます ... 現在 54925 個のファイルとディレクトリがイン ストールされています。)
(.../libreadline5_5.2-11_amd64.deb から) libreadline5 を展開しています...
Selecting previously unselected package xfsprogs.
(.../xfsprogs_3.1.7_amd64.deb から) xfsprogs を展開しています...
man-db のトリガを処理しています ...
libreadline5 (5.2-11) を設定しています ...
xfsprogs (3.1.7) を設定しています ...
libc-bin のトリガを処理しています ...
ldconfig deferred processing now taking place
$ sudo fsck /dev/sdd6
fsck from util-linux 2.20.1
If you wish to check the consistency of an XFS filesystem or
repair a damaged filesystem, see xfs_check(8) and xfs_repair(8).
で、事なので再度
$ sudo xfs_check /dev/sdd6
$ dmesg
(変化なし)
$
変化なしなのでバックアップファイルは問題なかったようだ
次にbootパーティション
$ sudo xfs_check /dev/sdd1
xfs_check: /dev/sdd1 is not a valid XFS filesystem (unexpected SB magic number 0x00000000)
xfs_check: WARNING - filesystem uses v1 dirs,limited functionality provided.
xfs_check: read failed: 無効な引数です
cache_node_purge: refcount was 1, not zero (node=0x23475c0)
xfs_check: cannot read root inode (22)
bad superblock magic number 0, giving up
bootはxfsではないのね
$ sudo fsck /dev/sdd1
fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
Backing up ジャーナル iノード block information.
/dev/sdd1: clean, 16/125696 files, 10067/251007 blocks
$ sudo dd if=/dev/sdd1 of=/dev/null
2008062+0 レコード入力
2008062+0 レコード出力
1028127744 バイト (1.0 GB) コピーされました、 31.0552 秒、 33.1 MB/秒
$ sudo mount /dev/sdd1 /mnt
$ ls -l /mnt
合計 8040
-rw-r--r-- 1 root root 24947 11月 20 00:01 conf_save.tgz
-rw-r--r-- 1 root root 5971059 10月 21 2008 initrd.buffalo
-rw-r--r-- 1 root root 236698 11月 20 00:01 log.tgz
drwxr-xr-x 2 root root 4096 9月 22 20:05 lost+found
-rw-r--r-- 1 root root 245776 8月 11 2008 u-boot.buffalo
-rw-r--r-- 1 root root 1715896 9月 22 20:02 uImage.buffalo
$ sudo umount /mnt
bootパーティションも問題なし
ということはrootパーティションに異常セクタがあるのか
$ sudo xfs_check /dev/sdd2
xfs_check: read failed: 入力/出力エラーです
XFS: empty log check failed
ERROR: cannot find log head/tail, run xfs_repair
$ dmesg
・・・
[ 4912.654436] sd 3:0:0:0: [sdd] Unhandled sense code
[ 4912.654446] sd 3:0:0:0: [sdd] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[ 4912.654456] sd 3:0:0:0: [sdd] Sense Key : Medium Error [current]
[ 4912.654467] sd 3:0:0:0: [sdd] Add. Sense: Unrecovered read error
[ 4912.654479] sd 3:0:0:0: [sdd] CDB: Read(10): 28 00 00 6b 28 35 00 00 08 00
[ 4912.654501] end_request: critical target error, dev sdd, sector 7022645
[ 4912.655101] Buffer I/O error on device sdd2, logical block 5014520
[ 4912.655657] Buffer I/O error on device sdd2, logical block 5014521
[ 4912.656233] Buffer I/O error on device sdd2, logical block 5014522
[ 4912.656789] Buffer I/O error on device sdd2, logical block 5014523
[ 4912.657344] Buffer I/O error on device sdd2, logical block 5014524
[ 4912.657899] Buffer I/O error on device sdd2, logical block 5014525
[ 4912.658454] Buffer I/O error on device sdd2, logical block 5014526
[ 4912.659008] Buffer I/O error on device sdd2, logical block 5014527
[ 4917.589008] sd 3:0:0:0: [sdd] Unhandled sense code
[ 4917.589018] sd 3:0:0:0: [sdd] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[ 4917.589028] sd 3:0:0:0: [sdd] Sense Key : Medium Error [current]
[ 4917.589039] sd 3:0:0:0: [sdd] Add. Sense: Unrecovered read error
[ 4917.589050] sd 3:0:0:0: [sdd] CDB: Read(10): 28 00 00 6b 28 35 00 00 01 00
[ 4917.589072] end_request: critical target error, dev sdd, sector 7022645
[ 4917.589673] Buffer I/O error on device sdd2, logical block 5014520
[ 4923.784293] sd 3:0:0:0: [sdd] Unhandled sense code
[ 4923.784304] sd 3:0:0:0: [sdd] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[ 4923.784313] sd 3:0:0:0: [sdd] Sense Key : Medium Error [current]
[ 4923.784323] sd 3:0:0:0: [sdd] Add. Sense: Unrecovered read error
[ 4923.784335] sd 3:0:0:0: [sdd] CDB: Read(10): 28 00 00 6b 28 36 00 00 01 00
[ 4923.784356] end_request: critical target error, dev sdd, sector 7022646
[ 4923.784960] Buffer I/O error on device sdd2, logical block 5014521
[ 4928.984276] sd 3:0:0:0: [sdd] Unhandled sense code
[ 4928.984286] sd 3:0:0:0: [sdd] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[ 4928.984296] sd 3:0:0:0: [sdd] Sense Key : Medium Error [current]
[ 4928.984306] sd 3:0:0:0: [sdd] Add. Sense: Unrecovered read error
[ 4928.984318] sd 3:0:0:0: [sdd] CDB: Read(10): 28 00 00 6b 28 37 00 00 06 00
[ 4928.984340] end_request: critical target error, dev sdd, sector 7022647
[ 4928.984940] Buffer I/O error on device sdd2, logical block 5014522
[ 4928.985496] Buffer I/O error on device sdd2, logical block 5014523
[ 4928.986051] Buffer I/O error on device sdd2, logical block 5014524
[ 4928.986605] Buffer I/O error on device sdd2, logical block 5014525
[ 4928.987160] Buffer I/O error on device sdd2, logical block 5014526
[ 4929.000019] Buffer I/O error on device sdd2, logical block 5014527
$ sudo xfs_repair /dev/sdd2
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
xfs_repair: read failed: 入力/出力エラーです
XFS: empty log check failed
zero_log: cannot find log head/tail (xlog_find_tail=5), zeroing it anyway
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
$
修復は無理なようだ
物理フォーマットするか不良セクタを回避してパーティションを構成すれば何かに使えるけど、このディスクはしばらくは置いておくか