RAID управление · 6 min read · Oct 09, 2025
Руководство для начинающих по LVM - Страница 8
8 Замена жестких дисков на более крупные
Мы в настоящее время используем четыре жестких диска размером по 25 ГБ каждый (по крайней мере, мы так себя ведем). Теперь предположим, что этого больше недостаточно, и нам нужно больше места в нашей RAID-конфигурации. Поэтому мы заменим наши 25 ГБ жесткие диски на 80 ГБ жесткие диски (на самом деле мы все еще будем использовать текущие жесткие диски, но теперь использовать их полную емкость - в реальной жизни вы бы заменили свои старые, маленькие жесткие диски на новые, более крупные).
Процедура следующая: сначала мы удаляем /dev/sdb и /dev/sdd из RAID-массивов, заменяем их на более крупные жесткие диски, возвращаем их обратно в RAID-массивы, а затем делаем то же самое с /dev/sdc и /dev/sde.
Сначала мы помечаем /dev/sdb1 как неисправный:
mdadm --manage /dev/md0 --fail /dev/sdb1server1:~# mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0Вывод команды
cat /proc/mdstatвыглядит теперь так:
server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0] sdb1[2](F)
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0] sdd1[1]
24418688 blocks [2/2] [UU]
unused devices: Затем мы удаляем /dev/sdb1 из RAID-массива /dev/md0:
mdadm --manage /dev/md0 --remove /dev/sdb1server1:~# mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm: hot removed /dev/sdb1cat /proc/mdstatserver1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0] sdd1[1]
24418688 blocks [2/2] [UU]
unused devices: Теперь мы делаем то же самое с /dev/sdd1:
mdadm --manage /dev/md1 --fail /dev/sdd1server1:~# mdadm --manage /dev/md1 --fail /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md1cat /proc/mdstatserver1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0] sdd1[2](F)
24418688 blocks [2/1] [U_]
unused devices: mdadm --manage /dev/md1 --remove /dev/sdd1server1:~# mdadm --manage /dev/md1 --remove /dev/sdd1
mdadm: hot removed /dev/sdd1cat /proc/mdstatserver1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0]
24418688 blocks [2/1] [U_]
unused devices: На реальной системе вы бы сейчас выключили ее, вытащили 25 ГБ /dev/sdb и /dev/sdd и заменили их на 80 ГБ. Как я уже сказал, нам не нужно этого делать, потому что все жесткие диски уже имеют емкость 80 ГБ.
Следующим шагом мы должны отформатировать /dev/sdb и /dev/sdd. Мы должны создать раздел /dev/sdb1 и /dev/sdd1, тип fd (Linux RAID autodetect), размер 25 ГБ (те же настройки, что и на старых жестких дисках), и раздел /dev/sdb2 и /dev/sdd2, тип fd, который охватывает оставшуюся часть жестких дисков. Поскольку /dev/sdb1 и /dev/sdd1 все еще присутствуют на наших жестких дисках, нам нужно создать только /dev/sdb2 и /dev/sdd2 в этом специальном примере.
fdisk /dev/sdbserver1:~# fdisk /dev/sdb
Количество цилиндров для этого диска установлено на 10443.
С этим нет ничего плохого, но это больше, чем 1024,
и может в некоторых конфигурациях вызвать проблемы с:
- программным обеспечением, которое работает во время загрузки
(например, старые версии LILO) - загрузкой и программным обеспечением для разделов
с других ОС
(например, DOS FDISK, OS/2 FDISK)
Команда (m для помощи): <– p
Диск /dev/sdb: 85.8 ГБ, 85899345920 байт
255 голов, 63 сектора/трек, 10443 цилиндра
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устройство Загрузка Начало Конец Блоки Id Система
/dev/sdb1 1 3040 24418768+ fd Linux raid autodetect
Команда (m для помощи): <– n
Команда действия
e расширенный
p основной раздел (1-4)
<– p
Номер раздела (1-4): <– 2
Первый цилиндр (3041-10443, значение по умолчанию 3041): <–
Используя значение по умолчанию 3041
Последний цилиндр или +размер или +размерM или +размерK (3041-10443, значение по умолчанию 10443): <–
Используя значение по умолчанию 10443
Команда (m для помощи): <– t
Номер раздела (1-4): <– 2
Шестнадцатеричный код (тип L для списка кодов): <– fd
Изменен тип системы раздела 2 на fd (Linux raid autodetect)
Команда (m для помощи): <– w
Таблица разделов была изменена!
Вызов ioctl() для повторного чтения таблицы разделов.
Синхронизация дисков.
Сделайте то же самое для /dev/sdd:
fdisk /dev/sddВывод команды
fdisk -lвыглядит теперь так:
server1:~# fdisk -l
Диск /dev/sda: 21.4 ГБ, 21474836480 байт
255 голов, 63 сектора/трек, 2610 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устройство Загрузка Начало Конец Блоки Id Система
/dev/sda1 * 1 18 144553+ 83 Linux
/dev/sda2 19 2450 19535040 83 Linux
/dev/sda4 2451 2610 1285200 82 Linux swap / Solaris
Диск /dev/sdb: 85.8 ГБ, 85899345920 байт
255 голов, 63 сектора/трек, 10443 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устройство Загрузка Начало Конец Блоки Id Система
/dev/sdb1 1 3040 24418768+ fd Linux raid autodetect
/dev/sdb2 3041 10443 59464597+ fd Linux raid autodetect
Диск /dev/sdc: 85.8 ГБ, 85899345920 байт
255 голов, 63 сектора/трек, 10443 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устройство Загрузка Начало Конец Блоки Id Система
/dev/sdc1 1 3040 24418768+ fd Linux raid autodetect
Диск /dev/sdd: 85.8 ГБ, 85899345920 байт
255 голов, 63 сектора/трек, 10443 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устройство Загрузка Начало Конец Блоки Id Система
/dev/sdd1 1 3040 24418768+ fd Linux raid autodetect
/dev/sdd2 3041 10443 59464597+ fd Linux raid autodetect
Диск /dev/sde: 85.8 ГБ, 85899345920 байт
255 голов, 63 сектора/трек, 10443 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устройство Загрузка Начало Конец Блоки Id Система
/dev/sde1 1 3040 24418768+ fd Linux raid autodetect
Диск /dev/sdf: 85.8 ГБ, 85899345920 байт
255 голов, 63 сектора/трек, 10443 цилиндров
Единицы = цилиндры по 16065 * 512 = 8225280 байт
Устройство Загрузка Начало Конец Блоки Id Система
/dev/sdf1 1 3040 24418768+ 8e Linux LVM
Диск /dev/md1: 25.0 ГБ, 25004736512 байт
2 голов, 4 сектора/трек, 6104672 цилиндров
Единицы = цилиндры по 8 * 512 = 4096 байт
Диск /dev/md1 не содержит действительной таблицы разделов
Диск /dev/md0: 25.0 ГБ, 25004736512 байт
2 голов, 4 сектора/трек, 6104672 цилиндров
Единицы = цилиндры по 8 * 512 = 4096 байт
Диск /dev/md0 не содержит действительной таблицы разделовТеперь мы снова добавляем /dev/sdb1 в /dev/md0 и /dev/sdd1 в /dev/md1:
mdadm --manage /dev/md0 --add /dev/sdb1server1:~# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: re-added /dev/sdb1mdadm --manage /dev/md1 --add /dev/sdd1server1:~# mdadm --manage /dev/md1 --add /dev/sdd1
mdadm: re-added /dev/sdd1Теперь содержимое обоих RAID-массивов будет синхронизировано. Мы должны подождать, пока это не завершится, прежде чем сможем продолжить. Мы можем проверить статус синхронизации с помощью
cat /proc/mdstatВывод выглядит так во время синхронизации:
server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdb1[1] sdc1[0]
24418688 blocks [2/1] [U_]
[=>...................] recovery = 9.9% (2423168/24418688) finish=2.8min speed=127535K/sec
md1 : active raid1 sdd1[1] sde1[0]
24418688 blocks [2/1] [U_]
[=>...................] recovery = 6.4% (1572096/24418688) finish=1.9min speed=196512K/sec
unused devices: и так, когда это завершится:
server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdb1[1] sdc1[0]
24418688 blocks [2/2] [UU]
md1 : active raid1 sdd1[1] sde1[0]
24418688 blocks [2/2] [UU]
unused devices: Get new posts in your inbox
No spam. Unsubscribe anytime.