web-dev-qa-db-ja.com

Ubuntu Server 14.04-mdadmで作成されたRAID5は、再起動後に消えます

これはスーパーユーザーに関する私の最初の質問ですので、何か言及するのを忘れた場合は、質問してください。

ファイルサーバーとメディアサーバーとして使用されるホームサーバーをセットアップしようとしています。 Ubuntu Server 14.04をインストールしましたが、mdadmを使用して、合計5つのディスクで構成されるRaid5をセットアップしようとしています。レイドが作成された後、私はそれを使用することができ、他のPCからレイドにアクセスすることもできます。サーバーを再起動した後、レイドは表示されなくなります。私もレイドを組み立てることができませんでした。

次の手順を実行しました。

RAIDを作成する

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=5 /dev/sda /dev/sdc /dev/sdd /dev/sde /dev/sdf

RAIDが完了した後(watch cat /proc/mdstat)、RAID構成を保存します

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

次に、mdadm.confのエントリの一部を削除しました。結果のファイルは次のようになります。

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
#DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Fri, 14 Mar 2014 23:38:10 +0100
# by mkconf $Id$
ARRAY /dev/md0 UUID=b73a8b66:0681239e:2c1dd406:4907f892

RAIDが機能しているかどうかを確認します(mdadm --detail /dev/md0)は以下を返します:

/dev/md0:
Version : 1.2
Creation Time : Sat Apr 19 15:49:03 2014
Raid Level : raid5
Array Size : 7813531648 (7451.56 GiB 8001.06 GB)
Used Dev Size : 1953382912 (1862.89 GiB 2000.26 GB)
Raid Devices : 5
Total Devices : 5
Persistence : Superblock is persistent

Update Time : Sat Apr 19 22:13:37 2014
State : clean
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : roembelHomeserver:0  (local to Host roembelHomeserver)
UUID : c29ca6ea:951be1e7:ee0911e9:32b215c8
Events : 67

Number   Major   Minor   RaidDevice State
0       8        0        0      active sync   /dev/sda
1       8       32        1      active sync   /dev/sdc
2       8       48        2      active sync   /dev/sdd
3       8       64        3      active sync   /dev/sde
5       8       80        4      active sync   /dev/sdf

私の知る限り、これはすべて良さそうです。次のステップで、ファイルシステムを作成しました。

mke2fs -t ext4 /dev/md0

これにより、次の出力が得られます。

mke2fs 1.42.8 (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=512 blocks
244174848 inodes, 1953382912 blocks
97669145 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
59613 block groups
32768 blocks per group, 32768 fragments per group
4096 inodes per group
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
    102400000, 214990848, 512000000, 550731776, 644972544, 1934917632

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

次に、ファイルの最後に次のエントリを追加して、fstabに変更しました。

/dev/md0    /data    ext4    defaults,nobootwait,no fail     0    2

RAIDをマウントした後(mount -a)それから私はそれを使用し、ファイルを作成し、他のPCからそれにアクセスすることができました...

問題が発生しました:
サーバーを再起動した後(reboot now)、RAIDはもう存在しません。
-いいえ/ dev/md0
-空の/ proc/mdstat(パーソナリティ以外)
-df-hはレイドを表示しません
-mdadm--assemble--scanは何もしません

誰か提案がありますか?私は何か間違ったことをしましたか?

5
user318354

起動時に配列をロードするようにinitramfsに指示するという1つのステップを忘れたようです。すべてのステップは正しく、時系列でしたが、最後のステップを逃したようです。ただし、サーバーの現在のステータスがわからないという事実を踏まえて、次のことを試してみることをお勧めします。

起動して入力します

mdadm --detail --scan

何か見えますか?もしそうなら、あなたのアレイはそこにあり、それは機能するはずです(つまり、以下の解決策は役に立ちません)。再起動すると、RAIDドライブがまったく表示されないのではないかと思います。それが本当なら、

MDADMデーモンが実行されていることを確認してくださいps aux | grep mdadm

これにより、MDADMプロセスが実行されているかどうかが表示されます(結果が表示されない場合は、MDADMを開始します)

  1. アレイがマウントされていることを確認してくださいmount -a

  2. Initramfsを更新しますupdate-initramfs -u

  3. MDADMが同期を実行していないことを確認するか、再構築しますwatch cat /proc/mdstat

何か処理がある場合は、配列を台無しにしないように、最初に終了させて​​ください

再起動してテストします

2
MrPotatoHead

再起動後、RAIDディスクもマウントされませんでした。ただし、dmesgから、再起動後に/ dev/md0の名前が/ deb/md127になっていることに気付きました。それに応じてfstabを修正し、問題を修正しました。

0
antipant

Rawドライブではなくパーティションを使用して、私のマシンの問題を解決しました。だから代わりに

 mdadm --create --verbose /dev/md0 --level=5 --raid-devices=5 /dev/sda /dev/sdc /dev/sdd /dev/sde /dev/sdf

それはそのようになります

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=5 /dev/sda1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

各パーティションにレイドフラグ(gpartedを使用)を設定してください。私の理解では、これによりmdadmデーモンがパーティションを確認し、起動時にアレイを再初期化できます。

0
Sheldon Ross