ホームサーバーのセットアップに問題があります。問題は、(より適切な用語がないために)すべてのデータが以前の状態(数か月から数週間前のどこか)に戻ることがありますが、実際にはまれです。
セットアップは、Ubuntu 12.04(Linux 3.2)で実行されている3つのディスクを備えたソフトウェアRAID5上の4TBext4です。 Sambaはそのパーティションのファイルを提供します。
/proc/mdstat
は、アレイが正常であることを示していますsmartclt -H /dev/sdX
は、すべてのデバイスでPASSEDを示しています。ログで何かを見つけようとしましたが、疑わしいものは見つかりませんでした。
前回エラーが発生したとき、シャーでファイルを使用しているときにサーバーを再起動しましたが、fsck
はエラーを検出しませんでした。
エラーの性質は私を困惑させます。 extは書き込みファイルシステム上のコピーではないので、このようなことは不可能だと思いました。私が実行できる診断について考えていただければ、遠慮なくどうぞ。
問題は、データに何が起こったのか、そしてどうすればそれが再び起こらないようにするのかということだと思います。
-編集-
OK私はエラーを見つけました:問題はext4とは何の関係もありませんでした。問題は、デバイスの取り付け方法でした。
データ用のRAID5とバックアップ付きのRAID0があります。しかし、起動時にこれをマウントする方法は100%安定していませんでした。時々バックアップがメインとしてマウントされました。
/etc/fstab
から:
# main RAID array
/dev/md126p1 /media/Main ext4 defaults 0 0
/etc/mdadm/mdadm.conf
から:
# definitions of existing MD arrays
ARRAY /dev/md/Main metadata=1.2 UUID=c2ccbd00:ce414404:0ee05911:eebe2832
ARRAY /dev/md/Backup metadata=1.2 UUID=b4973c41:e735e1c0:29e8be4b:4fe7c007 name=:Backup
私にこの小さな質問に答えることができる人は誰でも恩恵を受けます:保証された安定した方法でバックアップとメインをマウントするための最良の方法は何ですか。
-編集-
/ dev/md/Backup:
Version : 1.2
Creation Time : Sun Jun 19 15:45:35 2011
Raid Level : raid0
Array Size : 3907021824 (3726.03 GiB 4000.79 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Jun 19 15:45:35 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Name : :Backup
UUID : b4973c41:e735e1c0:29e8be4b:4fe7c007
Events : 0
Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 81 1 active sync /dev/sdf1
/ dev/md/Main:
Version : 1.2
Creation Time : Sun Jun 12 02:13:25 2011
Raid Level : raid5
Array Size : 3907021568 (3726.03 GiB 4000.79 GB)
Used Dev Size : 1953510784 (1863.01 GiB 2000.40 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Jan 28 19:00:45 2013
State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 128K
Name : :Neue RAID-Anordnung
UUID : c2ccbd00:ce414404:0ee05911:eebe2832
Events : 17846
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 1 1 active sync /dev/sda1
3 8 65 2 active sync /dev/sde1
最良の方法は、fstab
でUUIDを使用してマウントすることです。
UUID=c2ccbd00:ce414404:0ee05911:eebe2832 /media/Main ext4 defaults 0 0
UUID=b4973c41:e735e1c0:29e8be4b:4fe7c007 /media/Backup ext4 defaults 0 0
@Floydが指摘しているように、ラベルを使用するのも良いことです。変更が必要な場合は、同じデータと同じラベルで新しいデバイスを作成できるからです。だからあなたはすることができます
tune2fs -L RAIDMain /dev/disk/by-uuid/c2ccbd00:ce414404:0ee05911:eebe2832
tune2fs -L RAIDBackup /dev/disk/by-uuid/b4973c41:e735e1c0:29e8be4b:4fe7c007
そしてあなたのfstab
で:
LABEL=RAIDMain /media/Main ext4 defaults 0 0
LABEL=RAIDBackup /media/Backup ext4 defaults 0 0
OPへのコメントで述べたように、必要なのは/etc/mdadm.conf
ファイルで宣言されたパスを使用することだけです。 [〜#〜] uuid [〜#〜]または[〜#〜] label [を使用できます〜#〜]、 @ Stefan Seidel が述べたように、しかしそれらは実際には必要ではありません。
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=37d3cabc:42393031:23c133e6:3b879f08
ARRAY /dev/md1 level=raid5 num-devices=3 UUID=47d4cabd:42393031:23c133e6:3b879f99
MAILADDR root@krycek,root@byers,root@frohike
/dev/md0 /export/raid1 ext3 defaults 1 2
/dev/md1 /export/raid2 ext4 defaults 1 2