Назад | Перейти на главную страницу

Доступ к чистому RAID5 на новой машине с 2 из 3 дисков

Мой сервер мертв. На сервере у меня было 3х диска с программным рейдом на второй раздел каждого HD.

Сейчас я вставил в ПК два из трех HD (третьему нет места!). Вот что я пробовал до сих пор:

# cat /proc/mdstat 
Personalities : [raid1] 
md125 : inactive sdc2[5](S) sdd2[4](S)
      5859503624 blocks super 1.1

md126 : active raid1 sda[1] sdb[0]
      488383488 blocks super external:/md127/0 [2/2] [UU]

md127 : inactive sda[1](S) sdb[0](S)
      6192 blocks super external:imsm

unused devices: <none>

Актуально только md125. md127 - это старая фигня (без понятия, не актуально). Я удалил это с помощью mdadm --stop /dev/md125 и сейчас:

# cat /proc/mdstat 
Personalities : [raid1] 
md126 : active raid1 sda[1] sdb[0]
      488383488 blocks super external:/md127/0 [2/2] [UU]

md127 : inactive sda[1](S) sdb[0](S)
      6192 blocks super external:imsm

unused devices: <none>

Дальше:

#  mdadm --examine /dev/sd[c-d]2
/dev/sdc2:
          Magic : a92b4efc
        Version : 1.1
    Feature Map : 0x1
     Array UUID : f94898fc:8310c296:adb8b51e:74344af4
           Name : socrates:0
  Creation Time : Fri Aug  3 21:55:59 2012
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 5859503120 (2794.03 GiB 3000.07 GB)
     Array Size : 5859503104 (5588.06 GiB 6000.13 GB)
  Used Dev Size : 5859503104 (2794.03 GiB 3000.07 GB)
    Data Offset : 2048 sectors
   Super Offset : 0 sectors
   Unused Space : before=1976 sectors, after=16 sectors
          State : active
    Device UUID : d136f9e1:9971b337:52b603e1:6c711fd0

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat Aug 24 12:33:37 2019
       Checksum : 67b6a3c3 - correct
         Events : 5440945

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd2:
          Magic : a92b4efc
        Version : 1.1
    Feature Map : 0x1
     Array UUID : f94898fc:8310c296:adb8b51e:74344af4
           Name : socrates:0
  Creation Time : Fri Aug  3 21:55:59 2012
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 5859504128 (2794.03 GiB 3000.07 GB)
     Array Size : 5859503104 (5588.06 GiB 6000.13 GB)
  Used Dev Size : 5859503104 (2794.03 GiB 3000.07 GB)
    Data Offset : 2048 sectors
   Super Offset : 0 sectors
   Unused Space : before=1976 sectors, after=1024 sectors
          State : active
    Device UUID : 7960d3f8:10353972:2cdd25bc:681bb674

Internal Bitmap : 8 sectors from superblock
    Update Time : Sat Aug 24 12:33:37 2019
       Checksum : 38cf65af - correct
         Events : 5440945

         Layout : left-symmetric
     Chunk Size : 512K

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

Я бы хотел получить это активный и доступный только для чтения. Собирая разные сайты, команда должна быть

mdadm --assemble --verbose --readonly --scan --run

--run потому что массив в неполном

Вот что я получаю (исключая другие массивы):

mdadm: /dev/sdc2 has wrong uuid.
mdadm: no recogniseable superblock on /dev/sdc1
mdadm: Cannot assemble mbr metadata on /dev/sdc
mdadm: /dev/sdd2 has wrong uuid.
mdadm: no recogniseable superblock on /dev/sdd1
mdadm: Cannot assemble mbr metadata on /dev/sdd

Я следил за вопросом Вот.

У меня также есть следующая информация:

# mdadm --examine --scan
ARRAY metadata=imsm UUID=407fbb06:df3d3717:dd6d0115:5bfe417b
ARRAY /dev/md/Volume1 container=407fbb06:df3d3717:dd6d0115:5bfe417b member=0 UUID=1cb761a5:8dcdc9fd:37cddbc1:b04cf067
ARRAY /dev/md/0  metadata=1.1 UUID=f94898fc:8310c296:adb8b51e:74344af4 name=socrates:0

Последняя строка является важной: socrates - это имя хоста мертвой машины.

Невероятно, теперь я снова попробовал следующее:

Добавить

# ARRAY /dev/md/0  metadata=1.1 UUID=f94898fc:8310c296:adb8b51e:74344af4 name=socrates:0
# to
vim /etc/mdadm.conf

и из mdadm --assemble --verbose --readonly --scan --run я получил

mdadm: /dev/sdc2 is identified as a member of /dev/md/0, slot 1.
mdadm: /dev/sdd2 is identified as a member of /dev/md/0, slot 0.
mdadm: added /dev/sdc2 to /dev/md/0 as 1
mdadm: no uptodate device for slot 2 of /dev/md/0
mdadm: added /dev/sdd2 to /dev/md/0 as 0
mdadm: failed to RUN_ARRAY /dev/md/0: Input/output error
mdadm: Not enough devices to start the array while not clean - consider --force.

У меня вопрос: что именно произойдет, если я добавлю --force к команде?

На странице руководства указано, что произойдет, если вы воспользуетесь --force.

       -f, --force
              Assemble  the array even if the metadata on some devices appears
              to be out-of-date.  If mdadm cannot find enough working  devices
              to  start the array, but can find some devices that are recorded
              as having failed, then it will mark those devices as working  so
              that  the array can be started.  An array which requires --force
              to be started may contain data corruption.  Use it carefully.

Следует приложить все усилия, чтобы подключить третий диск, если он у вас есть. Кажется маловероятным, что у вас нет доступа к некоторому оборудованию ПК, к которому вы можете подключить все три диска. При необходимости отключите существующий диск. Вы не пытаетесь восстановить данные? Без всех трех дисков вы рискуете, что один из дисков выйдет из строя, и в этом случае вы потеряете все. Вы также рискуете, что на одном из дисков уже есть поврежденные данные. Со всеми тремя подключенными, это можно исправить, но только с двумя дисками вы можете потерять некоторые данные.