Здраво свима. Уочи почетка нове курсне групе
Овај чланак ће размотрити 2 случаја замене дискова и преноса информација на нове дискове већег капацитета уз даље проширење низа и система датотека. Први случај ће се односити на замену дискова са истим МБР/МБР или ГПТ/ГПТ партицијама, други случај се односи на замену дискова са МБР партиционисањем дисковима капацитета већег од 2 ТБ, на које ћете морати да инсталирате ГПТ партицију са биосбоот партицијом. У оба случаја, дискови на које преносимо податке су већ инсталирани на серверу. Систем датотека који се користи за роот партицију је ект4.
Случај 1: Замена мањих дискова већим дисковима (до 2ТБ)
Задатак: Замените постојеће дискове већим дисковима (до 2 ТБ) са преносом информација. У овом случају имамо 2 к 240 ГБ ССД (РАИД-1) диска са инсталираним системом и 2 к 1 ТБ САТА диска на које систем треба пренети.
Погледајмо тренутни распоред диска.
[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 ГБ, користе се 2 софтверска низа мд126 који се монтирају у /boot
и md127
, који се користи као физички волумен за ВГ групу вг0.
1. Уклањање партиција диска из низова
Провера стања низа
[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
(ЛВМ за свап и корен система датотека) – састоји се од /dev/sda2
и /dev/sdb2
.
Партиције првог диска које се користе у сваком низу означавамо као лоше.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Уклањамо /дев/сда блок партиције уређаја из низова.
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'
Излаз за МБР би био:
Disk label type: dos
за ГПТ:
Disk label type: gpt
Копирање табеле партиција за МБР:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
У овом тиму прво диск је назначен с од којих ознака је копирана, друго - где копија.
ОПРЕЗ: За ГПТ прво диск је назначен на којем копирај ознаке, друго диск означава диск од којих копирај маркуп. Ако помешате дискове, првобитно добра партиција ће бити преписана и уништена.
Копирање табеле изгледа за ГПТ:
sgdisk -R /dev/sdс /dev/sdb
Затим доделите насумични УУИД диску (за ГПТ).
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
Ако тренутни дискови користе МБР табелу и информације треба да се пренесу на дискове веће од 2 ТБ, онда ћете на новим дисковима морати ручно да креирате ГПТ партицију користећи биосбоот партицију. Овај случај ће бити разматран у другом делу овог чланка.
3. Додавање партиција новог диска у низ
Хајде да додамо партиције диска у одговарајуће низове.
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
Параметар -n
одређује у којим интервалима у секундама се команда мора извршити да би се проверио напредак.
Поновите кораке 1 - 3 за следећи диск за замену.
Партиције другог диска које се користе у сваком низу означавамо као лоше.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Уклањање партиција блок уређаја /dev/sdb
из низова.
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>
Копирање табеле МБР партиција са диска /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. Инсталирање ГРУБ-а на нове диск јединице
За ЦентОС:
grub2-install /dev/sdX
За Дебиан/Убунту:
grub-install /dev/sdX
где X
— слово блок уређаја. У овом случају, потребно је да инсталирате ГРУБ /dev/sdc
и /dev/sdd
.
6. Екстензија система датотека (ект4) коренске партиције
На новим дисковима /dev/sdc
и /dev/sdd
Доступно 931.5 ГБ. Због чињенице да је табела партиција копирана са мањих дискова, партиције /dev/sdc2
и /dev/sdd2
Доступно 222.5 ГБ.
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]
Неопходно је:
- Проширите партицију 2 на сваком од дискова,
- Прошири низ мд127,
- Прошири ПВ (физички волумен),
- Прошири ЛВ (логички волумен) вг0-роот,
- Проширите систем датотека.
Коришћење услужног програма подељен проширимо одељак /dev/sdc2
до максималне вредности. Извршите команду parted /dev/sdc
(1) и погледајте тренутну партициону табелу помоћу команде p
(КСНУМКС).
Као што видите, крај партиције 2 завршава се на 240 ГБ. Проширимо партицију командом resizepart
2
, где је 2 број секције (3). Вредност означавамо у дигиталном формату, на пример 1000 ГБ, или користимо индикацију удела диска - 100%. Поново проверавамо да ли партиција има нову величину (4).
Поновите горе наведене кораке за диск /dev/sdd
. Након проширења партиција /dev/sdc2
и /dev/sdd2
постала једнака 930.5 ГБ.
[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]
Након тога ширимо низ мдКСНУМКС до максимума.
mdadm --grow /dev/md127 --size=max
Проверавамо да ли се низ проширио. Сада је његова величина постала 930.4 ГБ.
[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]
Продужење екстензије физички волумен. Пре проширења, хајде да проверимо тренутно стање ПВ-а.
[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 ]
Као што се може видети, ПВ /dev/md127
користи 222.4 ГБ простора.
Проширујемо ПВ следећом командом.
pvresize /dev/md127
Провера резултата ПВ експанзије.
[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 ]
Проширивање логички обим. Пре проширења, хајде да проверимо тренутно стање ЛВ (1).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<206,41 GiB] inherit
LV /dev/vg0/root
користи 206.41 ГБ.
Проширујемо ЛВ следећом командом (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
Проверавамо завршену радњу (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Као што видите, након проширења ЛВ-а, количина заузетог простора на диску је постала 914.39 ГБ.
ЛВ волумен је повећан (4), али систем датотека и даље заузима 204 ГБ (5).
1. Хајде да проширимо систем датотека.
resize2fs /dev/mapper/vg0-root
Након што се наредба изврши, проверавамо величину система датотека.
[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
Величина основног система датотека ће се повећати на 900 ГБ. Након што завршите кораке, можете уклонити старе дискове.
Случај 2: Замена мањих дискова са већим дисковима (више од 2ТБ)
Задатак: Замените тренутне дискове већим дисковима (2 к 3ТБ) уз очување информација. У овом случају имамо 2 к 240 ГБ ССД (РАИД-1) диска са инсталираним системом и 2 к 3 ТБ САТА диска на које систем треба пренети. Тренутни дискови користе табелу МБР партиција. Пошто нови дискови имају капацитет већи од 2 ТБ, мораће да користе ГПТ табелу, пошто МБР не може да ради са дисковима већим од 2 ТБ.
Погледајмо тренутни распоред диска.
[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
Хајде да проверимо табелу партиција која се користи на диску /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
На диску /dev/sdb
користи се слична партициона табела. Хајде да проверимо искоришћени простор на диску у систему.
[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
Као што видите, корен система датотека заузима 204 ГБ. Хајде да проверимо тренутно стање софтверског РАИД низа.
1. Инсталирање табеле ГПТ партиција и партиционисања диска
Хајде да проверимо распоред диска по секторима.
[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
На новом диску од 3ТБ мораћемо да креирамо 3 партиције:
- Одељак
bios_grub
2МиБ величина за ГПТ БИОС компатибилност, - Партиција за РАИД низ који ће бити монтиран
/boot
. - Партиција за РАИД низ на коме ће се налазити ЛВ корен и ЛВ свап.
Инсталирање услужног програма подељен тим yum install -y parted
(за ЦентОС), apt install -y parted
(за Дебиан/Убунту).
Коришћење подељен Покренимо следеће команде за партиционисање диска.
Извршите команду parted /dev/sdc
и идите у режим за уређивање распореда диска.
Направите ГПТ партициону табелу.
(parted) mktable gpt
Направите 1 одељак bios_grub
одељак и постави заставу за њега.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
Направите партицију 2 и поставите заставицу за њу. Партиција ће се користити као блок за РАИД низ и монтирана /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
Креирамо 3. одељак, који ће такође бити коришћен као блок низа у коме ће се налазити ЛВМ.
(parted) mkpart primary 1028MiB 100%
У овом случају није потребно постављати заставицу, али ако је потребно, може се подесити следећом командом.
(parted) set 3 raid on
Проверавамо креирану табелу.
(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
Додељујемо нови насумични ГУИД диску.
sgdisk -G /dev/sdd
2. Уклањање партиција првог диска из низова
Провера стања низа
[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 низа: мд126 (тачка монтирања/боот) - састоји се од /dev/sda1
и /dev/sdb1
, md127
(ЛВМ за swap
и корен система датотека) – састоји се од /dev/sda2
и /dev/sdb2
.
Партиције првог диска које се користе у сваком низу означавамо као лоше.
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 ~]# 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. Додавање партиција новог диска у низ
Следећи корак је додавање партиција новог диска у низове за синхронизацију. Погледајмо тренутно стање распореда диска.
[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
Одељак /dev/sdc1
је bios_grub
одељак и не учествује у креирању низова. Низови ће користити само /dev/sdc2
и /dev/sdc3
. Ове секције додајемо одговарајућим низовима.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
Затим чекамо да се низ синхронизује.
[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>
Партиционисање диска након додавања партиција у низ.
[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. Уклањање партиција другог диска из низова
Партиције другог диска које се користе у сваком низу означавамо као лоше.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Уклањање партиција блок уређаја /dev/sda
из низова.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. Копирајте табелу ГПТ распореда и синхронизујте низ
Да бисмо копирали табелу ознака ГПТ, користићемо услужни програм sgdisk
, који је укључен у пакет за рад са партицијама диска и ГПТ табелом - gdisk
.
Инсталација gdisk
за ЦентОС:
yum install -y gdisk
Инсталација gdisk
за Дебиан/Убунту:
apt install -y gdisk
ОПРЕЗ: За ГПТ прво диск је назначен на којем копирајте ознаку, друго диск означава диск од којих копирајте ознаку. Ако помешате дискове, првобитно добра партиција ће бити преписана и уништена.
Копирајте табелу ознака ГПТ-а.
sgdisk -R /dev/sdd /dev/sdc
Партиционисање диска након преноса табеле на диск /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
Затим додајемо сваку од партиција које учествују у софтверским РАИД низовима.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
Чекамо да се низ синхронизује.
[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>
Након копирања ГПТ партиције на други нови диск, партиција ће изгледати овако.
[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]
Затим инсталирајте ГРУБ на нове дискове.
Инсталација за ЦентОС:
grub2-install /dev/sdX
Инсталација за Дебиан/Убунту:
grub-install /dev/sdX
где X
— слово погона, у нашем случају погони /dev/sdc
и /dev/sdd
.
Ажурирамо информације о низу.
За ЦентОС:
mdadm --detail --scan --verbose > /etc/mdadm.conf
За Дебиан/Убунту:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Ажурирање слике initrd
:
За ЦентОС:
dracut -f -v --regenerate-all
За Дебиан/Убунту:
update-initramfs -u -k all
Ажурирамо ГРУБ конфигурацију.
За ЦентОС:
grub2-mkconfig -o /boot/grub2/grub.cfg
За Дебиан/Убунту:
update-grub
Након завршетка корака, стари дискови се могу уклонити.
6. Екстензија система датотека (ект4) коренске партиције
Партиционисање диска пре проширења система датотека након миграције система на 2 к 3ТБ диска (РАИД-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]
Сада секције /dev/sdc3
и /dev/sdd3
заузимају 2.7 ТБ. Пошто смо креирали нови распоред диска са ГПТ табелом, величина партиције 3 је одмах подешена на максимални могући простор на диску; у овом случају нема потребе за проширењем партиције.
Неопходно је:
- Прошири низ мд126,
- Прошири ПВ (физички волумен),
- Прошири ЛВ (логички волумен) вг0-роот,
- Проширите систем датотека.
1. Проширите низ md126
до максимума.
mdadm --grow /dev/md126 --size=max
Након проширења низа md126
величина заузетог простора је повећана на 2.7 ТБ.
[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]
Проширивање физички волумен.
Пре проширења, проверите тренутну вредност заузетог простора ПВ /dev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
Проширујемо ПВ следећом командом.
pvresize /dev/md126
Проверавамо извршену акцију.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
Проширивање логички волумен вг0-роот.
Након проширења ПВ, хајде да проверимо заузети простор ВГ.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
Хајде да проверимо простор који заузима ЛВ.
[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
Вг0-роот запремина заузима 206.41 ГБ.
Проширујемо ЛВ на максимални простор на диску.
lvextend -l +100%FREE /dev/mapper/vg0-root
Провера ЛВ простора након проширења.
[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
Проширивање система датотека (ект4).
Хајде да проверимо тренутну величину система датотека.
[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
Волумен /дев/маппер/вг0-роот заузима 204 ГБ након ЛВ проширења.
Проширивање система датотека.
resize2fs /dev/mapper/vg0-root
Провера величине система датотека након што га проширите.
[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
Величина система датотека је повећана да покрије цео волумен.
Извор: ввв.хабр.цом