LINUX.ORG.RU
ФорумAdmin

mdadm raid10 как восстановить?

 ,


0

2

Привет всем.

Есть массив mdadm raid10. Развалился. попытки запуска безуспешны.

Вот что есть: detail


/dev/md0:
           Version : 1.0
     Creation Time : Sun Sep 10 09:38:18 2023
        Raid Level : raid10
     Used Dev Size : 234429888 (223.57 GiB 240.06 GB)
      Raid Devices : 4
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun Dec 28 14:32:44 2025
             State : active, FAILED, Not Started 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 64K

Consistency Policy : unknown

              Name : any:0
              UUID : b7175757:a15ed574:6940d0a2:589e6c79
            Events : 9090299

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       -       0        0        1      removed
       -       0        0        2      removed
       -       0        0        3      removed

       -       8       49        2      sync set-A   /dev/sdd1
       -       8       65        3      sync set-B   /dev/sde1

И вот examine


/dev/sdb1:
          Magic : a92b4efc
        Version : 1.0
    Feature Map : 0x1
     Array UUID : b7175757:a15ed574:6940d0a2:589e6c79
           Name : any:0
  Creation Time : Sun Sep 10 09:38:18 2023
     Raid Level : raid10
   Raid Devices : 4

 Avail Dev Size : 468860048 sectors (223.57 GiB 240.06 GB)
     Array Size : 468859776 KiB (447.14 GiB 480.11 GB)
  Used Dev Size : 468859776 sectors (223.57 GiB 240.06 GB)
   Super Offset : 468860064 sectors
   Unused Space : before=0 sectors, after=272 sectors
          State : active
    Device UUID : c0cde6fe:dc6927c6:8f8cda7c:2bebda0e

Internal Bitmap : -16 sectors from superblock
    Update Time : Sun Dec 28 14:31:11 2025
  Bad Block Log : 512 entries available at offset -8 sectors
       Checksum : 3f8ea6a9 - correct
         Events : 9090209

         Layout : near=2
     Chunk Size : 64K

   Device Role : Active device 1
   Array State : .AAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc1:
          Magic : a92b4efc
        Version : 1.0
    Feature Map : 0x1
     Array UUID : b7175757:a15ed574:6940d0a2:589e6c79
           Name : any:0
  Creation Time : Sun Sep 10 09:38:18 2023
     Raid Level : raid10
   Raid Devices : 4

 Avail Dev Size : 468860048 sectors (223.57 GiB 240.06 GB)
     Array Size : 468859776 KiB (447.14 GiB 480.11 GB)
  Used Dev Size : 468859776 sectors (223.57 GiB 240.06 GB)
   Super Offset : 468860064 sectors
   Unused Space : before=0 sectors, after=272 sectors
          State : active
    Device UUID : e000d80f:a184c947:65fe1179:bda5b5ae

Internal Bitmap : -16 sectors from superblock
    Update Time : Fri Nov  7 02:52:14 2025
  Bad Block Log : 512 entries available at offset -8 sectors
       Checksum : 6dc58c1e - correct
         Events : 6357014

         Layout : near=2
     Chunk Size : 64K

   Device Role : Active device 0
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.0
    Feature Map : 0x1
     Array UUID : b7175757:a15ed574:6940d0a2:589e6c79
           Name : any:0
  Creation Time : Sun Sep 10 09:38:18 2023
     Raid Level : raid10
   Raid Devices : 4

 Avail Dev Size : 468860048 sectors (223.57 GiB 240.06 GB)
     Array Size : 468859776 KiB (447.14 GiB 480.11 GB)
  Used Dev Size : 468859776 sectors (223.57 GiB 240.06 GB)
   Super Offset : 468860064 sectors
   Unused Space : before=0 sectors, after=272 sectors
          State : clean
    Device UUID : 2e978f51:fccb8e12:523fa647:7b1d0b47

Internal Bitmap : -16 sectors from superblock
    Update Time : Sun Dec 28 14:32:44 2025
  Bad Block Log : 512 entries available at offset -8 sectors
       Checksum : e19ab800 - correct
         Events : 9090299

         Layout : near=2
     Chunk Size : 64K

   Device Role : Active device 2
   Array State : .AAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde1:
          Magic : a92b4efc
        Version : 1.0
    Feature Map : 0x1
     Array UUID : b7175757:a15ed574:6940d0a2:589e6c79
           Name : any:0
  Creation Time : Sun Sep 10 09:38:18 2023
     Raid Level : raid10
   Raid Devices : 4

 Avail Dev Size : 468860048 sectors (223.57 GiB 240.06 GB)
     Array Size : 468859776 KiB (447.14 GiB 480.11 GB)
  Used Dev Size : 468859776 sectors (223.57 GiB 240.06 GB)
   Super Offset : 468860064 sectors
   Unused Space : before=0 sectors, after=272 sectors
          State : clean
    Device UUID : 210b29de:319063a4:6ffff831:68ced113

Internal Bitmap : -16 sectors from superblock
    Update Time : Sun Dec 28 14:32:44 2025
  Bad Block Log : 512 entries available at offset -8 sectors
       Checksum : b7226134 - correct
         Events : 9090299

         Layout : near=2
     Chunk Size : 64K

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

Прошу знатоков помочь в восстановлении. Спасибо.

По тому что написано видно что sdc1 выпал из массива ещё 7 ноября и надо было тогда его уже чинить. Теперь выпал sdb1 и после этого вскоре систему выключили.

Я вот не знаю в каком порядке дики в raid10 идут. Если sdd и sde относятся к разным половинам raid0 то всё вообще хорошо, если же к одинаковым то у тебя на второй половине на полторы минуты дольше что-то делалось и она рассинхронизировалась с первой. Подозреваю что второй вариант т.к. иначе бы он наверно сам запустился.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Personalities : md0 : inactive sdc14 sde13 sdb11 sdd12 937720096 blocks super 1.0

unused devices:

и такое

Personalities : [raid10] md0 : inactive sdd1[2] sde1[3] 468860048 blocks super 1.0

unused devices:

bonifacio
() автор топика
Ответ на: комментарий от bonifacio

Первое выдает сразу после загрузки. Второе выдало после тогда как делал examine и попытка run.

bonifacio
() автор топика
Ответ на: комментарий от bonifacio

Вобщем я посмотрел, название sync set это название зеркала. То есть у тебя остались два зеркала второй половины страйпа. А первая половина, потеряла один диск 7 ноября и второй сейчас. Теперь она рассинхронизирована. Запустить, я уверен, можно (если sdc живой), но после этого там будет несколько битая фс т.к. последние полторы минуты работы компа записывали только второй страйп. Я бы после такого сделал fsck как минимум.

Проверь что с sdc случилось, он читается нормально? Если есть сомнения в его работоспособности лучше снять образ сразу.

firkax ★★★★★
()
Ответ на: комментарий от bonifacio

Ну, он мог отвалиться из-за програмного бага или из-за неудачной потери питания компом, когда на него не успело что-то записаться. Если так, то всё норм. Третий же вариант - комп пытался на него записать, но диск не смог, если так то он может скоро совсем умереть.

Ну, посмотри смарт для начала. Для 100% надёжности сними с него образ бекапный перед дальнейшими действиями (или склонируй его на другой диск просто тем же dd). Если потеря данных с этого массива тебя не сильно расстроит можно смартом ограничиться.

Вообще, надо было 7 ноября ещё заметить вылет первого диска и исправить ситуацию.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

Первое, что нужно сделать:

  • снять посекторную копию в файл или на новые диски со всех участников RAID массива
  • пробовать форсированно собирать массив на основе копий копий.

Можно использовать улиту dmsetup для создания snapshot`а где запись изменений будет идти в файл / отдельное блочное устройство и далее пробовать собирать RAID массив на основе полученных составных блочных устройств. С assume-clean или другим способом.

kostik87 ★★★★★
()
Ответ на: комментарий от firkax

smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1160.119.1.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs
Device Model:     CT240BX500SSD1
Serial Number:    2451E99BF1C8
LU WWN Device Id: 5 00a075 1e99bf1c8
Firmware Version: M6CR056
User Capacity:    240 057 409 536 bytes [240 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-3 T13/2161-D revision 4
SATA Version is:  SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Mon Dec 29 16:15:34 2025 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00)	Offline data collection activity
					was never started.
					Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(  120) seconds.
Offline data collection
capabilities: 			 (0x11) SMART execute Offline immediate.
					No Auto Offline data collection support.
					Suspend Offline collection upon new
					command.
					No Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					No Selective Self-test supported.
SMART capabilities:            (0x0002)	Does not save SMART data before
					entering power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 (  10) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   000    Pre-fail  Always       -       0
  5 Reallocate_NAND_Blk_Cnt 0x0032   100   100   010    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       2612
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       18
171 Program_Fail_Count      0x0032   100   100   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
173 Ave_Block-Erase_Count   0x0032   100   100   000    Old_age   Always       -       8
174 Unexpect_Power_Loss_Ct  0x0032   100   100   000    Old_age   Always       -       7
180 Unused_Reserve_NAND_Blk 0x0033   100   100   000    Pre-fail  Always       -       21
183 SATA_Interfac_Downshift 0x0032   100   100   000    Old_age   Always       -       1
184 Error_Correction_Count  0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   070   057   000    Old_age   Always       -       30 (Min/Max 26/43)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   000    Old_age   Always       -       0
202 Percent_Lifetime_Remain 0x0030   100   100   001    Old_age   Offline      -       0
206 Write_Error_Rate        0x000e   100   100   000    Old_age   Always       -       0
210 Success_RAIN_Recov_Cnt  0x0032   100   100   000    Old_age   Always       -       0
246 Total_Host_Sector_Write 0x0032   100   100   000    Old_age   Always       -       1103348421
247 Host_Program_Page_Count 0x0032   100   100   000    Old_age   Always       -       34479638
248 FTL_Program_Page_Count  0x0032   100   100   000    Old_age   Always       -       45788160
249 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
250 Read_Error_Retry_Rate   0x0032   100   100   000    Old_age   Always       -       0
251 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       2913724227
252 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
253 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
254 Unknown_SSD_Attribute   0x0032   100   100   000    Old_age   Always       -       262
223 Unknown_SSD_Attribute   0x0032   100   100   000    Old_age   Always       -       10

SMART Error Log not supported

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      1345         -
# 2  Short offline       Completed without error       00%      1321         -
# 3  Short offline       Completed without error       00%      1298         -
# 4  Short offline       Completed without error       00%      1274         -
# 5  Short offline       Completed without error       00%      1250         -
# 6  Extended offline    Completed without error       00%      1248         -
# 7  Short offline       Completed without error       00%      1226         -
# 8  Short offline       Completed without error       00%      1203         -
# 9  Short offline       Completed without error       00%      1179         -
#10  Short offline       Completed without error       00%      1155         -
#11  Short offline       Completed without error       00%      1131         -
#12  Short offline       Completed without error       00%      1108         -
#13  Short offline       Completed without error       00%      1084         -
#14  Short offline       Completed without error       00%      1060         -
#15  Short offline       Completed without error       00%      1036         -
#16  Short offline       Completed without error       00%      1013         -
#17  Short offline       Completed without error       00%       989         -
#18  Short offline       Completed without error       00%       965         -
#19  Short offline       Completed without error       00%       941         -
#20  Short offline       Completed without error       00%       918         -
#21  Short offline       Completed without error       00%       894         -

Selective Self-tests/Logging not supported



bonifacio
() автор топика
Ответ на: комментарий от firkax

Вообще, надо было 7 ноября ещё заметить вылет первого диска и исправить ситуацию.

mdadm поддерживает настройку отправки уведомлений на почту. Или даже в ТГ можно настроить. Хоть средствами самого mdadm, а так, правильно - должен был быть настроен мониторинг через zabbix и отправка уведомлений.

kostik87 ★★★★★
()
Ответ на: комментарий от bonifacio
«Да, человек смертен, но это было бы еще полбеды. Плохо то, что он иногда внезапно смертен, вот в чем фокус!» (c) Воланд. М.А. Булгаков, роман "Мастер и Маргарита"

Перефразируя: SSD быстро выходят из строя, но это ещё полбеды. Плохо, что иногда они выходят из строя внезапно.

Десктопный SSD с небольшим TBW. За ним нужно было следить и делать резервные копии.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Никто не спорит. Но имеем что имеем… Диски новые. Недавно заменили. И не всегда видишь то что должен видеть, по разным причинам…

bonifacio
() автор топика
Ответ на: комментарий от kostik87

пробовать форсированно собирать массив на основе копий копий.

единственный вариант пробовать пересобрать массив?

bonifacio
() автор топика
Ответ на: комментарий от bonifacio

Если данные важны - единственный из доступных вам. Другой вариант - снять и отвезти в специализированный сервис, который может вычитать данные, проанализировать мета информацию RAID массива, исправить, правильно собрать RAID массив и прочитать с него данные.

RAID это в первую очередь про обеспечение массива данных и повышение доступности (времени реакции) при выходе из строя диска для немедленной замены.

Но тут всё зависит от наличия у вас относительно немалых денег.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от bonifacio

И не всегда видишь то что должен видеть, по разным причинам…

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

И, конечно, практика проверки уведомлений zabbix или почты / ТГ канала с сообщениями от системы мониторинга.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Т.е. у меня сейчас нет абсолютно никакой возможности как-то исправить диск(и) чтобы запустить массив? Только пересобирать массив заново?

bonifacio
() автор топика
Ответ на: комментарий от bonifacio

Если вам дынные нужны и вы не понимаете, что делаете - обращайтесь в специализированный сервис.

Попытки сборки на исходных дисках развалившегося массива приведут к потере всех данных.

Работы по сборке массива для вычитывания данных нужно проводить на копии дисков (образах).

Т.к. вы до сих пор грезите надеждой как-то запустить развалившийся массив на исходных дисках - данные вам не важны.

В этом случае можете просто убрать диски, которые вывались, дополнить нужным количеством дисков и просто собрать пустой новый массив. Далее на нём уже файловую систему или что вам нужно и работайте дальше.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от bonifacio

kostik87 очень правильно написал «Десктопный SSD с небольшим TBW. За ним нужно было следить и делать резервные копии.» Но дополню, за любым ssd надо следить и делать резервные копии, к сожалению любой ssd может сдохнуть в моменте не успев сказать «мяу» по смарту. Имхо ваша ошибка в том, что вы загнали в raid несколько модулей из одной партии, т.е. смысл raid в данном случае теряется от слова совсем. Он в принципе в контексте ssd не особо актуален, но если модули разные то есть хоть какой-то шанс, что они все не сдохнут в один день.

anc ★★★★★
()
Ответ на: комментарий от kostik87

Послушайте, я же не спорю с вами о качестве и уместности выбранных дисков. Совершенно не спорю и не собираюсь. Вы абсолютно правы. Но есть что есть.

bonifacio
() автор топика
Ответ на: комментарий от bonifacio

Я тоже не спорю, я вам дал рекомендации на что нужно смотреть и как действовать.

Дальше ваш выбор как поступать.

kostik87 ★★★★★
()
Ответ на: комментарий от bonifacio

Автор, ты увлёкся философскими рассуждениями с kostik87, а всего то надо сделать бекап диска чтобы избежать опасности потери данных. Как сделаешь - сделай массиву принудительное assemble (из трёх дисков - sdb не надо, он точно устаревший), затем проверку массива, затем fsck того что на нём расположено. На этом вроде всё готово будет.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от bonifacio

Пересобрать массив это не делать его заново, а прнудительно запустить тот что есть. Повторю - только sdb в него не суй, он всё испортит. Точнее, лучше проверь на каком названии будет диск с last update 7 ноября, а то вдруг он не на sdb окажется.

firkax ★★★★★
()
Ответ на: комментарий от anc

Но дополню, за любым ssd надо следить и делать резервные копии,

Дополню, делать резервные копии надо вне зависимости от того на чём хранятся данные.

firkax ★★★★★
()
Ответ на: комментарий от kostik87

Хватит страшилки распространять, всё у него соберётся (если диск не сдох). Часть последних файлов (которые писались перед сбоем) разве что побиться может но это неизбежность.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от kostik87

mdadm поддерживает настройку отправки уведомлений на почту

Так и вижу: сдох у тебя массив (всмысле, совсем), начинаешь выяснять в чём дело, вспоминаешь про эти уведомления, заходишь на почту. И правда, год назад приходило уведомление про вылет первой половины миррора! Как жаль, что за этот год никто не позвал в стиле «я тебе на почту что-то там скинул, посмотри», тогда бы уведомление от рейда вовремя было замечено...

firkax ★★★★★
()
Ответ на: комментарий от bonifacio

А да, в смарте вроде всё хорошо, сбой скорее всего был программный или из-за потери 220В. Но раз данные важны - всё равно образ забекапь перед дальнейшими действиями.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Пересобрать массив это не делать его заново, а прнудительно запустить тот что есть. Повторю - только sdb в него не суй, он всё испортит. Точнее, лучше проверь на каком названии будет диск с last update 7 ноября, а то вдруг он не на sdb окажется.

  • dev/sdb1 Sun Dec 28 14:31:11 2025
  • dev/sdc1 Fri Nov 7 02:52:14 2025
  • dev/sdd1 Sun Dec 28 14:32:44 2025
  • dev/sde1 Sun Dec 28 14:32:44 2025

Вот так сейчас у меня. Получается диск sdc Исключить?

bonifacio
() автор топика
Последнее исправление: bonifacio (всего исправлений: 1)
Ответ на: комментарий от firkax

Сейчас Intel стоит в два раза дороже того Crucial. Поэтому Intel или другой SSD уровня Enterpise.

  • Crusial автора - 6000 р.
  • Intel SSD - 12000 р.
kostik87 ★★★★★
()
Ответ на: комментарий от firkax

Так и вижу: сдох у тебя массив (всмысле, совсем), начинаешь выяснять в чём дело, вспоминаешь про эти уведомления, заходишь на почту.

Почту я проверяю каждый день и уведомления в канале в ТГ от разных систем мониторинга тоже и непосредственно в Zabbix каждое утро.

kostik87 ★★★★★
()
Ответ на: комментарий от firkax

Но дополню, за любым ssd надо следить и делать резервные копии,

Дополню, делать резервные копии надо вне зависимости от того на чём хранятся данные.

Полностью согласен! Но я акцентировал внимание именно на ssd которые мрут в моменте даже без «объявления войны» в независимости от ынепрайз оно или нет. У энтерпрайзных hdd такое тоже случается, но все-таки реже.

anc ★★★★★
()
Ответ на: комментарий от firkax

вспоминаешь про эти уведомления

Т.е. уведомления вы таки видели, но забили на них, это эталонное ССЗБ.

заходишь на почту

Что значит выражение «заходишь на почту»? На почту России заходишь?

anc ★★★★★
()
Ответ на: комментарий от anc

Т.е. уведомления вы таки видели, но забили на них, это эталонное ССЗБ.

Нет, я имею ввиду «вспоминаешь что они вообще существуют».

Что значит выражение «заходишь на почту»?

Означает - впервые за прошедший год запускаешь почтовый клиент и смотришь что там во входящих среди гор спама и прочей ненужной графомании наприходило.

firkax ★★★★★
()
Ответ на: комментарий от bonifacio

Да, тут исключить sdc. Хм, мне казалось что на sdb это было, но сейчас посмотрел всю тему - 7 ноября с самого начала было sdc.

И тут выяснились детали (сейчас напишу) - случайно не тот диск не получится запустить так что можно не переживать.

firkax ★★★★★
()
Ответ на: комментарий от bonifacio

Можно и копии трёх, вреда не будет.

Насчёт пересборки - оказалось никакими флагами заставить его собрать с не тем счётчиком событий не получится, поэтому счётчик придётся скорректировать перед этим.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Насчёт пересборки - оказалось никакими флагами заставить его собрать с не тем счётчиком событий не получится, поэтому счётчик придётся скорректировать перед этим.

А как?

bonifacio
() автор топика
Ответ на: комментарий от firkax

Смотрим «Super Offset» в выводе examine: 468860064.

Подменяем счётчик событий на нужном вылетевшем диске (sdb1 - проверь что на нём декабрь а не ноябрь). Правлиьное число берём с sdd1.

cd /tmp
# читаем суперблоки
dd if=/dev/sdb1 bs=512 skip=468860064 count=1 of=sdb1-super
dd if=/dev/sdd1 bs=512 skip=468860064 count=1 of=sdd1-super
# проверяем - значение счётчика в hex   A1 B4 8A 00
dd if=sdb1-super bs=1 skip=200 count=8 | hexdump -C
# проверяем - значение чексуммы         A9 A6 8E 3F
dd if=sdb1-super bs=1 skip=216 count=4 | hexdump -C
# исправляем счётчик
dd if=sdd1-super bs=1 skip=200 count=8 of=sdb1-super seek=200 conv=notrunc
# пишем суперблок назад
dd of=/dev/sdb1 bs=512 seek=468860064 count=1 if=sdb1-super
mdadm --examine /dev/sdb1

В новом examine видим что events теперь правильное но не сходится контрольная сумма. К счастью он сам пишет какая ему нужна. Допустим, была там 11223344 а правильная 12345678 тогда делаем так (обрати внимание эти 4 байта везде задом наперёд идут):

dd if=sdb1-super bs=1 skip=216 count=4 | hexdump -C
# смотрим старую - должно быть 44 33 22 11
# меняем на новую
printf '\x78\x56\x34\x12' | dd of=sdb1-super bs=1 seek=216 count=4 conv=notrunc
# пишем на дискdd of=/dev/sdb1 bs=512 seek=468860064 count=1 if=sdb1-super
mdadm --examine /dev/sdb1
Теперь видим что сумма стала правильная.

mdadm пишет половину нужных логов в dmesg вместо консоли, поэтому для удобства можно открыть рядом второе окно терминала и в нём dmesg -TW - будет сразу видно если какие-то ошибки

# останавливаем массив
mdadm --stop /dev/md0
# проверяем что он исчез из списка
cat /proc/mdstat
# собираем его заново (тут raid_name в целом ни на что не влияет но вообще будет файл /dev/md/raid_name)
mdadm --assemble raid_name /dev/loop1 /dev/loop2 /dev/loop3
cat /proc/mdstat
# ^ смотрим что он появился, у меня там почему-то только 2 диска вместо 3 добавились хотя он написал что есть 3 диска
# если так то выполняем сборку второй раз
mdadm --assemble raid_name /dev/loop1 /dev/loop2 /dev/loop3
cat /proc/mdstat
# ^ теперь тут точно 3 диска
# запускаем массив
mdadm --run /dev/md0
# проверяем фс
fsck -f /dev/md0

Какие-то последние файлы могли побиться из-за аварии, но в целом всё будет на месте.

Дальше, вообще, можно добавить четвёртый диск и пользоваться. Но если хочется максимальной уверенности что проблемы проявятся где-то позже - монтируем только что собранный массив как read-only, забираем с него все файлы в другое место, потом создаём новый чистый массив и кладём на него данные. Я не смогу назвать конкретную проблему, которая может случиться если этого не сделать. Возможно, там ничего и не может плохого произойти, но, повторю, для собственного спокойствия можно пересоздать массив и файловую систему на нём.

При копировании файлов, если там вдруг системный диск, учти, что у части системных файлов стоят всякие setcap, большинство прог копирования про него не знают и теряют.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
Ответ на: комментарий от firkax

Диски скопирую и буду делать. Замысел понятен, выравнять счетчик. Из из-за него, наверное не стартует.

bonifacio
() автор топика
Ответ на: комментарий от bonifacio

Не стартует из-за счётчика, но не надо думать, что «выровнять счётчик и всё» это универсальное исправление ситуации. Оно годится конкретно тут - только потому, что вылетевший диск отстал всего на полторы минуты и скорее всего почти правильный. Если же то же самое делать с диском, который вылетел в ноябре - массив тоже запустится, но файловая система на нём скорее всего будет безнадёжно побита.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Т.е. уведомления вы таки видели, но забили на них, это эталонное ССЗБ.

Нет, я имею ввиду «вспоминаешь что они вообще существуют».

А, ну это почти старое доброе «кто не делает бэкапы и уже делает бэкапы», в том смысле что да, я тоже когда-то на уведомления смарта клал болт.

anc ★★★★★
()
Ответ на: комментарий от anc

Я на Хабре читал статью как у модного и молодежного датацентра так целая партия SSD посыпалась, причем из замены - тоже. Вся партия сдохла чуть ли не в один день.

Поэтому все эти ваши рейды надо только на HDD делать, там хотя бы будет заметно, что что-то не так перед сдыханием.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от anc

Я не про уведомления смарта а про уведомления на почту. Правильные уведомления должны быть туда где ты часто бываешь не ради просмотра уведомлений, а ради ежедневных дел.

firkax ★★★★★
()
Ответ на: комментарий от firkax

туда где ты часто бываешь не ради просмотра уведомлений, а ради ежедневных дел.

По своей работе лично я в день проверяю корпоративную почту несколько раз, т.к. туда могут прийти письма от сотрудников компании, подчинённых и вышестоящих руководителей.

Значит у тебя либо нет корпоративной почты, либо тебе никто не пишет.

Мне, как и некоторой части других специалистов здесь на форуме приходится проверять корпоративную почту по несколько раз в день.

Более того, я уверен, что не только я использую почтовый клиент, который выводит уведомления о появлении новых писем.

kostik87 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.