新しいRAIDアレイが自動的に組み立てられず、起動の問題が発生する

新しいRAIDアレイが自動的に組み立てられず、起動の問題が発生する

私はこれを尋ねました。質問新しいRAID1アレイをインストールした後、起動できません。私はターミナルにアクセスできましたが、私は問題を解決し、私の問題はfstabブート問題ではなくmdadm自動アセンブリの問題であることに気づきました。

私のシステムには3つのRAID 1アレイがあり、インストールされており、/dev/md1これらの/アレイは現在問題なく実行されています。私はこの配列を作成しませんでした。新しいRAID1アレイを作成し、次のようにext4でフォーマットしました。/dev/md0swap/dev/md2このガイド、その過程で私は新しいパーティション(唯一のパーティション)を作成しましたmd2p1(fdiskが明示的に名前を要求したことはありませんが、ガイドでは同様の名前のパーティションも作成しました)。

この新しいアレイを作成したら、次を使用して手動でインストールできます。

mount -t ext4 /dev/md2p1 /srv/Waveforms

これは素晴らしい作品です。ディレクトリにアクセスして、約700 GBのデータをディレクトリに追加できました。この仕事をした後、私は得る。

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md2 : active raid1 sdc1[0] sdd1[1]
      1953423552 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      961136576 blocks [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      15624128 blocks [2/2] [UU]

unused devices: <none>

、コンピュータは配列を明確に認識します。それから私は

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

これで、ファイルに次のものが含まれます。

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

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
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
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=afa7ccee:df4dfa79:a84dbc05:35401226
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=a0c526cc:6de93504:c8b94301:85474c49
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=1ac720e1:192b2c38:f6e0357b:f3e0074f

# This file was auto-generated on Thu, 10 Mar 2011 00:57:55 -0700
# by mkconf $Id$
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=0.90 UUID=afa7ccee:df4dfa79:a84dbc05:35401226
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=a0c526cc:6de93504:c8b94301:85474c49
ARRAY /dev/md2 level=raid1 num-devices=2 metadata=0.90 UUID=1ac720e1:192b2c38:f6e0357b:f3e0074f

ここに注目すべき2つのことがあります。元のファイルにはこのファイルがありますが、メタデータが認識されない小さな問題を解決するmetadata=00.90ためにこれを修正しましたmetadata=0.90(クイックGoogle検索でこれを説明できます)。

2番目に注目すべき点は、autoがyesに設定されていることです。これは、システムが起動時に自動的にすべてのアレイを組み立てる必要があることを意味します。起動できるという事実は、/ dev / md1が組み立てられたことを意味するため、これが発生します。

とにかく問題が発生しました。再起動後、コンピュータがハングし、次のメッセージが表示されます。

fsck from util-linux-ng 2.17.2
/dev/md1: clean, 3680768/60071936 files, 208210802/240284144 blocks

私のfstabは現在読んでいます

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/md1 during installation
UUID=1d3cb392-f522-485b-8516-a7791fc23c4d /               ext4    errors=remount-ro 0       1
# swap was on /dev/md0 during installation
UUID=6eb8e6f2-3166-4f77-883c-26268d636b0b none            swap    sw              0       0
/dev/md2p1 /srv/Waveforms            ext4    defaults,noauto              0       0

そして

blkid
/dev/sda1: UUID="afa7ccee-df4d-fa79-a84d-bc0535401226" TYPE="linux_raid_member" 
/dev/sda2: UUID="a0c526cc-6de9-3504-c8b9-430185474c49" TYPE="linux_raid_member" 
/dev/sdb1: UUID="afa7ccee-df4d-fa79-a84d-bc0535401226" TYPE="linux_raid_member" 
/dev/sdb2: UUID="a0c526cc-6de9-3504-c8b9-430185474c49" TYPE="linux_raid_member" 
/dev/sdc1: UUID="1ac720e1-192b-2c38-f6e0-357bf3e0074f" TYPE="linux_raid_member" 
/dev/sdd1: UUID="1ac720e1-192b-2c38-f6e0-357bf3e0074f" TYPE="linux_raid_member" 
/dev/md0: UUID="6eb8e6f2-3166-4f77-883c-26268d636b0b" TYPE="swap" 
/dev/md1: UUID="1d3cb392-f522-485b-8516-a7791fc23c4d" TYPE="ext4" 
/dev/md2p1: UUID="867ee91e-527e-435b-b6bc-2f6d89d2d8c6" TYPE="ext4" 

UUID=867ee91e-527e-435b-b6bc-2f6d89d2d8c6以前は置き換えを使用したことがありますが、/dev/md2p1結果は得られませんでした。また、この md2p1 をデフォルトのオプション defaults+noatime,errors=remount-ro として試してみましたが、何も機能しません。

新しいmd2p1行を除外するようにfstabを変更して起動できました。この構成から始めた後、次のような結果が得られます。

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sda1[0] sdb1[1]
      15624128 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      961136576 blocks [2/2] [UU]

したがって、システムはまだmd2を組み立てていません。だから私は走ることができます

sudo mdadm --assemble --scan
[sudo] password for zach: 
mdadm: /dev/md2 has been started with 2 drives.

どこ

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md2 : active raid1 sdc1[0] sdd1[1]
      1953423552 blocks [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      15624128 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      961136576 blocks [2/2] [UU]

これで、上記のように手動でインストールできます。だから問題は、RAID1アレイが起動時に組み立てられず、fstabで認識されず、回復モード以外はまったく起動できないようです。

見つけました。これしかし、答えはautoをyesに設定してから、起動時に自動的に配列をアセンブルするようなので、私には適していないと思います。私の設定はすでにこれを行うように設定されているので、恥ずかしいです。

その投稿に適用可能な答えがありますが、彼の解決策が何であるかを理解していません。以下はDeplicatorの投稿です。

再起動後、/dev/md0は表示されなくなります。 mdadm --detail --scanを再実行します(結果をファイルに保存せずに)。

ARRAY /dev/md/ubuntu:0 metadata=1.2 name=ubuntu:0 UUID=a8a570c6:96f61865:05abe131:5c2e2f7e

/dev/md/ubuntu:0 を手動でインストールします。最後にfstabファイルに入れた内容です。

fstabには何が含まれていますか?問題はブート時にmd2を組み立てないため、fstabがmd2p1パーティションをマウントしようとするたびに中断されます。実際、これはmd2がパーティション化され、他のパーティションはパーティション化されていないことに関連している可能性がありますが、なぜこれが起こるのか理解できません。

編集:もしかしたら

uname -a
Linux ccldas2 2.6.32-74-server #142-Ubuntu SMP Tue Apr 28 10:12:19 UTC 2015 x86_64 GNU/Linux

答え1

私は2つの質問を考える

  1. に重複した配列定義がありますmdadm.conf。各配列が最新のスキャンでのみ宣言されるように、ARRAY次の3行のコードブロックを置き換えるかコメント化します。# definitions of existing MD arrays

  2. 起動時にRAIDアレイが構築されない一般的なケースは、起動時に更新されなかったためです。initramfsまたは起動時に実行するように設定されていません。非常に迅速にナビゲートあなたが引用したガイドこのステップへの言及はないようですが、私が間違っている可能性があります。 Debianシステムでは、コマンドは次のようになります。

     dpkg-reconfigure mdadm    # Choose "all" disks to start at boot
     update-initramfs -u       # Updates the existing initramfs
    

答え2

mdadm.conf次のようにUUIDを使用するだけです。

ARRAY /dev/md0 UUID=d8b8b4e5:e47b2e45:2093cd36:f654020d

他のすべての条件では、RAIDの組み立てが妨げられる可能性があります。

(使用されなくなった)自動組立の場合は、次のものが必要です。

  • パーティションタイプfd
  • メタデータ0.90
  • initramfs がまったく存在しないか、initramfs が存在することを確認してください。raidautorun /dev/disk

自動組み立てが失敗した場合は、dmesg何が間違っているかについてのいくつかのマーキングを維持する必要があります。

一般的に、可能であれば(そしてとにかくinitramfsが関連している場合)、最新の基本メタデータ形式に固執してください1.2mdadmmdadm.conf

関連情報