LINUX.ORG.RU

Как правильно удалить диск из рейд 10 mdadm?

 , ,


0

1

Всем привет.

Как можно заменить диск в raid 10 На домашнем сервере отвалился один диск, видимо после того как несколько раз сервер перезагружался из-за перебоя электричества, диск слетел, на рейд контроллере одна лампочка не светится.

Вот что выдаёт cat /proc/mdstat:

Personalities : [raid10] 
md127 : active raid10 sda3[0] sdb1[1] sdc1[2]
      19530506240 blocks super 1.2 512K chunks 2 near-copies [4/3] [UUU_]
      bitmap: 36/146 pages [144KB], 65536KB chunk

unused devices: <none>

Вот мои диски из lsblk:

root@NAS:~# lsblk
NAME      MAJ:MIN RM  SIZE RO TYPE   MOUNTPOINTS
sda         8:0    0  9.1T  0 disk   
├─sda1      8:1    0    1M  0 part   
├─sda2      8:2    0    1G  0 part   /boot
└─sda3      8:3    0  9.1T  0 part   
  └─md127   9:127  0 18.2T  0 raid10 /
sdb         8:16   0  9.1T  0 disk   
└─sdb1      8:17   0  9.1T  0 part   
  └─md127   9:127  0 18.2T  0 raid10 /
sdc         8:32   0  9.1T  0 disk   
└─sdc1      8:33   0  9.1T  0 part   
  └─md127   9:127  0 18.2T  0 raid10 /
sdd         8:48   0  9.1T  0 disk   
└─sdd1      8:49   0  9.1T  0 part   
zram0     252:0    0    8G  0 disk   [SWAP]

По идеи слетевший диск должен быть sdd, но хочу сделать удаление щдиска этого и потом вставить другой такой же. Выдаёт ошибку:

root@NAS:~# mdadm /dev/md127 --fail /dev/sdd --remove /dev/sdd
mdadm: set device faulty failed for /dev/sdd:  No such device

Как заменить диск который видимо накрылся? И как правильно сделать бекап данных(Развернута самба, плекс, постгрес) хотябы их забекапить, как можно это сделать правильно, заархивировать?

А разве не

mdadm /dev/md127 --fail /dev/sdd1
mdadm /dev/md127 --remove /dev/sdd1

нужно сделать в вашем случае?

Заменяете диск, делаетe

sgdisk -R /dev/sdb /dev/sdd
sgdisk -G  /dev/sdd

mdadm --manage /dev/md127 --add /dev/sdd1

возможно загрузчик на диск прописать нужно будет(если тачка с BIOS(Legacy) режимом загрузки).

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

И всё таже ошибка:

root@NAS:~# mdadm /dev/md127 --fail /dev/sdd1
mdadm: set device faulty failed for /dev/sdd1:  No such device

Вот более подробная информация по моему рейду:

root@NAS:~# mdadm --detail /dev/md127
/dev/md127:
           Version : 1.2
     Creation Time : Fri Jan  5 13:30:35 2024
        Raid Level : raid10
        Array Size : 19530506240 (18.19 TiB 20.00 TB)
     Used Dev Size : 9765253120 (9.09 TiB 10.00 TB)
      Raid Devices : 4
     Total Devices : 3
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Wed Jun 26 21:00:40 2024
             State : clean, degraded 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : bitmap

              Name : localhost.localdomain:root00
              UUID : 8313b782:f296eb8d:4a587bd9:72214d18
            Events : 238090

    Number   Major   Minor   RaidDevice State
       0       8        3        0      active sync set-A   /dev/sda3
       1       8       17        1      active sync set-B   /dev/sdb1
       2       8       33        2      active sync set-A   /dev/sdc1
       -       0        0        3      removed
ArtemBelykh
() автор топика
Ответ на: комментарий от ArtemBelykh

md127 : active raid10 sda3[0] sdb1[1] sdc1[2]

sdd1

Так его нет там, откуда ты его удалять пытаешься?

В общем, просто смени железку и добавь его в mdadm, как выше посоветовали.

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

По идее, всё должно быть в логах, когда диск выкинуло, как он раньше назывался.

Разметка странная, /boot только на sda, если он вылетит, то как система будет загружаться?

Бекап каждого из перечисленного — отдельный вопрос. У plex просто архивируется каталог ″Plex Media Server″, у samba просто конфиг, если она у вас не контроллер домена. Это если нужны только настройки, а если и файлы на шареных каталогах, то их отдельно.

У postgres отдельно копировать конфиг, отдельно базы данных. Их можно ли дампить на ходу, или архивировать файлы, предварительно остановив сервер.

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

Ну, я бы клонировал разметку sdd (вышеприведёные команды sgdisk) не с sdb, а с sda. Если, конечно, там размера хватит. Это нужно сравнивать размеры в байтах, чтобы нa sdd раздел получился как sdb1. А то, может у вас sdb1 больше sda3 или новый диск будет чуть меньше, 10Тб это же маркетинговая ёмкость, разные модели могут иметь разную ёмкость в байтах.

В raid добавить sdd3. Раздел sdd2 форматировать и скопировать файлы на него с sda2. Хотя, вобще не понятно. Если у вас там 10Тб, то разметка должна быть в GPT, что как-бы подразумевает EFI, но у вас там нет раздела ESP...

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

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

А как можно отфармотировать диск который я воткнул, он просто БУ временно поставил, пока новцый приедет. А там уже рейд был

sda         8:0    0   9.1T  0 disk   
├─sda1      8:1    0     1M  0 part   
├─sda2      8:2    0     1G  0 part   /boot
└─sda3      8:3    0   9.1T  0 part   
  └─md127   9:127  0  18.2T  0 raid10 /
sdb         8:16   0   9.1T  0 disk   
└─sdb1      8:17   0   9.1T  0 part   
  └─md127   9:127  0  18.2T  0 raid10 /
sdc         8:32   0   9.1T  0 disk   
└─sdc1      8:33   0   9.1T  0 part   
  └─md127   9:127  0  18.2T  0 raid10 /
sdd         8:48   0   9.1T  0 disk   
├─sdd1      8:49   0 517.7M  0 part   
│ └─md126   9:126  0     0B  0 md     
├─sdd2      8:50   0 517.7M  0 part   
│ └─md125   9:125  0     0B  0 md     
├─sdd3      8:51   0   9.1T  0 part   
│ └─md124   9:124  0     0B  0 md     
├─sdd4      8:52   0 517.7M  0 part   
│ └─md122   9:122  0     0B  0 md     
└─sdd5      8:53   0     8G  0 part   
  └─md123   9:123  0     0B  0 md     
zram0     252:0    0     8G  0 disk   [SWAP]

Как можно полностью его сформатировать и скопировать sda с boot’ом?

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

Вот такую я палучаю ошибку при дабовлении диска mdadm: add new device failed for /dev/sdd1 as 4: Invalid argument

Видимо старый диск всё же нужно было удалить из рейд, но я не смог выполнить вот эти команды:

mdadm /dev/md127 --remove /dev/sdd1```


Как это исправить?
ArtemBelykh
() автор топика
Последнее исправление: ArtemBelykh (всего исправлений: 1)
Ответ на: комментарий от ArtemBelykh

as 4: Invalid argument

Вы покажите какую команду вводите. Диск sdd исправный? В dmesg какие-нибудь сообщения после попытки добавить его в raid появляются? sdd чистый или раньше был в raid, во втором случае нужно сначала на нём обнулить суперблок от raid'а.

Заодно покажите ″cat /proc/partitions″, чтобы были видны размеры разделов.

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