Debian 10 mdadm команда не найдена

Обновлено: 04.07.2024

Все, описанные ниже действия, вы делаете на свой страх и риск. Мы не несем ответственности за потерю или повреждение данных.

Установка утилиты mdadm

Для настройки и управления программным RAID-ом в Linux используется утилита mdadm. Установим ее:

MD arrays needed for the root file system: all

Загрузим необходимые модули ядра:

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

Если Вы видите что-то подобное, значит все хорошо.

Оба диска в массиве должны иметь абсолютно одинаковое разбиение. В зависимости от используемого типа таблицы разделов (MBR или GPT) необходимо использовать соответствующие утилиты для копирования таблицы разделов.

Жесткий диск с таблицей разделов MBR

Для жесткого диска с MBR используем утилиту sfdisk:

Удостоверимся, что все верно:

На следующем шаге изменим тип трех разделов жесткого диска /dev/sdb на Linux raid autodetect:

Жесткий диск с таблицей разделов GPT

Для жесткого диска с GPT используем утилиту sgdisk из GPT fdisk:

Проверим, что разделы созданы:

Изменим тип трех разделов жесткого диска /dev/sdb на raid:

Очищаем суперблоки RAID на разделах /dev/sdb, в случае если этот диск уже использовался в RAID-массивах:

Создадим три RAID-массива: /dev/md0, /dev/md1, /dev/md2. Раздел /dev/sdb1 будет входить в /dev/md0, /dev/sdb2 в /dev/md1, /dev/sdb3 в /dev/md2. Разделы жесткого диска /dev/sda, на данном этапе, в RAID-массивы включены быть не могут, так как они используются системой. Используем опцию missing при создании массивов:

На вопрос о создании массивов отвечаем утвердительно:

Используя команду cat /proc/mdstat, просмотрим информацию о массивах:

Создадим файловые системы на только что созданных составных дисках /dev/md0 (/boot), /dev/md1 (swap), /dev/md2 (/):

Запишем информацию о созданных массивах в конфигурационный файл mdadm.conf, предварительно сделав резервную копию:

Конфигурационный файл примет следующий вид:

Подготовка системы для работы с RAID-массивами

Подмонтируем /dev/md0 и /dev/md2 в нашу систему (монтировать раздел подкачки- /dev/md1, нет никакого смысла):

Подправим файл /etc/mtab подобным образом:

Пришла очередь настройки загрузчика GRUB2:

Так как мы изменили файл /etc/fstab на использование обычных названий устройств вместо их UUID, сообщим об этом загрузчику:

Пришло время перенести систему с диска /dev/sda на составные устройства /dev/mdx. То есть содержимое раздела /dev/sda1 на /dev/md0, а /dev/sda3 на /dev/md2. Напомню, что массивы /dev/md0 и /dev/md2 у нас подмонтированы в /mnt/md0 и /mnt/md2 соответственно. Раздел подкачки переносить не будем.

Настройка загрузчика GRUB2 (часть 1)

Установим загрузчик на оба жестких диска:

Проверяем, что загрузка с /dev/md0 возможна:

Подготовка диска /dev/sda

После загрузки системы проверяем все ли загрузилось и работает:

Жесткий диск /dev/sda с MBR

Изменим тип разделов диска /dev/sda на Linux raid autodetect:

Жесткий диск /dev/sda с GPT

Изменим флаг разделов на raid:

Добавляем разделы /dev/sda в RAID-массивы:

Проверяем, что массивы синхронизируются:

По окончанию процесса синхронизации увидим следующее:

Осталось совсем немного. Подправим файл /etc/mdadm/mdadm.conf, восстановив его предварительно из резервной копии:

Его содержимое станет приблизительно таким:

Настройка загрузчика GRUB2 (часть 2)

Удалим файл /etc/grub.d/09_swraid1_setup:

И обновим конфигурацию загрузчика:

Обновим загрузчик на обоих жестких дисках:

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

mdadm — утилита для работы с программными RAID-массивами различных уровней. В данной инструкции рассмотрим примеры ее использования.

Установка mdadm

Утилита mdadm может быть установлена одной командой.

Если используем CentOS / Red Hat:

yum install mdadm

Если используем Ubuntu / Debian:

apt-get install mdadm

Сборка RAID

Перед сборкой, стоит подготовить наши носители. Затем можно приступать к созданию рейд-массива.

Подготовка носителей

Сначала необходимо занулить суперблоки на дисках, которые мы будем использовать для построения RAID (если диски ранее использовались, их суперблоки могут содержать служебную информацию о других RAID):

mdadm --zero-superblock --force /dev/sd

* в данном примере мы зануляем суперблоки для дисков sdb и sdc.

Если мы получили ответ:

mdadm: Unrecognised md component device - /dev/sdb
mdadm: Unrecognised md component device - /dev/sdc

. то значит, что диски не использовались ранее для RAID. Просто продолжаем настройку.

Далее нужно удалить старые метаданные и подпись на дисках:

wipefs --all --force /dev/sd

Создание рейда

Для сборки избыточного массива применяем следующую команду:

mdadm --create --verbose /dev/md0 -l 1 -n 2 /dev/sd

  • /dev/md0 — устройство RAID, которое появится после сборки;
  • -l 1 — уровень RAID;
  • -n 2 — количество дисков, из которых собирается массив;
  • /dev/sd — сборка выполняется из дисков sdb и sdc.

Мы должны увидеть что-то на подобие:

Также система задаст контрольный вопрос, хотим ли мы продолжить и создать RAID — нужно ответить y:

Continue creating array? y

Мы увидим что-то на подобие:

mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

. и находим информацию о том, что у наших дисков sdb и sdc появился раздел md0, например:

.
sdb 8:16 0 2G 0 disk
??md0 9:0 0 2G 0 raid1
sdc 8:32 0 2G 0 disk
??md0 9:0 0 2G 0 raid1
.

* в примере мы видим собранный raid1 из дисков sdb и sdc.

Создание файла mdadm.conf

В файле mdadm.conf находится информация о RAID-массивах и компонентах, которые в них входят. Для его создания выполняем следующие команды:

echo "DEVICE partitions" > /etc/mdadm/mdadm.conf

DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=proxy.dmosk.local:0 UUID=411f9848:0fae25f9:85736344:ff18e41d

* в данном примере хранится информация о массиве /dev/md0 — его уровень 1, он собирается из 2-х дисков.

Создание файловой системы и монтирование массива

Создание файловой системы для массива выполняется также, как для раздела:

* данной командой мы создаем на md0 файловую систему ext4.

Примонтировать раздел можно командой:

mount /dev/md0 /mnt

* в данном случае мы примонтировали наш массив в каталог /mnt.

Чтобы данный раздел также монтировался при загрузке системы, добавляем в fstab следующее:

/dev/md0 /mnt ext4 defaults 1 2

Для проверки правильности fstab, вводим:

Мы должны увидеть примонтированный раздел md, например:

/dev/md0 990M 2,6M 921M 1% /mnt

Информация о RAID

Посмотреть состояние всех RAID можно командой:

В ответ мы получим что-то на подобие:

md0 : active raid1 sdc[1] sdb[0]
1046528 blocks super 1.2 [2/2] [UU]

* где md0 — имя RAID устройства; raid1 sdc[1] sdb[0] — уровень избыточности и из каких дисков собран; 1046528 blocks — размер массива; [2/2] [UU] — количество юнитов, которые на данный момент используются.
** мы можем увидеть строку md0 : active(auto-read-only) — это означает, что после монтирования массива, он не использовался для записи.

Подробную информацию о конкретном массиве можно посмотреть командой:

* где /dev/md0 — имя RAID устройства.

Version : 1.2
Creation Time : Wed Mar 6 09:41:06 2019
Raid Level : raid1
Array Size : 1046528 (1022.00 MiB 1071.64 MB)
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Wed Mar 6 09:41:26 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Consistency Policy : resync

Name : proxy.dmosk.local:0 (local to host proxy.dmosk.local)
UUID : 304ad447:a04cda4a:90457d04:d9a4e884
Events : 17

Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc

  • Version — версия метаданных.
  • Creation Time — дата в время создания массива.
  • Raid Level — уровень RAID.
  • Array Size — объем дискового пространства для RAID.
  • Used Dev Size — используемый объем для устройств. Для каждого уровня будет индивидуальный расчет: RAID1 — равен половине общего размера дисков, RAID5 — равен размеру, используемому для контроля четности.
  • Raid Devices — количество используемых устройств для RAID.
  • Total Devices — количество добавленных в RAID устройств.
  • Update Time — дата и время последнего изменения массива.
  • State — текущее состояние. clean — все в порядке.
  • Active Devices — количество работающих в массиве устройств.
  • Working Devices — количество добавленных в массив устройств в рабочем состоянии.
  • Failed Devices — количество сбойных устройств.
  • Spare Devices — количество запасных устройств.
  • Consistency Policy — политика согласованности активного массива (при неожиданном сбое). По умолчанию используется resync — полная ресинхронизация после восстановления. Также могут быть bitmap, journal, ppl.
  • Name — имя компьютера.
  • UUID — идентификатор для массива.
  • Events — количество событий обновления.
  • Chunk Size (для RAID5) — размер блока в килобайтах, который пишется на разные диски.

Подробнее про каждый параметр можно прочитать в мануале для mdadm:

Также, информацию о разделах и дисковом пространстве массива можно посмотреть командой fdisk:

Проверка целостности

Для проверки целостности вводим:

Результат проверки смотрим командой:

* если команда возвращает 0, то с массивом все в порядке.

Восстановление RAID

Рассмотрим два варианта восстановлении массива.

Замена диска

В случае выхода из строя одного из дисков массива, команда cat /proc/mdstat покажет следующее:

Personalities : [raid1]
md0 : active raid1 sdb[0]
1046528 blocks super 1.2 [2/1] [U_]

* о наличии проблемы нам говорит нижнее подчеркивание вместо U — [U_] вместо [UU].

.
Update Time : Thu Mar 7 20:20:40 2019
State : clean, degraded
.

* статус degraded говорит о проблемах с RAID.

Для восстановления, сначала удалим сбойный диск, например:

mdadm /dev/md0 --remove /dev/sdc

Теперь добавим новый:

mdadm /dev/md0 --add /dev/sde

Смотрим состояние массива:

.
Update Time : Thu Mar 7 20:57:13 2019
State : clean, degraded, recovering
.
Rebuild Status : 40% complete
.

* recovering говорит, что RAID восстанавливается; Rebuild Status — текущее состояние восстановления массива (в данном примере он восстановлен на 40%).

Если синхронизация выполняется слишком медленно, можно увеличить ее скорость. Для изменения скорости синхронизации вводим:

* по умолчанию скорость speed_limit_min = 1000 Кб, speed_limit_max — 200000 Кб. Для изменения скорости, можно поменять только минимальную.

Пересборка массива

Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:

mdadm --assemble --scan

* данная команда сама найдет необходимую конфигурацию и восстановит RAID.

Также, мы можем указать, из каких дисков пересобрать массив:

mdadm --assemble /dev/md0 /dev/sdb /dev/sdc

Запасной диск (Hot Spare)

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

Диском Hot Spare станет тот, который просто будет добавлен к массиву:

mdadm /dev/md0 --add /dev/sdd

Информация о массиве изменится, например:

.
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
2 8 48 1 active sync /dev/sdc

3 8 32 - spare /dev/sdd

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

mdadm /dev/md0 --fail /dev/sdb

И смотрим состояние:

.
Rebuild Status : 37% complete
.
Number Major Minor RaidDevice State
3 8 32 0 spare rebuilding /dev/sdd
2 8 48 1 active sync /dev/sdc

0 8 16 - faulty /dev/sdb
.

* как видим, начинается ребилд. На замену вышедшему из строя sdb встал hot-spare sdd.

Добавить диск к массиву

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

Добавляем диск к массиву:

mdadm /dev/md0 --add /dev/sde

4 8 16 - spare /dev/sde

Теперь расширяем RAID:

mdadm -G /dev/md0 --raid-devices=3

* в данном примере подразумевается, что у нас RAID 1 и мы добавили к нему 3-й диск.

Удаление массива

При удалении массива внимателнее смотрите на имена массива и дисков и подставляйте свои значения.

Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:

* где /mnt — каталог монтирования нашего RAID.

* где /dev/md0 — массив, который мы хотим разобрать.
* если мы получим ошибку mdadm: fail to stop array /dev/md0: Device or resource busy, с помощью команды lsof -f -- /dev/md0 смотрим процессы, которые используют раздел и останавливаем их.

Затем очищаем суперблоки на всех дисках, из которых он был собран:

mdadm --zero-superblock /dev/sdb

mdadm --zero-superblock /dev/sdc

mdadm --zero-superblock /dev/sdd

* где диски /dev/sdb, /dev/sdc, /dev/sdd были частью массива md0.

Отказоустойчивость и сохранность данных является краеугольным камнем любой IT инфраструктуры. Помимо резервных копий, немаловажным моментом является использование RAID массивов, что позволяет поддерживать сервер в рабочем состоянии, даже если один из дисков вышел из строя. Согласитесь, если у Вас выйдет из строя единственный жесткий диск, на котором храниться жизненно важная информация для функционирования предприятия, последствия могут быть крайне неприятны. Использование RAID массивов позволяет продолжать работу сервера в штатном режиме, пока выполняется замена сбойного жесткого диска, при условии, если Вы используете RAID1 и выше. Существуют как аппаратные, так и программные RAID массивы. В данной статье мы рассмотрим утилиту mdadm, разработанную для управления программными RAID-массивами в Linux.

В Linux можно использовать следующие разновидности RAID:

RAID0 (striping) - распределение блоков на нескольких физических дисках для повышения скоростей записи и чтения, но без обеспечения отказоустойчивости. В случае отказа одного из дисков вся информация будет уничтожена;

RAID1 (mirroring) - зеркалирование, то есть запись одних и тех же данных одновременно на несколько дисков, что обеспечивает отказоустойчивость при выходе из строя любого количества дисков, пока остаётся хотя бы один работоспособный;

RAID4 - похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты;

RAID5 - массив с обеспечением отказоустойчивости за счет минимальной избыточности (требуется минимум три диска, для отказоустойчивости — четыре диска);

RAID6 - похож на RAID 5, но имеет более высокую степень надежности - под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам;

В этом примере мы добавим программный массив RAID1 на тестовый сервер Debian с двумя дополнительными дисками для хранения данных.

Утилита присутствует в официальном репозитории и установить её можно просто командой:

Примечание: Для удобства, в этом примере используется VPS. Один виртуальный диск размером 10Gb зарезервирован под операционную систему Debian 10, два диска, по 120Gb каждый - под RAID массив. Порядок действий ничем не отличается от работы на физическом сервере, с той разницей, что диски будут иметь названия /dev/sda, а не /dev/vda.

Создание разделов

Утилитой fdisk проверим названия разделов. Важно быть внимательным и выполнять операции с нужными дисками, иначе Вы рискуете удалить информацию без возможности восстановления

Если данные диски уже где-то использовались, первым делом нам нужно их полностью очистить и удалить старую «память о рейде», если на них уже был создан массив ранее:

После этого удаляем ссылки на разобранный RAID-массив в /etc/mdadm/mdadm.conf (в Debian) или в /etc/mdadm.conf (в CentOS), если они делались там ранее.

Создание RAID-массива

Массив RAID1 мы будем собирать из следующих дисков:

Для начала, уже известной нам командой fdisk создадим партиции на разделах. Данную операцию необходимо выполнить два двух дисков: /dev/vdb и /dev/vdc

Создав партиции, приступим к созданию непосредственно RAID:

Операция займет некоторое время, в зависимости от типа дисков, которые вы используете и их объема. Проверить процесс создания в реальном времени Вы можете командой: cat /proc/mdstat. После успешного создания массива мы увидим следующий результат:

Снова проверяем результат:

Затем в файле /etc/mdadm/mdadm.conf добавляем следующие строки и сохраняем файл:

DEVICE /dev/vdb1 /dev/vdc1

CREATE owner=root group=disk mode=0660 auto=yes

ARRAY /dev/md0 UUID=24ef0763:12d8c289:4f5e4658:14648eab

В консоли, от суперпользователя root перезапустим массив, обновим ядро и выполним перезагрузку операционной системы, после чего raid станет требуемым md0

Создание файловой системы на RAID-массиве

Отлично, массив RAID1 создан, приступим к созданию файловой системы ext4 поверх него. В массиве RAID1 понятие chunk size отсутствует, т.к. это размер блока, который по очереди пишется на разные диски, потому создать FS можно простой командой:

В реальном времени наблюдаем процесс создания файловой системы, пока не увидим done:

Создадим точку монтирования для RAID-массива и примонтируем массив:

узнать UUID нашего массива можно с помощью команды blkid

Мониторинг состояния RAID-массива

Первым делом установим утилиту smartmontools и настроим оповещения на email:

Затем в файле /etc/default/smartmontools раскоментируем строку: start_smartd=yes
А в файле /etc/smartd.conf добавим следующее:

и перезагрузим службу:

Замена сбойного диска в RAID-массиве

Информация о целостности RAID-массива находится в файле /proc/mdstat
В случае выхода диска из строя, при условии что Вы настроили мониторинг, картина будет следующая:

Наш массив состоит из двух дисков. [2/1] [U_] означает, что один из дисков вышел из строя и raid в режиме inactive. При рабочем raid-массиве это значение будет иметь вид: [2/2] [UU]

Допустим, наш диск /dev/vdc вышел из стоя. Нам необходимо пометить его как «сбойный» и удалить его с массива:

Вынимаем старый диск с сервера. Если ваши диски установлены в корзины и материнская плата поддерживает hotswap, это можно выполнить без остановки сервера, «на горячую». После того, как новый диск будет в сервере, копируем разметку следующей командой (с «живого» диска на новый):

И добавляем его в наш массив md0:

Процесс синхронизации массива проверяем уже знакомой нам командой, пока не увидим следующий результат:

Получить более развернутую информацию о raid массиве вы можете выполним следующую команду:

Заключение

Для настройки программного RAID массива не требуется покупать дополнительное оборудование в виде дорогостоящих raid контроллеров. Утилита mdadm является отличным бесплатным инструментом для построения отказоустойчивой инфраструктуры и риск потери данных сводится к минимуму. Наш дата-центр предлагает полный спектр услуг хостинга. У нас Вы можете арендовать выделенный сервер и наша круглосуточная служба технической поддержки поможет с его настройкой.


А уже не нужно для автосборки рейда делать на диске разделы с типом «Linux RAID» ?

ARRAY /dev/md0 level=raid10 num-devices=4 UUID=86863898:2c7ab753:26fd8de7:14f261bc

Вообще до этого тут спокойно работал RAID5, на дисках по 500Гб х 3шт. Но решили сделать 10 на новых дисках и тут такая проблема.


Никогда не нужно было. Он сам по сигнатурам смотрит. Там же и к какому массиву оно относится и т.п.


Занеси свой массив в /etc/mdadm/mdadm.conf или куда-то где-то туда, не спец в федоре. И перегенеряй граб и initrd. Тоже не знаю как это в федоре делается.

Может кто подсказать как перегенирировать grub и initrd в старой федоре? Или мб достаточно только initrd?


Да я думаю, тебе надо просто в mdadm.conf добавить и всё. Потому как ты загржаешься не с массива.

Так ведь добавлено. В первом посте я листинг конфига привёл mdadm.conf

А сигнатуры он где ищет? На всех-всех-всех блочных устройствах? И на /dev/vg0/lv11 тоже?


Везде где дотянется.


ARRAY /dev/md0 level=raid10 num-devices=4 UUID=86863898:2c7ab753:26fd8de7:14f261bc

Пробовал добавить auto=yes, но увы не помогает

Забыл добавить еще вот что:

Менялся системный диск на ssd, но менялся еще потому, что там сломался grub. Grub на новый диск ставился новый, но все содержимое ФС переносилось без изменений.

Попробуйте собирать массив не на целых дисках, а на разделах. Создайте 1 раздел на весь диск и укажите тип раздела Linux raid. Ну и массив собирайте из /dev/sda1 и т. д.


кстати да, почему пропустили этот совет?

Нужно тупо закомментировать эту строку, и массив поднимется после ребута

Не понял, какую строку закоментировать? auto=yes я пробовал добавить - все так же. Пробовал и рейд разделами, а не дисками, ситуация такая же.


И это, думаю, тоже:

Уровень и количество устройств и так хранятся в метаданных.

Но проблема, кажется, не в конфигурации.

Проблема еще актуальна.

Давайте подумаем, что отвечает за инициализацию массива во время загрузки? Возможно какой-то скрипт. Так как в логах dmesg нет ничего про про устройства md, думаю что проблема с инициализацией.

Если после перезагрузки сделать mdadm —assemble –scan, то массив стартует в том же состоянии, в котором был до перезагрузки

Дабы исключить эксплуатационные ошибки, я поставил на виртуалку Fedora 9, добавил 4 диска по 1Гб. Собираю из них 10 рейд, а после перезагрузки он так же пропадает. Похоже, что помимо конфига в /etc/mdadm.conf нужно что-то еще.

/etc/fstab - если просто раздел

update-initramfs - захреначить поддержку в ядро, если грузимся с райда

ну было же уже по треду, почему не попробовал?

update-initramfs в системе нету, я делал:

проверь, а есть ли поддержка md в initrd

если нет, то придется добавить

увы не шаман по твоему дистру


хм, как помню, ни разу таким не заморачивался. зачем?

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

Раздел как минимум позволит при замене дисков не попасть в ситуацию когда «такого же размера» диск на деле чуть меньше и рейд его (диск) не принимает

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

Попробовал сделать через разделы. Тип выставил fd. После перезагрузки рейд так же пропадает.

Debian Squeeze ошибки при обновлении: mdadm: /etc/mdadm/mdadm.conf defines no arrays. и grub-probe: error: no such disk.

Имеется сервер работающий на soft raid-1 с Debian Squeeze, во время обновления пакетов сервера получил такие ошибки:

  1. W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
  2. /usr/sbin/grub-probe: error: no such disk.

Подробный ответ системы:

.
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.3 2-5-amd64.postinst line 799.
dpkg: не удалось обработать параметр linux-image-2.6.32-5-amd64 (--configure):
подпроцесс установлен сценарий post-installation возвратил код ошибки 2
configured to not write apport reports
При обработке следующих пакетов произошли ошибки:
linux-image-2.6.32-5-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
Не удалось установить пакет. Попытка восстановить:
Настраивается пакет linux-image-2.6.32-5-amd64 (2.6.32-46) .
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32-5-amd64 /boot /vmlinuz-2.6.32-5-amd64
run-parts: executing /etc/kernel/postinst.d/zz-lilo 2.6.32-5-amd64 /boot/vmlinuz -2.6.32-5-amd64
Warning: Not updating LILO; /etc/lilo.conf not found
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32-5-amd64 /boot/ vmlinuz-2.6.32-5-amd64
Generating grub.cfg .
/usr/sbin/grub-probe: error: no such disk.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.3 2-5-amd64.postinst line 799.
dpkg: не удалось обработать параметр linux-image-2.6.32-5-amd64 (--configure):
подпроцесс установлен сценарий post-installation возвратил код ошибки 2
При обработке следующих пакетов произошли ошибки:
linux-image-2.6.32-5-amd64

Исправляем первую ошибку: W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.

Проверяем содержимое файла /etc/mdadm/mdadm.conf, там должны быть указаны подключенные разделы командой:

Видим, что разделов в конфигурационном файле нет, проверяем вообще содержимое подключенных разделов в mdadm командой:

Приводим содержимое файла /etc/mdadm/mdadm.conf к такому виду:

Исправляем вторую ошибку: /usr/sbin/grub-probe: error: no such disk.

Проверяем содержимое файла /boot/grub/device.map на наличие разделов командой:

Теперь нам нужно удостоверится, что то, что записано в файле соответствует действительности, для этого выполняем команду и сравниваем ответ системы с тем что находится в файле /boot/grub/device.map выполнив команду::

Естественно, что scsi-35000c5004a3e9a73 не соответствует scsi-SATA_ST3000DM001-9YN_S1F07VNV, а scsi-35000c5004a3f96a1 не соответствуют scsi-SATA_ST3000DM001-9YN_S1F08J4D

Исправляем файл /boot/grub/device.map:

Сохраняем измененный файл и обновляем загрузчик grub командой:

И после обновления grub заканчиваем обновление системы командой:

После обновления ядра перегружаем наш сервер командой:

  1. W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
  2. /usr/sbin/grub-probe: error: no such disk.

Задача выполнена, ошибки исправлены, сервер обновлен.

Небольшой перерыв, посмотрите маленький видео ролик о правде и лжи в отношениях:

Читайте также: