[РЕШЕНО] разваливается mdadm рэйд при каждой перезагрузке :(

Автор PbI6A, 22 марта 2016, 19:45:13

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

PbI6A

Разваливается mdadm рэйд при каждой перезагрузке. В логах пишет:
...
[    2.906980] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    2.906989] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    2.907057] sd 0:0:0:0: [sda] Write Protect is off
[    2.907062] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.907092] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or F
UA
[    2.908666] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    2.908672] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[    2.908741] sd 1:0:0:0: [sdb] Write Protect is off
[    2.908745] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.908775] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
...
[    2.941623]  sdb: sdb1 sdb2 sdb3 sdb4
[    2.943142] sd 1:0:0:0: [sdb] Attached SCSI disk
[    2.944090]  sda: sda1 sda2 sda3 sda4
[    2.944865] sd 0:0:0:0: [sda] Attached SCSI disk
...
[    3.280157] md: md0 stopped.
[    3.282521] md: bind<sda1>
[    3.284742] md: raid1 personality registered for level 1
[    3.285125] md/raid1:md0: active with 1 out of 2 mirrors
[    3.285161] md0: detected capacity change from 0 to 29981933568
[    3.296695]  md0: unknown partition table
...
[    3.505916] EXT4-fs (md0): mounted filesystem with ordered data mode. Opts: (null)
...
[    6.309259] md: md1 stopped.
[    6.350209] md: bind<sda4>
[    6.351985] md/raid1:md1: active with 1 out of 2 mirrors
[    6.356360] created bitmap (4 pages) for device md1
[    6.361446] md1: bitmap initialized from disk: read 1 pages, set 206 of 6704 bits
[    6.382572] md1: detected capacity change from 0 to 449872658432
[    6.428268]  md1: unknown partition table
...
[    8.485359] EXT4-fs (md0): re-mounted. Opts: errors=remount-ro
...
[   11.501811] EXT4-fs (md1): mounted filesystem with ordered data mode. Opts: (null)

...
В дисках вот что:
# fdisk -l /dev/sd[ab]

Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x19c4ea6b

Device     Boot    Start       End   Sectors   Size Id Type
/dev/sda1           2048  58593279  58591232    28G fd Linux raid autodetect
/dev/sda2       58593280  62498815   3905536   1,9G 82 Linux swap / Solaris
/dev/sda3  *    62498816  97851391  35352576  16,9G  c W95 FAT32 (LBA)
/dev/sda4       97851392 976773167 878921776 419,1G fd Linux raid autodetect

Disk /dev/sdb: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x2ce92ce9

Device     Boot    Start       End   Sectors   Size Id Type
/dev/sdb1           2048  58593279  58591232    28G fd Linux raid autodetect
/dev/sdb2       58593280  62498815   3905536   1,9G 82 Linux swap / Solaris
/dev/sdb3  *    62506080  97841519  35335440  16,9G  7 HPFS/NTFS/exFAT
/dev/sdb4       97851392 976773167 878921776 419,1G fd Linux raid autodetect
# mdadm --detail --scan --verbose
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=no:0 UUID=8eef9a6f:33e557b0:01d2eef5:7e26fc14
   devices=/dev/sda1,/dev/sdb1
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=1.2 name=no:1 UUID=d3daf137:cad583cb:88668c75:db9188e8
   devices=/dev/sda4,/dev/sdb4

Кстати, выяснил, что иногда эта команда почему-то выдаёт имена в виде /dev/md/0 и /dev/md/1, ни к чему хорошему это не приводит, лучше проверить и исправить.
После перезагрузки выполняю:
# mdadm --manage /dev/md1 --add /dev/sdb4
# mdadm --manage /dev/md0 --add /dev/sdb1

И всё по-быстрому собирается. Но до следующей перезагрузки :(
Пробовал ядра 3.16 (стоит сейчас) и 4.3 - разницы никакой.
Пробовал удалять и заново ставить:
# aptitude purge grub-common grub-pc grub-pc-bin grub2-common;aptitude install grub-common grub-pc grub-pc-bin grub2-common - разницы никакой.
Пробовал переставлять mdadm:
# aptitude reinstall mdadm - разницы никакой.
Пробовал его реконфигурить:
# dpkg-reconfigure mdadm - разницы никакой.
Пробовал пересоздавать его конфиг:
# mdadm --detail --scan --verbose>/etc/mdadm/mdadm.conf - разницы никакой.
Пробовал переставлять и реконфигурить grub:
# grub-install /dev/sda
# grub-install /dev/sdb
# update-grub
- разницы никакой.
Что ещё поделать? Идеи кончились.
Хотел попробовать включить AHCI в BIOS, но не нашёл его там, наверно его просто нет. Облазил всё.
Вот эта ерунда в стартовом журнале "Write cache: enabled, read cache: enabled, doesn't support DPO or FUA" как-то может на проблему повлиять?

Cообщение объединено 22 марта 2016, 19:55:35

После того, как соберётся, работает нормально. Но вот ещё что заметил:
# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed May  6 15:05:26 2015
     Raid Level : raid1
     Array Size : 29279232 (27.92 GiB 29.98 GB)
  Used Dev Size : 29279232 (27.92 GiB 29.98 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Tue Mar 22 23:51:14 2016
          State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
  Spare Devices : 0

           Name : no:0  (local to host no)
           UUID : 8eef9a6f:33e557b0:01d2eef5:7e26fc14
         Events : [b]695998[/b]

    Number   Major   Minor   RaidDevice State
       3       8       17        0      active sync   /dev/sdb1
       2       8        1        1      active sync   /dev/sda1
# mdadm --detail /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Wed May  6 15:05:54 2015
     Raid Level : raid1
     Array Size : 439328768 (418.98 GiB 449.87 GB)
  Used Dev Size : 439328768 (418.98 GiB 449.87 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Tue Mar 22 23:52:03 2016
          State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
  Spare Devices : 0

           Name : no:1  (local to host no)
           UUID : d3daf137:cad583cb:88668c75:db9188e8
         Events : [b]1384914[/b]

    Number   Major   Minor   RaidDevice State
       0       8       20        0      active sync   /dev/sdb4
       2       8        4        1      active sync   /dev/sda4

Какие-то цифры шальные :(
И вот ещё что:
# mdadm --examine /dev/sda1
/dev/sda1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8eef9a6f:33e557b0:01d2eef5:7e26fc14
           Name : no:0  (local to host no)
  Creation Time : Wed May  6 15:05:26 2015
     Raid Level : raid1
   Raid Devices : 2

Avail Dev Size : 58558464 (27.92 GiB 29.98 GB)
     Array Size : 29279232 (27.92 GiB 29.98 GB)
    Data Offset : 32768 sectors
   Super Offset : 8 sectors
   Unused Space : before=32680 sectors, after=0 sectors
          State : clean
    Device UUID : 7945aa49:ad42f23b:1ad3ad8a:f1d355b5

    Update Time : Tue Mar 22 23:52:40 2016
  [b]Bad Block Log : 512 entries available at offset 72 sectors[/b]
       Checksum : 7cee2dd4 - correct
         Events : [b]695998[/b]


   Device Role : Active device 1
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)

Аналогичное на sdb1; и ещё:
# mdadm --examine /dev/sda4
/dev/sda4:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : d3daf137:cad583cb:88668c75:db9188e8
           Name : no:1  (local to host no)
  Creation Time : Wed May  6 15:05:54 2015
     Raid Level : raid1
   Raid Devices : 2

Avail Dev Size : 878659632 (418.98 GiB 449.87 GB)
     Array Size : 439328768 (418.98 GiB 449.87 GB)
  Used Dev Size : 878657536 (418.98 GiB 449.87 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262056 sectors, after=2096 sectors
          State : clean
    Device UUID : d60b7c96:ab703870:17c963cc:72ef9a68

Internal Bitmap : 8 sectors from superblock
    Update Time : Tue Mar 22 23:53:49 2016
  [b]Bad Block Log : 512 entries available at offset 72 sectors[/b]
       Checksum : 8c7c8b1f - correct
         Events : [b]1384914[/b]


   Device Role : Active device 1
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)

Аналогичное и на sdb4 :(
То есть бэды на каком-то из винтов присутствуют? Вроде бы, перед установкой тестировал оба.

Cообщение объединено 22 марта 2016, 20:54:18

Вот ещё попробовал:
# badblocks -v /dev/sdb1
Checking blocks 0 to 29295615
Checking for bad blocks (read-only test): done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)
# badblocks -v /dev/sda1
Checking blocks 0 to 29295615
Checking for bad blocks (read-only test): done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)
Используй теги
--alsoijw
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

gardarea51

Если разваливается, попробуйте после сборки массива, когда он уже работает выполнить
update-initramfs -u -k all
И посмотрите соответствует ли имя массива имени массива в файле /etc/mdadm/mdadm.conf

PbI6A

Долго-долго-долго мучил, но победил. Так вот, при старте системы initramfs как-то иначе интерпретирует /etc/mdadm/mdadm.conf. Совсем не так, как mdadm. И конфиг, собранный командой
# mdadm --detail --scan --verbose>/etc/mdadm/mdadm.conf
корректно НЕ работает. А заработало вот так:
$ cat /etc/mdadm/mdadm.conf
[b]DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=8eef9a6f:33e557b0:01d2eef5:7e26fc14
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=d3daf137:cad583cb:88668c75:db9188e8
MAILADDR root[/b]

То есть не должно быть всех этих "metadata=1.2 name=no:0", "metadata=1.2 name=no:1", и список самих устройств через запятую тоже не нужен. Тем более, что при изменении конфигурации оборудования (а часто - и просто так) буквы дисков могут запросто меняться. Но даже если и не меняются, их просто не нужно писать :)
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

PbI6A

Ещё раз словил подобный глюк. В этот раз не победилось прежним способом, удалось победить вот так:
aptitude purge grub-common grub-pc grub-pc-bin grub2-common
рм -рф /boot/grub
apt install grub-pc
По запросу выбрал, с каких дисков возможна загрузка, и, собственно, всё.
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!