Linux замена жесткого диска

Содержание
  1. Linux замена жесткого диска
  2. Меняем отказавший жёсткий диск в программном RAID в Linux
  3. 1 Предварительные замечания
  4. 2 Как узнать, что жёстких диск неисправен?
  5. 3 Удаление неисправного жёсткого диска
  6. 4-Добавление нового жёсткого диска
  7. Замена диска в Software RAID1 (Linux) Печать
  8. Замена дисков меньшего объёма на диски большего объёма в Linux
  9. Случай 1: Замена дисков меньшего объёма на диски большего объёма (до 2TB)
  10. 1. Удаление разделов диска из массивов
  11. 2. Копирование таблицы разделов на новый диск
  12. 3. Добавление разделов нового диска в массив
  13. 5. Установка GRUB на новые диски
  14. 6. Расширение файловой системы (ext4) корневого раздела
  15. Случай 2: Замена дисков меньшего объёма на диски большего объёма (более 2TB)
  16. 1. Установка GPT таблицы разделов и разметка диска
  17. 2. Удаление разделов первого диска из массивов
  18. 3. Добавление разделов нового диска в массив
  19. 4. Удаление разделов второго диска из массивов
  20. 5. Копируем таблицу разметки GPT и синхронизируем массив
  21. 6. Расширение файловой системы (ext4) корневого раздела

Linux замена жесткого диска

Имеем два жестких диска: /dev/sda и /dev/sdb. Из них созданы четыре программных RAID-массива:

Для получения информации о состоянии массивов выполняем:

О том, что массивы в порядке, указывает наличии двух букв U в квадратных кавычках каждого массива — [UU]. Если массив поврежден, буква U меняется на _. Для данного примера:

  • [_U] — поврежден /dev/sda
  • [U_] — поврежден /dev/sdb

Массивы не сихронизированы и виновен в этом сбойный диск /dev/sdb, будем его менять.

Удаление поврежденного жесткого диска

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

Бывают ситуации, когда не все программные RAID-массивы повреждены:

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

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

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

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

где /dev/sda — диск источник, /dev/sdb — диск назначения.

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

где /dev/sda — диск источник, /dev/sdb — диск назначения. Вторая строка назначает новому жесткому диску случайный UUID.

Добавление нового жесткого диска

Осталось добавить новый, размеченный жесткий диск в массивы и установить на нем загрузчик:

После этого начнется процесс синхронизации. Время синхронизации зависит от объема жесткого диска:

Если в системе используется загрузчик GRUB2 достаточно выполнить следующие команды (при этом нет необходимости дожидаться окончания процесса синхронизации):

После окончания синхронизации можете вздохнуть спокойно — ваши данные опять в безопасности.

Источник

Меняем отказавший жёсткий диск в программном RAID в Linux

Суббота, 28 Февраль 2015 00:00

В данной статье рассмотрим, как удалить неисправный жёсткий диск из массива Linux RAID1 (программное обеспечение RAID) и добавить новый жёсткий диск в массив RAID1 без потери данных. Для копирования схемы раздела диска будем использовать gdisk. Данная программа также работает на большинстве жёстких дисков с GPT (GUID Partition Table).

1 Предварительные замечания

Рассмотрим в качестве примера 2 жёстких диска, /dev/sda и /dev/sdb, с разделами /dev/sda1, /dev/sda2, /dev/sdb1 и /dev/sdb2.

/dev/sdb неисправен и нам потребуется заменить его.

2 Как узнать, что жёстких диск неисправен?

Если жёсткий диск неисправен, в журнале регистрации событий появится большое количество ошибок, например в /var/log/messages или /var/log/syslog.

Можно также выполнить:

и вместо строки [UU] получится [U_], что означает, что массив RAID1 неполон.

3 Удаление неисправного жёсткого диска

Для удаления /dev/sdb, пометим /dev/sdb1 и /dev/sdb2 как неисправные и удалим их из соответствующих массивов RAID (/dev/md0 и /dev/md1).

Для начала отметим /dev/sdb1 как неисправный:

Выходные данные в

должны выглядеть следующим образом:

Затем удалим /dev/sdb1 из /dev/md0:

Выходные данные должны быть следующими:

должно быть следующим:

Теперь проделаем тоже самое с /dev/sdb2 (который является частью /dev/md1):

Затем выключим систему:

и заменим старый жёсткий диск /dev/sdb на новый (по крайней мере объём нового жесткого диска должен совпадать со старым –если размер на несколько МБ меньше, то перестроить массивы будет невозможно).

4-Добавление нового жёсткого диска

После замены жёсткого диска /dev/sdb, включим систему.

Первым делом необходимо создать точно такое же разбиение на разделы, что и в /dev/sda. Выполним это командой sgdisk из пакета gdisk. Если у Вас не установлен gdisk, установите его, выполнив для Debian и Ubuntu следующее:

Для rpm-дистрибутивов Linux, таких как CentOS:

Следующий шаг необязательный, но рекомендуемый. Для проверки того, что у нас есть резервная копия схемы раздела, воспользуемся sgdisk для записи схем раздела обоих дисков в файл. В нашем случае файл сохраним в /root folder.

В случае неудачи можно восстановить таблицу разделов с помощью опции —load-backup в sgdisk .

Читайте также:  Bay windows in bedrooms

Теперь скопируем схему раздела из /dev/sda в /dev/sdb:

Затем необходимо рандомизировать GUID на новом жёстком диске, чтобы убедится, что он уникален.

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

Далее добавим /dev/sdb1 в /dev/md0 и /dev/sdb2 в /dev/md1:

Теперь оба массива (/dev/md0 и /dev/md1) будут синхронизированы.

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

Во время синхронизации выходные данные должны выглядеть следующим образом:

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

Источник

Замена диска в Software RAID1 (Linux) Печать

В данной статье мы опи шем действия, необходимые при замене неисправного жёсткого диска в программном RAID 1-массиве на примере различных операционных систем, таких как Linux: (CentOS , Debian , Ubuntu ).

Оглавление

  1. Определение проблемы
  2. Удаление поврежденного диска
  3. Подготовка нового диска
  4. Добавление жёсткого диска в массив после замены

Определение проблемы

Для начало разберем проблему. Имеется физический сервер с установленным на нём CentOS 7, в котором 2 HDD диска по 2 ТБ: / dev/sda, /dev/sdb. Эти диски собраны в софтварный RAID1. Предположим, что вышел из строя диск — sdb. Проверив диск в массиве, вы увидите следующую картину:

У нас имеется 3 массива:

В данном случае мы можем наблюдать, что диски действительно собраны в RAID1. Когда массив в порядке, то он отображается как [UU]. Так как диски зеркальны, то каждый раздел объединен между собой и назван по своему. Например: md125 состоит из sda2,sdb2. Md125 в данном случае это — / boot. Более подробную информацию о разбивки дисков вы можете узнать, командой:

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

Удаление поврежденного диска

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

В некоторых случаях, жёсткий диск может быть повреждён частично. Пример: статус [U_] у массива / dev/md127, а у других массивов статус [UU]. В данном случае нам необходимо указать только одну команду:

Следовательно остальные разделы будут отображены, как устройство / dev/sdb1 и /dev/sdb2 — впорядке. После попытки удалить раздел из массива, будет отображаться ошибка.

Чтобы исправить и изъять их, необходимо будет выполнить команды:

Тем самым вы измените их статус на [U_]. Далее провести процедуру, что и с массивом md127.

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

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

П.С. Сервер будет остановлен на некоторое время!

Подготовка нового диска

Определение таблицы разделов( GPT, MBR ) и перенос её на новый диск.

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

GPT — sgdisk

MBR — sfdisk

Так как у нас диски HDD по 2ТБ, то мы будем использовать утилиту sgdisk. Можно также увидеть, что именно мы будем копировать, на второй диск. Используйте команду:

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

CentOS: yum install sgdisk/sfdisk

Debian/Ubuntu: apt install sgdisk/sfdisk

Создание и восстановление резервного копирования MBR/GPT

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

sda — диск, с которого создаётся копия.

sdb — диск, на который загружается копия таблицы.

Добавление жёсткого диска в массив после замены

Вставте скопированную таблицу разделов с первого диска в новый, используя команду выше. Как только повреждённый диск удалён из массива, можно добавить новый. Это необходимо сделать для каждого раздела.

Теперь новый диск является частью массива. Синхронизацию дисков вы можете увидеть, введя команду:

Далее перезагружаем сервер и видим, что все разделы смонтированы правельно:

Источник

Замена дисков меньшего объёма на диски большего объёма в Linux

Всем привет. В преддверии старта новой группы курса «Администратор Linux» публикуем полезный материал, написанный нашим студентом, а также наставником на курсах, специалистом технической поддержки корпоративных продуктов REG.RU — Романом Травиным.

В данной статье будет рассмотрены 2 случая замены дисков и переноса информации на новые диски большего объёма с дальнейшим расширением массива и файловой системы. Первый случай будет касаться замены дисков c одноименной разметкой MBR/MBR либо GPT/GPT, второй случай касается замены дисков с разметкой MBR на диски объёмом более 2 TB, на которые потребуется ставить разметку GPT с разделом biosboot. В обоих случаях диски, на которые переносим данным, уже установлены в сервер. Файловая система, используемая для корневого раздела — ext4.

Случай 1: Замена дисков меньшего объёма на диски большего объёма (до 2TB)

Задача: Заменить текущие диски на диски большего объёма (до 2 TB) с переносом информации. В данном случае имеем диски 2 x 240 GB SSD (RAID-1) с установленной системой и диски 2 x 1 TB SATA, на которые необходимо перенести систему.

Читайте также:  Обновление windows 10 1511 до 2004

Рассмотрим текущую разметку дисков.

Проверим используемое пространство файловой системы на данный момент.

Размер файловой системы до замены дисков составляет 204 GB, используются 2 программных массива md126, который смонтирован в /boot и md127 , который используется как physical volume для VG группы vg0.

1. Удаление разделов диска из массивов

Проверям состояние массива

В системе используется 2 массива: md126 (точка монтирования /boot ) — состоит из раздела /dev/sda1 и /dev/sdb1 , md127 (LVM для swap и корня файловой системы) — состоит из /dev/sda2 и /dev/sdb2 .

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

Удаляем разделы блочного устройства /dev/sda из массивов.

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

Состояние массивов после удаления дисков.

2. Копирование таблицы разделов на новый диск

Проверить используемую таблицу разделов на диске можно следующей командой.

Выводом для MBR будет:

Копирование таблицы разметки для MBR:

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

ВНИМАНИЕ: Для GPT первым указывается диск на который копировать разметку, вторым диском указывается диск с которого копировать разметку. Если перепутать диски, то изначально исправная разметка будет перезаписана и уничтожена.

Копирование таблицы разметки для GPT:

Далее назначаем диску случайный UUID (для GPT).

После выполненной команды разделы должны появится на диске /dev/sdc .

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

Если на текущих дисках используется таблица MBR и информацию необходимо перенести на диски объёмом более 2 TB, то на новых дисках потребуется вручную создавать разметку GPT с использованием раздела biosboot. Данный случай будет рассмотрен во 2 части данной статьи.

3. Добавление разделов нового диска в массив

Добавим разделы диска в соответствующие массивы.

Проверяем, что разделы добавлены.

После этого дожидаемся синхронизации массивов.

Непрерывно наблюдать за процессом синхронизации можно с помощью утилиты watch .

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

Повторяем пункты 1 — 3 для следующего заменяемого диска.

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

Удаляем разделы блочного устройства /dev/sdb из массивов.

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

Состояние массивов после удаления дисков.

Копируем таблицу разметки MBR с диска /dev/sdс на диск /dev/sdd .

После выполненной команды разделы должны появится на диске /dev/sdd .

Добавляем разделы диска в массивы.

Проверяем, что разделы добавлены.

После этого дожидаемся синхронизации массивов.

5. Установка GRUB на новые диски

где X — буква блочного устройства. В данном случае установить GRUB необходимо на /dev/sdc и /dev/sdd .

6. Расширение файловой системы (ext4) корневого раздела

На новых дисках /dev/sdc и /dev/sdd доступны 931.5 GB. Из-за того, что таблица разделов скопирована с дисков меньшего объёма, на разделах /dev/sdc2 и /dev/sdd2 доступны 222.5 GB.

  1. Расширить раздел 2 на каждом из дисков,
  2. Расширить массив md127,
  3. Расширить PV (physical volume),
  4. Расширить LV (logical-volume) vg0-root,
  5. Расширить файловую систему.

Используя утилиту parted расширим раздел /dev/sdc2 до максимального значения. Выполняем команду parted /dev/sdc (1) и просматриваем текущую таблицу разделов командой p (2).

Как видно, конец раздела 2 заканчивается на 240 GB. Выполним расширение раздела командой resizepart 2 , где 2 — номер раздела (3). Указываем значение в цифровом формате, например 1000 GB, или используем указание доли диска — 100%. Снова проверяем, что раздел имеет новый размер (4).

Повторяем указанные выше действия для диска /dev/sdd . После расширения разделов /dev/sdc2 и /dev/sdd2 стали равными 930.5 GB.

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

Проверяем, что массив расширился. Теперь его размер стал 930.4 GB.

Выполняем расширение physical volume. Перед расширением проверим текущее состояние PV.

Как видно, PV /dev/md127 использует 222.4 GB пространства.

Расширяем PV следующей командой.

Проверяем результат расширения PV.

[
Расширяем logical volume. Перед расширением проверим текущее состояние LV (1).

LV /dev/vg0/root использует 206.41 GB.

Расширяем LV следующей командой (2).

Проверяем выполненное действие (3).

Как видим, после расширения LV объём занимаемого дискового пространства стал 914.39 GB.

Объём LV увеличился (4), но файловая система по прежнему занимает 204 GB (5).

1. Выполним расширение файловой системы.

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

Размер корневой файловой системы увеличится до 900 GB. После выполненных действий можно извлекать старые диски.

Случай 2: Замена дисков меньшего объёма на диски большего объёма (более 2TB)

Задание: Заменить текущие диски на диски большего объёма (2 x 3TB) с сохранением информации. В данном случае имеем диски 2 x 240 GB SSD (RAID-1) с установленной системой и диски 2 x 3 TB SATA, на которые необходимо перенести систему. На текущих дисках используется таблица разделов MBR. Так как новые диски имеют объём больше 2 TB, то на них потребуется использовать таблицу GPT, так как MBR не может работать с дисками более 2TB.

Читайте также:  Hp usb printer drivers windows

Просмотрим текущую разметку дисков.

Проверим используемую таблицу разделов на диске /dev/sda .

На диске /dev/sdb используется аналогичная таблица разделов. Проверим используемое дисковое пространство в системе.

Как видно, корень файловой системы занимает 204 GB. Проверим текущее состояние программного RAID-массива.

1. Установка GPT таблицы разделов и разметка диска

Проверим разметку дисков по секторам.

На новом диске 3TB нам необходимо будет создать 3 раздела:

  1. Раздел bios_grub размером 2MiB для совместимости GPT с BIOS,
  2. Раздел для RAID массива, который будет смонтирован в /boot .
  3. Раздел для RAID-массива, на котором будет LV root и LV swap.

Устанавливаем утилиту parted командой yum install -y parted (для CentOS), apt install -y parted (для Debian/Ubuntu).

Используя parted выполним следующие команды для разметки диска.

Выполняем команду parted /dev/sdc и переходим в режим редактирования разметки диска.

Создаём таблицу разделов GPT.

Создаём 1 раздел bios_grub раздел и устанавливаем флаг для него.

Создаём 2 раздел и устанавливаем флаг для него. Раздел будет использовать в качестве блока для RAID-массива и монтирования его в /boot .

Создаём 3 раздел, который также будет использоваться в качестве блока массива, в котором будет LVM.

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

Проверяем созданную таблицу.

Назначаем диску новый случайный GUID.

2. Удаление разделов первого диска из массивов

Проверям состояние массива

В системе используется 2 массива: md126 (точка монтирования /boot) — состоит из /dev/sda1 и /dev/sdb1 , md127 (LVM для swap и корня файловой системы) — состоит из /dev/sda2 и /dev/sdb2 .

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

Удаляем разделы блочного устройства /dev/sda из массивов.

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

3. Добавление разделов нового диска в массив

Следующим шагом необходимо добавить разделы нового диска в массивы для синхронизации. Смотрим текущее состояние разметки дисков.

Раздел /dev/sdc1 является bios_grub разделом и не участвует с создании массивов. В массивах будут задействованы только /dev/sdc2 и /dev/sdc3 . Добавляем данные разделы в соответствующие массивы.

После чего дожидаемся синхронизации массива.

Разметка дисков после добавления разделов в массив.

4. Удаление разделов второго диска из массивов

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

Удаляем разделы блочного устройства /dev/sda из массивов.

5. Копируем таблицу разметки GPT и синхронизируем массив

Для копирования таблицы разметки GPT воспользуемся утилитой sgdisk , которая входит в пакет для работы с разделами дисков и таблицей GPT — gdisk .

Установка gdisk для CentOS:

Установка gdisk для Debian/Ubuntu:

ВНИМАНИЕ: Для GPT первым указывается диск на который копируем разметку, вторым диском указывается диск с которого копируют разметку. Если перепутать диски, то изначально исправная разметка будет перезаписана и уничтожена.

Копируем таблицу разметки GPT.

Разметка дисков после переноса таблицы на диск /dev/sdd .

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

Дожидаемся синхронизации массива.

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

Далее устанавливаем GRUB на новые диски.

Установка для CentOS:

Установка для Debian/Ubuntu:

где X — буква диска, в нашем случае диски /dev/sdc и /dev/sdd .

Обновляем информацию о массиве.

Обновляем образ initrd :
Для CentOS:

Обновляем конфигурацию GRUB.

После выполненных действий старые диски можно извлекать.

6. Расширение файловой системы (ext4) корневого раздела

Разметка дисков до расширения файловой системы после переноса системы на диски 2 x 3TB (RAID-1).

Сейчас разделы /dev/sdc3 и /dev/sdd3 занимают 2.7 TB. Так как мы создавали новую разметку дисков с таблицей GPT, то размер 3 раздела был сразу задан на максимально возможное дисковое пространство, расширять раздел в данном случае не требуется.

  1. Расширить массив md126,
  2. Расширить PV (physical volume),
  3. Расширить LV (logical-volume) vg0-root,
  4. Расширить файловую систему.

1. Расширяем массив md126 до максимума.

После расширения массива md126 размер занимаемого пространства увеличился до 2.7 TB.

Расширяем physical volume.

Перед расширением проверяем текущее значение занимаемого пространства PV / dev/md126 .

Расширяем PV следующем командой.

Проверяем выполненное действие.

Расширяем logical volume vg0-root.

После расширения PV проверим занимаемое пространство VG.

Проверим занимаемое LV пространство.

Том vg0-root занимает 206.41 GB.

Расширяем LV до максимума дискового пространства.

Проверяем пространство LV после расширения.

Расширяем файловую систему (ext4).

Проверим текущий размер файловой системы.

Том /dev/mapper/vg0-root занимает 204 GB после расширения LV.

Расширяем файловую систему.

Проверяем размер файловой системы после её расширения.

Размер файловой системы увеличен на весь объём тома.

Источник

Оцените статью