расширение программного раздела RAID1 для включения 2 зеркальных дисков или преобразование в RAID10

Одним из способов размещения необязательных аргументов в начале является использование shift.
Что он делает, так это перемещает все аргументы на n шагов влево, удаляя те, которые идут ниже $1. Без указания аргумента shiftчисло шагов равно 1.

В начале скрипта вы проверяете, соответствует ли первый аргумент структуре необязательного или первого обязательного аргумента.
Если это требуемый, вы ничего не делаете.
Если это необязательный, вы обрабатываете его и вызываете shift.

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

0
15.03.2020, 01:42
1 ответ

Я решил эту проблему благодаря превосходному описанию инженера-программиста Жана -Кристофа Бертона . Я бы сэкономил еще больше времени, если бы просто удалил огромную резервную копию, которую я сделал с каталогами и файлами.

Несмотря на то, что RAID10 показывает работоспособность примерно один раз в день, я вижу приведенные ниже журналы, которые, как я полагаю, означают замену SDD1:

Mar 15 06:12:57 ourserver kernel: ata18.00: failed command: READ DMA EXT
Mar 15 06:12:57 ourserver kernel: ata18.00: cmd 25/00:80:22:ba:c4/00:00:ab:00:00/e0 tag 31 dma 65536 in#012         res 51/40:00:6d:ba:c4
/00:00:ab:00:00/00 Emask 0x9 (media error)
Mar 15 06:12:57 ourserver kernel: ata18.00: status: { DRDY ERR }
Mar 15 06:12:57 ourserver kernel: ata18.00: error: { UNC }
Mar 15 06:12:57 ourserver kernel: ata18.00: configured for UDMA/133
Mar 15 06:12:57 ourserver kernel: sd 17:0:0:0: [sdd] tag#31 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=2s
Mar 15 06:12:57 ourserver kernel: sd 17:0:0:0: [sdd] tag#31 Sense Key : Medium Error [current]
Mar 15 06:12:57 ourserver kernel: sd 17:0:0:0: [sdd] tag#31 Add. Sense: Unrecovered read error - auto reallocate failed
Mar 15 06:12:57 ourserver kernel: sd 17:0:0:0: [sdd] tag#31 CDB: Read(10) 28 00 ab c4 ba 22 00 00 80 00
Mar 15 06:12:57 ourserver kernel: blk_update_request: I/O error, dev sdd, sector 2881796717 op 0x0:(READ) flags 0x0 phys_seg 2 prio class
 0
Mar 15 06:12:57 ourserver kernel: ata18: EH complete
Mar 15 06:13:00 ourserver kernel: ata18.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Mar 15 06:13:00 ourserver kernel: ata18.00: irq_stat 0x40000001
Mar 15 06:13:00 ourserver kernel: ata18.00: failed command: READ DMA EXT
Mar 15 06:13:00 ourserver kernel: ata18.00: cmd 25/00:00:a2:ba:c4/00:09:ab:00:00/e0 tag 0 dma 1179648 in#012         res 51/40:00:41:bd:c
4/00:00:ab:00:00/00 Emask 0x9 (media error)
Mar 15 06:13:00 ourserver kernel: ata18.00: status: { DRDY ERR }
Mar 15 06:13:00 ourserver kernel: ata18.00: error: { UNC }
Mar 15 06:13:01 ourserver kernel: ata18.00: configured for UDMA/133
Mar 15 06:13:01 ourserver kernel: sd 17:0:0:0: [sdd] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=3s
Mar 15 06:13:01 ourserver kernel: sd 17:0:0:0: [sdd] tag#0 Sense Key : Medium Error [current]
Mar 15 06:13:01 ourserver kernel: sd 17:0:0:0: [sdd] tag#0 Add. Sense: Unrecovered read error - auto reallocate failed
Mar 15 06:13:01 ourserver kernel: sd 17:0:0:0: [sdd] tag#0 CDB: Read(10) 28 00 ab c4 ba a2 00 09 00 00
Mar 15 06:13:01 ourserver kernel: blk_update_request: I/O error, dev sdd, sector 2881797441 op 0x0:(READ) flags 0x0 phys_seg 86 prio class 0
Mar 15 06:13:01 ourserver kernel: ata18: EH complete
Mar 15 06:13:04 ourserver kernel: ata18.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Mar 15 06:13:04 ourserver kernel: ata18.00: irq_stat 0x40000001
Mar 15 06:13:04 ourserver kernel: ata18.00: failed command: READ DMA EXT

И smartctlпоказывает это:

Error 45 occurred at disk power-on lifetime: 3736 hours (155 days + 16 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 80 ff ff ff ef 00   1d+07:38:55.963  READ DMA EXT
  27 00 00 00 00 00 e0 00   1d+07:38:55.906  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00   1d+07:38:55.905  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00   1d+07:38:55.892  SET FEATURES [Set transfer mode]
  27 00 00 00 00 00 e0 00   1d+07:38:55.830  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]

Error 44 occurred at disk power-on lifetime: 3736 hours (155 days + 16 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 00 ff ff ff ef 00   1d+07:38:52.146  READ DMA EXT
  35 00 80 ff ff ff ef 00   1d+07:38:52.143  WRITE DMA EXT
  35 00 80 ff ff ff ef 00   1d+07:38:52.142  WRITE DMA EXT
  35 00 80 ff ff ff ef 00   1d+07:38:52.140  WRITE DMA EXT
  27 00 00 00 00 00 e0 00   1d+07:38:52.112  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]

Error 43 occurred at disk power-on lifetime: 3736 hours (155 days + 16 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 80 ff ff ff ef 00   1d+07:38:49.220  READ DMA EXT
  ea 00 00 00 00 00 a0 00   1d+07:38:49.163  FLUSH CACHE EXT
  ca 00 01 2a 00 00 e0 00   1d+07:38:49.163  WRITE DMA
  ea 00 00 00 00 00 a0 00   1d+07:38:49.162  FLUSH CACHE EXT
  ea 00 00 00 00 00 a0 00   1d+07:38:49.136  FLUSH CACHE EXT

Error 42 occurred at disk power-on lifetime: 3736 hours (155 days + 16 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 00 ff ff ff ef 00   1d+07:38:46.103  READ DMA EXT
  27 00 00 00 00 00 e0 00   1d+07:38:46.075  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00   1d+07:38:46.074  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00   1d+07:38:46.060  SET FEATURES [Set transfer mode]
  27 00 00 00 00 00 e0 00   1d+07:38:46.033  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]

Error 41 occurred at disk power-on lifetime: 3736 hours (155 days + 16 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f  Error: UNC at LBA = 0x0fffffff = 268435455

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 80 ff ff ff ef 00   1d+07:38:42.036  READ DMA EXT
  35 00 00 ff ff ff ef 00   1d+07:38:42.032  WRITE DMA EXT
  35 00 80 ff ff ff ef 00   1d+07:38:42.025  WRITE DMA EXT
  27 00 00 00 00 00 e0 00   1d+07:38:41.997  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00   1d+07:38:41.996  IDENTIFY DEVICE

Также вижу это:

smartctl -A /dev/sdd1
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.5.8-200.fc31.x86_64] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
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   101   099   006    Pre-fail  Always       -       203989872
  3 Spin_Up_Time            0x0003   099   097   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       16
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       23
  7 Seek_Error_Rate         0x000f   070   060   030    Pre-fail  Always       -       12419382
  9 Power_On_Hours          0x0032   096   096   000    Old_age   Always       -       3774
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       10
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   001   001   000    Old_age   Always       -       101
188 Command_Timeout         0x0032   100   099   000    Old_age   Always       -       65537
189 High_Fly_Writes         0x003a   070   070   000    Old_age   Always       -       30
190 Airflow_Temperature_Cel 0x0022   072   060   045    Old_age   Always       -       28 (Min/Max 28/31)
194 Temperature_Celsius     0x0022   028   040   000    Old_age   Always       -       28 (0 19 0 0 0)
195 Hardware_ECC_Recovered  0x001a   044   006   000    Old_age   Always       -       203989872
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       105
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       105
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       3774 (62 166 0)
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       201703664
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       1542427917
0
28.04.2021, 23:20

Теги

Похожие вопросы