Всем привет. В преддверии старта новой группы курса
В данной статье будет рассмотрены 2 случая замены дисков и переноса информации на новые диски большего объёма с дальнейшим расширением массива и файловой системы. Первый случай будет касаться замены дисков c одноименной разметкой MBR/MBR либо GPT/GPT, второй случай касается замены дисков с разметкой MBR на диски объёмом более 2 TB, на которые потребуется ставить разметку GPT с разделом biosboot. В обоих случаях диски, на которые переносим данным, уже установлены в сервер. Файловая система, используемая для корневого раздела — ext4.
Случай 1: Замена дисков меньшего объёма на диски большего объёма (до 2TB)
In taak: Заменить текущие диски на диски большего объёма (до 2 TB) с переносом информации. В данном случае имеем диски 2 x 240 GB SSD (RAID-1) с установленной системой и диски 2 x 1 TB SATA, на которые необходимо перенести систему.
Рассмотрим текущую разметку дисков.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sda2 8:2 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
sdd 8:48 0 931,5G 0 disk
Проверим используемое пространство файловой системы на данный момент.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9,6M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,3G 192G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 6,3G 0 6,3G 0% /run/user/0
Размер файловой системы до замены дисков составляет 204 GB, используются 2 программных массива md126, который смонтирован в /boot
и md127
, который используется как fysike folume для VG группы vg0.
1. Удаление разделов диска из массивов
Kontrolearje de steat fan 'e array
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sda1[0] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sda2[0] sdb2[1]
233206784 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>
В системе используется 2 массива: md126
(точка монтирования /boot
) — состоит из раздела /dev/sda1
и /dev/sdb1
, md127
(LVM foar ruillist en de root fan it bestânsysteem) - bestiet út /dev/sda2
и /dev/sdb2
.
Wy markearje de partysjes fan 'e earste skiif dy't brûkt wurde yn elke array as min.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Удаляем разделы блочного устройства /dev/sda из массивов.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
После того, как мы удалили диск из массива, информация о блочных устройствах будет выглядеть следующим образом.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
sdd 8:48 0 931,5G 0 disk
Состояние массивов после удаления дисков.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb1[1]
1047552 blocks super 1.2 [2/1] [_U]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
bitmap: 1/2 pages [4KB], 65536KB chunk
unused devices: <none>
2. Копирование таблицы разделов на новый диск
Проверить используемую таблицу разделов на диске можно следующей командой.
fdisk -l /dev/sdb | grep 'Disk label type'
Выводом для MBR будет:
Disk label type: dos
для GPT:
Disk label type: gpt
Копирование таблицы разметки для MBR:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
В данной команде earst drive wurdt oanjûn с wa копируется разметка, вторым — куда копировать.
ATTENTION: Foar GPT earst drive wurdt oanjûn op hokker копировать разметку, de twadde skiif jout de skiif oan fan hokker копировать разметку. Если перепутать диски, то изначально исправная разметка будет перезаписана и уничтожена.
Копирование таблицы разметки для GPT:
sgdisk -R /dev/sdс /dev/sdb
Далее назначаем диску случайный UUID (для GPT).
sgdisk -G /dev/sdc
После выполненной команды разделы должны появится на диске /dev/sdc
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
└─sdc2 8:34 0 222,5G 0 part
sdd 8:48 0 931,5G 0 disk
Если после выполненного действия разделы в системе на диске /dev/sdc
не определились, то выполняем команду, чтобы перечитать таблицу разделов.
sfdisk -R /dev/sdc
Если на текущих дисках используется таблица MBR и информацию необходимо перенести на диски объёмом более 2 TB, то на новых дисках потребуется вручную создавать разметку GPT с использованием раздела biosboot. Данный случай будет рассмотрен во 2 части данной статьи.
3. It tafoegjen fan partysjes fan de nije skiif oan de rige
Добавим разделы диска в соответствующие массивы.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2
Проверяем, что разделы добавлены.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
После этого дожидаемся синхронизации массивов.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc1[2] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc2[2] sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
[==>..................] recovery = 10.6% (24859136/233206784) finish=29.3min speed=118119K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
Непрерывно наблюдать за процессом синхронизации можно с помощью утилиты watch
.
watch -n 2 cat /proc/mdstat
Parameter -n
указывает с каким интервалов в секундах необходимо выполнять команду для проверки прогресса.
Повторяем пункты 1 — 3 для следующего заменяемого диска.
Wy markearje de partysjes fan 'e twadde skiif dy't brûkt wurde yn elke array as min.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Fuortsmite blok apparaat partysjes /dev/sdb
út arrays.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
После того, как мы удалили диск из массива, информация о блочных устройствах будет выглядеть следующим образом.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
Состояние массивов после удаления дисков.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc1[2]
1047552 blocks super 1.2 [2/1] [U_]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc2[2]
233206784 blocks super 1.2 [2/1] [U_]
bitmap: 1/2 pages [4KB], 65536KB chunk
unused devices: <none>
Копируем таблицу разметки MBR с диска /dev/sdс
на диск /dev/sdd
.
sfdisk -d /dev/sdс | sfdisk /dev/sdd
После выполненной команды разделы должны появится на диске /dev/sdd
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
└─sdd2 8:50 0 222,5G 0 part
Добавляем разделы диска в массивы.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2
Проверяем, что разделы добавлены.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
После этого дожидаемся синхронизации массивов.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdd1[3] sdc1[2]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdd2[3] sdc2[2]
233206784 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 0.5% (1200000/233206784) finish=35.4min speed=109090K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
5. Установка GRUB на новые диски
Foar CentOS:
grub2-install /dev/sdX
Foar Debian/Ubuntu:
grub-install /dev/sdX
wêr X
— буква блочного устройства. В данном случае установить GRUB необходимо на /dev/sdc
и /dev/sdd
.
6. Triemsysteemútwreiding (ext4) fan 'e root-partysje
На новых дисках /dev/sdc
и /dev/sdd
доступны 931.5 GB. Из-за того, что таблица разделов скопирована с дисков меньшего объёма, на разделах /dev/sdc2
и /dev/sdd2
доступны 222.5 GB.
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
It is needich:
- Расширить раздел 2 на каждом из дисков,
- Wreidzje array md127,
- PV útwreidzje (fysikaal folume),
- LV útwreidzje (logysk-volume) vg0-root,
- Wreidzje it bestânsysteem út.
Используя утилиту skieden расширим раздел /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.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 930,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 930,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
После этого выполняем расширение массива md127 oant it maksimum.
mdadm --grow /dev/md127 --size=max
Wy kontrolearje dat de array útwreide is. No is syn grutte 930.4 GB wurden.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 930,5G 0 part
└─md127 9:127 0 930,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd2 8:50 0 930,5G 0 part
└─md127 9:127 0 930,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
It útwreidzjen fan de útwreiding fysike folume. Foardat wy útwreidzje, litte wy de hjoeddeistige steat fan 'e PV kontrolearje.
[root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [222,40 GiB / 0 free]
Total: 1 [222,40 GiB] / in use: 1 [222,40 GiB] / in no VG: 0 [0 ]
As te sjen is, PV /dev/md127
brûkt 222.4 GB romte.
Wy wreidzje PV út mei it folgjende kommando.
pvresize /dev/md127
Kontrolearje it resultaat fan PV útwreiding.
[root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [930,38 GiB / 707,98 GiB free]
Total: 1 [930,38 GiB] / in use: 1 [930,38 GiB] / in no VG: 0 [0 ]
Wreidzjen logyske folume. Foardat wy útwreidzje, litte wy de hjoeddeistige steat fan LV (1) kontrolearje.
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<206,41 GiB] inherit
LV /dev/vg0/root
brûkt 206.41 GB.
Wy wreidzje LV út mei it folgjende kommando (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
Wy kontrolearje de foltôge aksje (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Sa't jo sjen kinne, nei it útwreidzjen fan LV, waard it bedrach fan besette skiifromte 914.39 GB.
It LV-volume is ferhege (4), mar it bestânsysteem beslacht noch 204 GB (5).
1. Litte wy it triemsysteem útwreidzje.
resize2fs /dev/mapper/vg0-root
Nei't it kommando is útfierd, kontrolearje wy de grutte fan it bestânsysteem.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9,5M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 900G 1,3G 860G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 6,3G 0 6,3G 0% /run/user/0
De grutte fan it rootbestânsysteem sil tanimme nei 900 GB. Nei it foltôgjen fan de stappen kinne jo de âlde skiven fuortsmite.
Geval 2: Ferfange lytsere skiven mei gruttere skiven (mear dan 2TB)
De taak: Ferfange de hjoeddeiske skiven mei gruttere skiven (2 x 3TB) wylst de ynformaasje behâldt. Yn dit gefal, wy hawwe 2 x 240 GB SSD (RAID-1) skiven mei it systeem ynstallearre en 2 x 3 TB SATA skiven dêr't it systeem moat wurde oerdroegen. Aktuele skiven brûke de MBR partition tabel. Sûnt nije skiven hawwe in kapasiteit grutter as 2 TB, se sille moatte brûke in GPT tafel, sûnt MBR kin net wurkje mei skiven grutter as 2 TB.
Litte wy nei de hjoeddeistige skiifyndieling sjen.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sda2 8:2 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
sdd 8:48 0 2,7T 0 disk
Lit ús kontrolearje de partition tabel brûkt op 'e skiif /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
Op disk /dev/sdb
in ferlykbere partition tabel wurdt brûkt. Litte wy de brûkte skiifromte op it systeem kontrolearje.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,5M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,3G 192G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0
Sa't jo sjen kinne, nimt de root fan it bestânsysteem 204 GB op. Litte wy de hjoeddeistige tastân fan 'e software RAID-array kontrolearje.
1. It ynstallearjen fan in GPT partition tafel en skiif partitioning
Litte wy de skiifyndieling kontrolearje per sektor.
[root@localhost ~]# parted /dev/sda print
Модель: ATA KINGSTON SVP200S (scsi)
Диск /dev/sda: 240GB
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: msdos
Disk Flags:
Номер Начало Конец Размер Тип Файловая система Флаги
1 1049kB 1076MB 1075MB primary загрузочный, raid
2 1076MB 240GB 239GB primary raid
Op de nije 3TB skiif moatte wy 3 partysjes oanmeitsje:
- Seksje
bios_grub
2MiB grutte foar GPT BIOS kompatibiliteit, - De partysje foar de RAID-array dy't sil wurde monteard yn
/boot
. - De partysje foar de RAID-array wêrop d'r sil wêze LV root и LV ruilje.
Ynstallaasje fan it nut skieden ploech yum install -y parted
(foar CentOS), apt install -y parted
(foar Debian/Ubuntu).
Mei help fan skieden Litte wy de folgjende kommando's útfiere om de skiif te dielen.
Fier it kommando út parted /dev/sdc
en gean nei de bewurkingsmodus foar skiiflayout.
Meitsje in GPT partition tabel.
(parted) mktable gpt
Meitsje 1 seksje bios_grub
seksje en set der in flagge foar.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
Meitsje partition 2 en set der in flagge foar. De partysje sil brûkt wurde as in blok foar in RAID-array en ynstalleare /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
Wy meitsje in 3e seksje, dy't ek sil wurde brûkt as in arrayblok wêryn LVM sil sitte.
(parted) mkpart primary 1028MiB 100%
Yn dit gefal is it net nedich om de flagge yn te stellen, mar as it nedich is, kin it ynsteld wurde mei it folgjende kommando.
(parted) set 3 raid on
Wy kontrolearje de makke tabel.
(parted) p
Модель: ATA TOSHIBA DT01ACA3 (scsi)
Диск /dev/sdc: 3001GB
Размер сектора (логич./физич.): 512B/4096B
Таблица разделов: gpt
Disk Flags:
Номер Начало Конец Размер Файловая система Имя Флаги
1 1049kB 3146kB 2097kB primary bios_grub
2 3146kB 1077MB 1074MB primary загрузочный
3 1077MB 3001GB 3000GB primary
Wy tawize in nije willekeurige GUID oan de skiif.
sgdisk -G /dev/sdd
2. It fuortsmiten fan partysjes fan de earste skiif út arrays
Kontrolearje de steat fan 'e array
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sda1[0] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sda2[0] sdb2[1]
233206784 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>
It systeem brûkt 2 arrays: md126 (mount punt / boot) - bestiet út /dev/sda1
и /dev/sdb1
, md127
(LVM foar swap
en de root fan it bestânsysteem) - bestiet út /dev/sda2
и /dev/sdb2
.
Wy markearje de partysjes fan 'e earste skiif dy't brûkt wurde yn elke array as min.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Fuortsmite blok apparaat partysjes /dev/sda
út arrays.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Kontrolearje de tastân fan 'e array nei it fuortsmiten fan de skiif.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb1[1]
1047552 blocks super 1.2 [2/1] [_U]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
3. It tafoegjen fan partysjes fan de nije skiif oan de rige
De folgjende stap is om partysjes fan 'e nije skiif ta te foegjen oan de arrays foar syngronisaasje. Litte wy nei de hjoeddeistige steat fan skiifyndieling sjen.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
└─sdc3 8:35 0 2,7T 0 part
sdd 8:48 0 2,7T 0 disk
Seksje /dev/sdc1
it is bios_grub
seksje en is net belutsen by it meitsjen fan arrays. De arrays sille allinich brûke /dev/sdc2
и /dev/sdc3
. Wy foegje dizze seksjes ta oan de oerienkommende arrays.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
Dan wachtsje wy oant de array syngronisearret.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc2[2] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc3[2] sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
[>....................] recovery = 0.2% (619904/233206784) finish=31.2min speed=123980K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
Skiifpartisjonearring nei it tafoegjen fan partysjes oan 'e array.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdb2 8:18 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
4. It fuortsmiten fan partysjes fan de twadde skiif út arrays
Wy markearje de partysjes fan 'e twadde skiif dy't brûkt wurde yn elke array as min.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Fuortsmite blok apparaat partysjes /dev/sda
út arrays.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. Kopiearje de GPT-opmaaktabel en syngronisearje de array
Om de GPT-markuptabel te kopiearjen sille wy it nut brûke sgdisk
, dat is opnaam yn it pakket foar wurkjen mei skiifpartysjes en in GPT-tabel - gdisk
.
ynstelling gdisk
foar CentOS:
yum install -y gdisk
ynstelling gdisk
foar Debian/Ubuntu:
apt install -y gdisk
ATTENTION: Foar GPT earst drive wurdt oanjûn op hokker kopiearje de markup, de twadde skiif jout de skiif oan fan hokker kopiearje de markup. As jo de skiven mingje, sil de yn earste ynstânsje goede dieling oerskreaun wurde en ferneatige.
Kopiearje de GPT-markuptabel.
sgdisk -R /dev/sdd /dev/sdc
Skiif partitioning nei it oerdragen fan in tabel nei skiif /dev/sdd
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
└─sdd3 8:51 0 2,7T 0 part
Dêrnei foegje wy elk fan 'e partysjes ta dy't dielnimme oan software RAID-arrays.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
Wy wachtsje op de array om te syngronisearjen.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdd2[3] sdc2[2]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 1/1 pages [4KB], 65536KB chunk
md127 : active raid1 sdd3[3] sdc3[2]
233206784 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 0.0% (148224/233206784) finish=26.2min speed=148224K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
Nei it kopiearjen fan de GPT-partysje nei de twadde nije skiif, sil de partysje der sa útsjen.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdd3 8:51 0 2,7T 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
Ynstallearje dan GRUB op 'e nije skiven.
Ynstallaasje foar CentOS:
grub2-install /dev/sdX
Ynstallaasje foar Debian/Ubuntu:
grub-install /dev/sdX
wêr X
- rydletter, yn ús gefal rydt /dev/sdc
и /dev/sdd
.
Wy update ynformaasje oer de array.
Foar CentOS:
mdadm --detail --scan --verbose > /etc/mdadm.conf
Foar Debian/Ubuntu:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
It bywurkjen fan de ôfbylding initrd
:
Foar CentOS:
dracut -f -v --regenerate-all
Foar Debian/Ubuntu:
update-initramfs -u -k all
Wy aktualisearje de GRUB-konfiguraasje.
Foar CentOS:
grub2-mkconfig -o /boot/grub2/grub.cfg
Foar Debian/Ubuntu:
update-grub
Nei it foltôgjen fan de stappen kinne de âlde skiven fuortsmiten wurde.
6. Triemsysteemútwreiding (ext4) fan 'e root-partysje
Skiif partitioning foardat triemsysteem útwreiding nei it migrearjen fan it systeem nei 2 x 3TB skiven (RAID-1).
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
sdb 8:16 0 223,6G 0 disk
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md126 9:126 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdd3 8:51 0 2,7T 0 part
└─md126 9:126 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
No seksjes /dev/sdc3
и /dev/sdd3
besette 2.7 TB. Om't wy in nije skiifyndieling makke hawwe mei in GPT-tabel, waard de grutte fan partysje 3 fuortendaliks ynsteld op de maksimale mooglike skiifromte; yn dit gefal is d'r gjin needsaak om de partysje út te wreidzjen.
It is needich:
- Wreidzje array md126,
- PV útwreidzje (fysikaal folume),
- LV útwreidzje (logysk-volume) vg0-root,
- Wreidzje it bestânsysteem út.
1. Wreidzje de array út md126
oant it maksimum.
mdadm --grow /dev/md126 --size=max
Nei array útwreiding md126
de grutte fan 'e besette romte is tanommen nei 2.7 TB.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
sdb 8:16 0 223,6G 0 disk
sdc 8:32 0 2,7T 0 disk
├─sdc1 8:33 0 2M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdc3 8:35 0 2,7T 0 part
└─md126 9:126 0 2,7T 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
├─sdd1 8:49 0 2M 0 part
├─sdd2 8:50 0 1G 0 part
│ └─md127 9:127 0 1023M 0 raid1 /boot
└─sdd3 8:51 0 2,7T 0 part
└─md126 9:126 0 2,7T 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
Wreidzjen fysike folume.
Kontrolearje foardat jo útwreidzje de hjoeddeistige wearde fan 'e besette romte PV /dev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
Wy wreidzje PV út mei it folgjende kommando.
pvresize /dev/md126
Wy kontrolearje de foltôge aksje.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
Wreidzjen logysk folume vg0-root.
Nei it útwreidzjen fan PV, litte wy de besette romte VG kontrolearje.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
Lit ús kontrolearje de romte beset troch LV.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi-ao---- <206,41g
swap vg0 -wi-ao---- <16,00g
It vg0-rootvolumint beslacht 206.41 GB.
Wy wreidzje LV út nei de maksimale skiifromte.
lvextend -l +100%FREE /dev/mapper/vg0-root
Kontrolearje de LV romte nei útwreiding.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi-ao---- 2,71t
swap vg0 -wi-ao---- <16,00g
It bestânsysteem útwreidzje (ext4).
Litte wy de hjoeddeistige grutte fan it bestânsysteem kontrolearje.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,6M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,4G 192G 1% /
/dev/md127 1007M 141M 816M 15% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0
It folume /dev/mapper/vg0-root beslacht 204 GB nei LV-útwreiding.
It útwreidzjen fan it bestânsysteem.
resize2fs /dev/mapper/vg0-root
Kontrolearje de grutte fan it bestânsysteem nei it útwreidzjen.
[root@localhost ~]# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,6M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 2,7T 1,4G 2,6T 1% /
/dev/md127 1007M 141M 816M 15% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0
De grutte fan it bestânsysteem is ferhege om it heule folume te dekken.
Boarne: www.habr.com