mdadm RAID 5と認識できない別々のディスクラベル

mdadm RAID 5と認識できない別々のディスクラベル

3つの3TBドライブがあり、mdadmを使用してRAID 5設定に結合しようとしていますが、いくつかの問題があります。 (実際には3TBドライブ4台を使用する予定ですが、そのうちの1つに現在のデータが含まれているので、まずそのデータをバックアップする必要があります。だから、ドライブのうち3台を使用してどうするかを調べました。すべてが正常に動作するようにしてから、データをバックアップし、4つのドライブをすべて使用して再構築します)

まず、ここで説明されている指示に従って初期設定を実行しました。https://raid.wiki.kernel.org/index.php/RAID_setup

私は最終的に:

root@VMHost:/home/lex# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Nov 10 22:41:00 2014
     Raid Level : raid5
     Array Size : 5860270080 (5588.79 GiB 6000.92 GB)
  Used Dev Size : 2930135040 (2794.39 GiB 3000.46 GB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Tue Nov 11 05:14:13 2014
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : VMHost:0  (local to host VMHost)
           UUID : d058bef5:ae3c96bd:a3a7d216:cb6aca06
         Events : 81

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb
       3       8       64        2      active sync   /dev/sde

その後、次のコマンドを使用してファイルシステムを作成しようとしました。

root@VMHost:/home/lex# mkfs.ext3 -v -m .1 -b 4096 -E stride=128,stripe-width=256 /dev/md0
mke2fs 1.42.9 (4-Feb-2014)
fs_types for mke2fs.conf resolution: 'ext3', 'big'
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
183136256 inodes, 1465067520 blocks
1465067 blocks (0.10%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
44711 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

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

ただし、インストールしようとすると、次のメッセージが表示されます。

root@VMHost:/home/lex# mount /dev/md0 /mnt/md0/
NTFS signature is missing.
Failed to mount '/dev/md0': Invalid argument
The device '/dev/md0' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

また、型をext3として指定します。

root@VMHost:/home/lex# mount -t ext3 /dev/md0 /mnt/md0
mount: wrong fs type, bad option, bad superblock on /dev/md0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

だから、あらかじめドライブにパーティションを作成してから、そのパーティションを(フルドライブではなく)RAID設定として使用する必要があると考えて、RAIDを分解してドライブにパーティションを作成し始めましたが、そうではありませんでした。場合。 gptドライブを作成しましたが認識されないようです

root@VMHost:/home/lex# parted /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: /dev/sda: unrecognised disk label
(parted) mklabel gpt
(parted) print
Error: /dev/sda: unrecognised disk label
(parted) quit
Information: You may need to update /etc/fstab.

gptを設定するために私が見つけた他の指示に従ってください。https://plone.lucidsolutions.co.nz/linux/io/using-parted-to-create-a-raid-primary-partition私はディスクラベルとしてmsdosを使用しますが、3TBディスクなので、より大きなディスクをサポートするmsdos以外のものを使用する必要があると考えてgptを試しました。

gpt自体に設定した後でもpartedがディスクラベルを認識しない理由をご存知ですか?今やっているよりもRAIDデバイスを作成するより良い方法はありますか?

編集:mount -tコマンドを実行した後にdmesgを確認します(これは実際にext3より前に試したext4でフォーマットしようとしたときの結果です)。

root@VMHost:/home/lex# dmesg | tail
[611756.731067] EXT4-fs (md0): VFS: Can't find ext4 filesystem
[611756.731488] EXT4-fs (md0): VFS: Can't find ext4 filesystem
[611756.731790] EXT4-fs (md0): VFS: Can't find ext4 filesystem
[611756.732391] FAT-fs (md0): bogus logical sector size 65535
[611756.732421] FAT-fs (md0): Can't find a valid FAT filesystem
[611756.733932] XFS (md0): bad magic number
[611756.733974] XFS (md0): SB validate failed with error 22.
[611756.735611] FAT-fs (md0): bogus logical sector size 65535
[611756.735621] FAT-fs (md0): Can't find a valid FAT filesystem
[611773.636148] EXT4-fs (md0): VFS: Can't find ext4 filesystem

編集:1つのドライブにすでにGPTがインストールされているので、システムがGPTをサポートしていると確信しています。

root@VMHost:/u01# parted --list
Error: /dev/sda: unrecognised disk label

Error: /dev/sdb: unrecognised disk label

Model: ATA ST1000DM003-1CH1 (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
 1      1049kB  256MB   255MB   primary   ext2         boot
 2      257MB   1000GB  1000GB  extended
 5      257MB   1000GB  1000GB  logical                lvm


Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sdd: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  3001GB  3001GB  ntfs         Basic data partition  msftdata


Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sde: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  3001GB  3001GB               primary

答え1

partedはディスク上の以前の情報と混同される可能性があるため、最初に各ドライブの最初の数セクタを消去できます。

dd if=/dev/zero of=/dev/sda bs=1k count=1

その後、次のように動作します。

parted /dev/sda
unit TB
mklabel gpt
mkpart primary 0 4
print
quit

後で4番目のドライブを追加する予定の場合は、パフォーマンス低下モードでraid-5を作成することを検討する必要があります。

mdadm --create --name=DATA00 --level=5 --auto=part --verbose /dev/md0 \
--raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 missing

その後、後でドライブを追加しても追加の作業は必要ありません。

mdadm --add /dev/sdd1

劣化モードで作成しない場合は、RAIDを増やす必要があります。

mdadm --grow --raid-devices=4 --backup-file=/root/grow_md0.bak /dev/md0

(以前の作成がダウングレードされていないと仮定します--raid-devices=3。)

私のRAIDにLVMがあり、ディスクなしで可能ですが、4つのディスクから5つのディスクに移動すると簡単に拡張できます。

私は10年以上mdadmを使用してきましたが、常にパーティションを使用していました。私のアレイは実際には3つの3TBドライブと2つの4TBドライブで構成されています(3TBドライブが死んだら交換します)。 3TBドライブはまったく1つのパーティションで、4TBドライブには3TB互換のパーティションがあり、残りは現在使用されていませんが、4TBドライブはブートに使用できるようにパーティションが分割されています(システムに余分な小さなドライブがあります)。起動するには、SATAスロットを開いてRAIDの数を増やすために削除したい場合があります。

関連情報