GNU/Linux >> Linux の 問題 >  >> Linux

再起動後に Linux RAID が消える

このレシピは、同じ問題を抱えた後、私にとってはうまくいきました。答えを見つけようとしてネット中を調べ、最終的にこれに出くわしましたが、それでも助けにはなりません.

私が見るところ、問題は複数あります。

<オール>
  • mdadm は /dev/md0 からデバイス ファイルを再割り当てします /dev/md127 のようなものに 次回の再起動時。そのため、fstab でデバイス ファイルをそのまま使用することはできません。作成したファイルシステムの UUID を使用することになりました。

  • Web 上のほとんどすべての RAID ドライブ セットアップ チュートリアルは、次のようなドライバー デバイス ファイルを使用した RAID デバイスの作成を示しています。

    mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
    

    代わりに、次のようにパーティション デバイス ファイルを使用しました。

    mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
    

    2 番目の形式では、gdisk を使用して各ディスクに適切なパーティションを作成する必要があります。 または fdisk . gdisk を使用しました タイプ fd00 として割り当てます 、これは RAID パーティションです。

  • /etc/mdadm/mdadm.conf を更新する必要があるという話がたくさんあります .これは間違っています。私は意図的にそのファイルを削除しました。必要ありません。 (下記参照)

  • 本当にそれだけです。完全なレシピは次のとおりです...

    タイプ fd00 の 1 つのパーティションで各ドライブを分割します 、Linux RAID:

    [email protected]:~# gdisk /dev/sda
    Command (? for help): n
    Partition number (1-128, default 1):
    First sector (2048-3907029134, default = 2048) or {+-}size{KMGTP}:
    Last sector (2048-3907029134, default = 3907029134) or {+-}size{KMGTP}:
    Current type is 'Linux filesystem'
    Hex code or GUID (L to show codes, Enter = 8300): fd00
    Changed type of partition to 'Linux RAID'
    
    Command (? for help): p
    Disk /dev/sda: 3907029168 sectors, 1.8 TiB
    Model: ST2000DM001-1ER1
    Sector size (logical/physical): 512/4096 bytes
    Disk identifier (GUID): F81E265F-2D02-864D-AF62-CEA1471CFF39
    Partition table holds up to 128 entries
    Main partition table begins at sector 2 and ends at sector 33
    First usable sector is 2048, last usable sector is 3907029134
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 0 sectors (0 bytes)
    
    Number Start (sector) End (sector) Size Code Name
    1
    2048 3907029134 1.8 TiB FD00 Linux RAID
    
    Command (? for help): w
    
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
    
    Do you want to proceed? (Y/N): y
    OK; writing new GUID partition table (GPT) to /dev/sda.
    The operation has completed successfully.
    

    これで、/dev にディスク デバイスとパーティション デバイスの両方が表示されるはずです

    [email protected]:~# ls /dev/sd[a-d]*
    /dev/sda /dev/sda1 /dev/sdb /dev/sdb1 /dev/sdc /dev/sdc1 /dev/sdd /dev/sdd1
    

    ここで、ディスク デバイスではなく、パーティション デバイス ファイルを使用して mdadm で選択した RAID を作成します

    [email protected]:~# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
    mdadm: chunk size defaults to 512K
    mdadm: /dev/sda1 appears to contain an ext2fs file system
    size=471724032K mtime=Sun Nov 18 19:42:02 2018
    mdadm: /dev/sda1 appears to be part of a raid array:
    level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
    mdadm: /dev/sdb1 appears to be part of a raid array:
    level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
    mdadm: /dev/sdc1 appears to be part of a raid array:
    level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
    mdadm: /dev/sdd1 appears to contain an ext2fs file system
    size=2930265540K mtime=Sun Nov 18 23:58:02 2018
    mdadm: /dev/sdd1 appears to be part of a raid array:
    level=raid0 devices=4 ctime=Thu Nov 22 04:00:11 2018
    Continue creating array? y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    

    /dev/disk をチェックインします 新しい /dev/md0 に関連付けられた UUID があるかどうかを確認するには RAID.存在しないはずです。

    [email protected]:~# ls -l /dev/disk/by-uuid
    total 0
    lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
    lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
    lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2
    

    新しいファイルシステムを作成すると、その後 /dev/md0 の UUID が得られるはずです

    [email protected]:~# mkfs.ext4 -F /dev/md0
    mke2fs 1.44.1 (24-Mar-2018)
    Creating filesystem with 2685945088 4k blocks and 335745024 inodes
    Filesystem UUID: 7bd945b4-ded9-4ef0-a075-be4c7ea246fb
    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,
    2560000000
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (262144 blocks): done
    Writing superblocks and filesystem accounting information: done
    

    出来上がりです。

    [email protected]:~# ls -l /dev/disk/by-uuid
    total 0
    lrwxrwxrwx 1 root root 10 Nov 22 04:24 4777-FB10 -> ../../sdf1
    lrwxrwxrwx 1 root root 9 Nov 22 04:43 7bd945b4-ded9-4ef0-a075-be4c7ea246fb -> ../../md0
    lrwxrwxrwx 1 root root 10 Nov 22 04:24 D616BDCE16BDAFBB -> ../../sde1
    lrwxrwxrwx 1 root root 10 Nov 22 04:24 e79571b6-eb75-11e8-acb0-e0d55e117fa5 -> ../../sdf2
    

    /etc/fstab を変更し、新しい RAID のマウントを追加してください。デバイス ファイルではなく、必ず UUID を使用してください。

    [email protected]:~# cat /etc/fstab
    UUID=e79571b6-eb75-11e8-acb0-e0d55e117fa5 / ext4 defaults 0 0
    UUID=4777-FB10 /boot/efi vfat defaults 0 0
    /swap.img none
    swap sw 0 0
    UUID=7bd945b4-ded9-4ef0-a075-be4c7ea246fb /md0/tweets ext4 auto 0 0
    

    ほら、見ない /etc/mdadm/mdadm.conf 必要ありません。

    [email protected]:~# ls -l /etc/mdadm
    total 0
    

    再起動

    [email protected]:~# reboot
    Connection to 192.168.0.131 closed by remote host.
    Connection to 192.168.0.131 closed.
    

    RAID はマウントされていますが、mdadm はデバイス ファイルの名前を md0 から変更しました。 md127 まで

    実際のデバイス ファイルではなく、UUID を使用してよかったです。

    [email protected]:~# df /md0/tweets
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/md127 10658016696 73660 10120737636 1% /md0/tweets
    

    md0 が /dev から消えているように見えます

    [email protected]:~# ls /dev/md*
    /dev/md127
    
    /dev/md:
    

    それでおしまい。現在、600 MB/秒以上で動作する 10 テラバイトの RAID0 を楽しんでいます

    [email protected]:~# hdparm -tT /dev/md127
    
    /dev/md127:
    Timing cached reads: 26176 MB in 1.99 seconds = 13137.47 MB/sec
    Timing buffered disk reads: 1878 MB in 3.00 seconds = 625.13 MB/sec
    

    あなたの /proc/mdstat は、RAID パーソナリティ (RAID1、RAID5 など) がロードされていないことを示しているため、RAID セットのアクティブ化も試行されません。

    Failed to start mdadm.service: Unit mdadm.service is masked.
    

    このメッセージは mdadm.service を示します 可能な限り強力な方法で無効化されています:サービスを開始しようとする明示的な試みは行われず、このサービスに他の何かが依存している場合でも開始されません。

    roaima によってリンクされた質問のように、次のコマンドを root として実行してみてください:

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

    最初は mdadm を再構成します パッケージであり、すべての RAID セットを検出し、起動時にどの RAID セットを自動アクティブ化するかを選択できるようにする必要があります。通常は「すべて」が適切な答えです。これは mdadm.service も処理する必要があります 私が正しく理解していれば、マスクされています.

    それが完了すると、2 番目のコマンドによって initramfs が更新され、更新された構成ファイルが initramfs でも更新され、ブートの初期段階で実行されるスクリプトが RAID セットがあるという情報を取得します。


    Linux
    1. リモートLinuxサーバーを強制的に再起動します

    2. mdadm:コマンドが見つかりません

    3. Linux カーネルの更新後にサーバーを再起動する必要がありますか?

    1. Linuxでシステムの稼働時間を確認する方法

    2. Linux –ユーザースペースのみを再起動しますか?

    3. Linuxをシャットダウンまたは再起動する方法

    1. コマンドラインを使用してLinuxを再起動する方法

    2. Linuxの再起動コマンド

    3. Linux ソフトウェア RAID を新しいマシンに移動するにはどうすればよいですか?