LINUX.ORG.RU
ФорумAdmin

Спаситепомогите, посоветоваться или mdadm, mdstat и подскажите что делать с синхронизацией

 , , ,


0

2

К сожалению мой скилл гугления не достаточно прокачан и потому я пришел посоветоваться. Ситуация такова:
Ночью упал диск, /proc/mdstat сказал, что массив md1 стал [_U]

Изначально было собрано два массива из двух винтов
sda1 + sdb1 = md0
sda2 + sdb2 = md1

Я ему говорю:

#mdadm --manage /dev/md0 --fail /dev/sda1
#mdadm /dev/md0 -r /dev/sda1
#mdadm /dev/md1 -r /dev/sda2
вырубаю сервер и даю команду на замену винта

звонок от атишников, новый диск поставили, продолжаю:

#sgdisk -R /dev/sda /dev/sdb
#sgdisk -G /dev/sda
#mdadm /dev/md0 -a /dev/sda1
#mdadm /dev/md1 -a /dev/sda2
#cat /proc/mdstat
и получаю
Personalities : [raid1] 
md1 : active raid1 sda2[2] sdb2[1]
      2929739071 blocks super 1.2 [2/1] [_U]
      [=>...................]  recovery =  7.4% (219051136/2929739071) finish=730.8min speed=61814K/sec
      
md0 : active raid1 sda1[2] sdb1[1]
      524276 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>
а потом оно дошло до 20% и сделало
Personalities : [raid1] 
md1 : active raid1 sda2[2](S) sdb2[1]
      2929739071 blocks super 1.2 [2/1] [_U]
      
md0 : active raid1 sda1[2] sdb1[1]
      524276 blocks super 1.2 [2/2] [UU]
mdstat --detail говорит на него
/dev/md1:
        Version : 1.2
  Creation Time : Tue Dec 25 19:57:00 2012
     Raid Level : raid1
     Array Size : 2929739071 (2794.02 GiB 3000.05 GB)
  Used Dev Size : 2929739071 (2794.02 GiB 3000.05 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Mon Sep 16 14:21:38 2013
          State : clean, degraded
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

           Name : rescue:1
           UUID : 50496a4c:e8622fd3:96841f2d:a41ee597
         Events : 92440

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       18        1      active sync   /dev/sdb2

       2       8        2        -      spare   /dev/sda2

И вот я интересуюсь: это так и должно быть и он синкает на spare /dev/sda2 или нет и всё плохо? и что делать? И что такое (S)?

★★★★★

это так и должно быть и он синкает на spare /dev/sda2 или нет и всё плохо?

Нет, всё плохо. Синхронизация прервалась

смотри логи ОС, смотри smartctl -a /dev/sda, не сдох ли новый винт ( может, не тот поменяли ? ) и не было ли ошибок при ребилде

И что такое (S)?

spare

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

Подскажите пожалуйста, что смотреть в логах ОС и как узнать, были ли ошибки при ребилде?

mdadm на почту ничего не написал, хотя раньше писал всегда, когда что-нибудь происходило.

# smartctl -a /dev/sda

=== START OF INFORMATION SECTION ===
Device Model:     ST3000DM001-9YN166
Serial Number:    W1F12CS0
LU WWN Device Id: 5 000c50 03cdf506a
Firmware Version: CC4H
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Mon Sep 16 14:57:49 2013 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:      (  25)	The self-test routine was aborted by
					the host.
Total time to complete Offline 
data collection: 		(  584) seconds.
Offline data collection
capabilities: 			 (0x73) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					No Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves 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: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 ( 255) minutes.
Conveyance self-test routine
recommended polling time: 	 (   2) minutes.
SCT capabilities: 	       (0x3085)	SCT Status supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   100   100   006    Pre-fail  Always       -       80040
  3 Spin_Up_Time            0x0003   094   094   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       6
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   100   253   030    Pre-fail  Always       -       244409
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       5
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       6
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   054   052   045    Old_age   Always       -       46 (Min/Max 26/48)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       5
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       9
194 Temperature_Celsius     0x0022   046   048   000    Old_age   Always       -       46 (0 25 0 0)
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       174616190386181
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       40600889885891
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       3044

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Aborted by host               90%         0         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Reallocated_Sector_Ct по нулям, диск вроде свежий и не сильно перегретый.. Или я чего-то не догоняю в этом выводе? ПОдскажите, пожалуста.

Goury ★★★★★ ()
Ответ на: комментарий от blind_oracle
# dmesg | grep sda
[    2.207211] sd 0:0:0:0: [sda] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
[    2.207565] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    2.207689] sd 0:0:0:0: [sda] Write Protect is off
[    2.207744] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.207754] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.207891]  sda: unknown partition table
[    2.218296] sd 0:0:0:0: [sda] Attached SCSI disk
[ 1364.214783]  sda: sda1 sda2 sda3
[ 1377.504729]  sda: sda1 sda2 sda3
[ 1521.390099] md: bind<sda2>
[ 1521.490510]  disk 0, wo:1, o:1, dev:sda2
[ 1574.976055] md: bind<sda1>
[ 1575.151162]  disk 0, wo:1, o:1, dev:sda1
[ 7726.533407]  disk 0, wo:1, o:1, dev:sda2
[ 7736.530896]  disk 0, wo:0, o:1, dev:sda1
[ 8483.977233] md: unbind<sda2>
[ 8484.001227] md: export_rdev(sda2)
[ 8488.096762] md: bind<sda2>
[ 8488.139434]  disk 0, wo:1, o:1, dev:sda2
[15721.704216]  disk 0, wo:1, o:1, dev:sda2
# dmesg | grep "I/O error"
[   32.087822] end_request: I/O error, dev sdb, sector 1142974240
[  644.997519] end_request: I/O error, dev sdb, sector 1142974240
[ 7682.667118] end_request: I/O error, dev sdb, sector 1142974240
[ 7691.178940] end_request: I/O error, dev sdb, sector 1142974336
[ 7708.260153] end_request: I/O error, dev sdb, sector 1142974240
[ 7725.275682] end_request: I/O error, dev sdb, sector 1142974336
[15687.302916] end_request: I/O error, dev sdb, sector 1142974240
[15704.434721] end_request: I/O error, dev sdb, sector 1142974240
[15721.424880] end_request: I/O error, dev sdb, sector 1142974336
[21524.306919] end_request: I/O error, dev sdb, sector 1142974240

Не значит ли, что медным валенком накрылся sdb? Т_Т

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

что смотреть в логах ОС

Что-нибудь, имеющее отношение к дискам. Я не знаю все ошибки наизусть :) /var/log/messages, /var/log/syslog, dmesg

Reallocated_Sector_Ct по нулям, диск вроде свежий и не сильно перегретый.

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

Хотя 46 ( и тем более 48 ) градусов - это перебор, серьёзные проблемы с охлаждением в серверной.

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

Накрывается.

вырубаю сервер и даю команду на замену винта

Ты уверен что твои парни поменяли нужный диск? ;)

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

Да, в этом я уверен, серийники винтов я проверять умею

Сервер в хецнере, там всегда такая погода. Судя по всему второй диск не работает на запись местами.

Есть ли способ как-нибудь поднять сервер с отмирающим sdb и уже мёртвым и заменённым на новый sda?

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

Есть ли способ как-нибудь поднять сервер с отмирающим sdb

я бы создал новые ( деградировашие, из одного нового диска; /dev/md100, /dev/md101 ) массивы, скопировал бы на них что осталось через dd ( if=/dev/md0 of=/dev/md100 bs=1M conv=noerror, то же для /dev/md1 -> /dev/md101 ), то же самое с другим массивом. Затем добавил бы в новые массивы старый диск ( /dev/sdb1, /dev/sdb2 ).

blind_oracle, что скажешь?

Также нужно не забыть про установку загрузчика.

Сервер в хецнере, там всегда такая погода.

Я бы сбежал оттуда. 48 градусов на hdd это плохо, hdd не любят перегрева.

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

48 градусов на hdd это плохо, hdd не любят перегрева.

Судя по отчетам гугля температура не влияет на надежность дисков :)

blind_oracle, что скажешь?

Я думаю безопаснее переписать на новый массив пофайлово (rsync, cp -av), а не поблочно, меньше шансов нарваться на битые сектора.

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

Судя по отчетам гугля температура не влияет на надежность дисков :)

А у меня было 2 случая, когда у кондиционерщиков из-за резкой смены погоды отказывала вся система, а я об этом узнавал от системы мониторинга - 55 градусов окружающего воздуха в серверной. В обоих случаях на массивах и серверах вылетало несколько дисков. В обоих случаях потом долго вели любовную переписку с кондиционерщиками насчёт соблюдения SLA и выплаты компенсации

Это может 25 или 30 градусов без разницы, а если 60 - «страна в анусе, удои падают»

Я думаю безопаснее переписать на новый массив пофайлово (rsync, cp -av), а не поблочно, меньше шансов нарваться на битые сектора.

Да, об этом я не подумал

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

решили сделать что-то похожее, но иначе загружаюсь в хецнеровый rescue, говорю ему:

#mkdir /mnt/md0
#mkdir /mnt/md1
#mount /dev/md0 /mnt/md0
#mount /dev/md1/ mnt/md1
а он мне говорит, что у него mount: unknown filesystem type 'LVM2_member' Хотя /dev/md0 примонтировался нормально

Вот и думаю, что теперь с ним делать дальше Т_Т

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

помогло lvchange -ay и монтирование того, что в /dev/mapper

вытащили всё, что смогли и решили сносить нафих всё и ставить с нуля

Goury ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.