Ahojte všetci. V predvečer začiatku novej skupiny kurzov
Tento článok sa bude zaoberať 2 prípadmi výmeny diskov a prenosu informácií na nové disky s väčšou kapacitou s ďalším rozšírením poľa a súborového systému. Prvý prípad sa bude týkať výmeny diskov s rovnakým delením MBR/MBR alebo GPT/GPT, druhý prípad výmeny diskov s delením MBR za disky s kapacitou nad 2 TB, na ktoré bude potrebné nainštalovať oddiel GPT s oddielom biosboot. V oboch prípadoch sú disky, na ktoré prenášame dáta, už nainštalované na serveri. Súborový systém používaný pre koreňový oddiel je ext4.
Prípad 1: Výmena menších diskov za väčšie disky (do 2 TB)
cieľ: Vymeňte súčasné disky za väčšie disky (do 2 TB) s prenosom informácií. V tomto prípade tu máme 2 x 240 GB SSD (RAID-1) disky s nainštalovaným systémom a 2 x 1 TB SATA disky, na ktoré je potrebné systém preniesť.
Pozrime sa na aktuálne rozloženie disku.
[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
Skontrolujeme aktuálne používaný priestor v súborovom systéme.
[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
Veľkosť súborového systému pred výmenou diskov je 204 GB, použité sú 2 softvérové polia md126, ktoré sa montujú v /boot
и md127
, ktorý sa používa ako fyzický objem pre skupinu VG VG0.
1. Odstránenie diskových oddielov z polí
Kontrola stavu poľa
[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>
Systém používa 2 polia: md126
(bod pripojenia /boot
) - pozostáva z časti /dev/sda1
и /dev/sdb1
, md127
(LVM pre výmena a koreňový adresár súborového systému) – pozostáva z /dev/sda2
и /dev/sdb2
.
Oddiely prvého disku, ktoré sú použité v každom poli, označíme ako zlé.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Z polí odstránime oddiely blokových zariadení /dev/sda.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Po odstránení disku z poľa budú informácie o blokovom zariadení vyzerať takto.
[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
Stav polí po odstránení diskov.
[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. Skopírujte tabuľku oblastí na nový disk
Pomocou nasledujúceho príkazu môžete skontrolovať použitú tabuľku oddielov na disku.
fdisk -l /dev/sdb | grep 'Disk label type'
Výstup pre MBR by bol:
Disk label type: dos
pre GPT:
Disk label type: gpt
Kopírovanie tabuľky oddielov pre MBR:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
V tomto tíme prvý je indikovaný pohon с z toho označenie sa skopíruje, druhý - kde kopírovať.
UPOZORNENIE: Pre značky GPT prvý je indikovaný pohon na ktorých kopírovať označenie druhý disk označuje disk z ktorých kopírovať označenie. Ak zamiešate disky, pôvodne dobrý oddiel bude prepísaný a zničený.
Kopírovanie tabuľky rozloženia pre značku GPT:
sgdisk -R /dev/sdс /dev/sdb
Ďalej priraďte disku náhodné UUID (pre GPT).
sgdisk -G /dev/sdc
Po vykonaní príkazu by sa oddiely mali objaviť na disku /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
Ak sa po vykonaní akcie oddiely v systéme na disku /dev/sdc
nerozhodnutý, potom vykonáme príkaz na opätovné prečítanie tabuľky oddielov.
sfdisk -R /dev/sdc
Ak aktuálne disky používajú tabuľku MBR a informácie je potrebné preniesť na disky väčšie ako 2 TB, potom na nových diskoch budete musieť manuálne vytvoriť oddiel GPT pomocou oddielu biosboot. Tento prípad bude diskutovaný v časti 2 tohto článku.
3. Pridanie partícií nového disku do poľa
Pridajme oddiely disku k príslušným poliam.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2
Skontrolujeme, či boli pridané sekcie.
[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
Potom počkáme, kým sa polia zosynchronizujú.
[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>
Pomocou pomôcky môžete nepretržite sledovať proces synchronizácie watch
.
watch -n 2 cat /proc/mdstat
Parameter -n
určuje, v akých intervaloch v sekundách sa musí príkaz vykonať, aby sa skontroloval priebeh.
Opakujte kroky 1 - 3 pre ďalší výmenný disk.
Oddiely druhého disku, ktoré sú použité v každom poli, označíme ako zlé.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Odstránenie oddielov blokového zariadenia /dev/sdb
z polí.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
Po odstránení disku z poľa budú informácie o blokovom zariadení vyzerať takto.
[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
Stav polí po odstránení diskov.
[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>
Kopírovanie tabuľky oblastí MBR z disku /dev/sdс
na disk /dev/sdd
.
sfdisk -d /dev/sdс | sfdisk /dev/sdd
Po vykonaní príkazu by sa oddiely mali objaviť na disku /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
Pridávanie diskových oddielov do polí.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2
Skontrolujeme, či boli pridané sekcie.
[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]
Potom počkáme, kým sa polia zosynchronizujú.
[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. Inštalácia GRUB na nové disky
Pre CentOS:
grub2-install /dev/sdX
Pre Debian/Ubuntu:
grub-install /dev/sdX
kde X
— písmeno blokového zariadenia. V tomto prípade musíte nainštalovať GRUB /dev/sdc
и /dev/sdd
.
6. Prípona systému súborov (ext4) koreňového oddielu
Na nových diskoch /dev/sdc
и /dev/sdd
K dispozícii je 931.5 GB. Vzhľadom na to, že tabuľka oddielov bola skopírovaná z menších diskov, oddiely /dev/sdc2
и /dev/sdd2
K dispozícii je 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]
Je potrebné:
- Rozšírte oddiel 2 na každom z diskov,
- Rozbaliť pole md127,
- Rozbaliť PV (fyzický objem),
- Rozbaliť LV (logický zväzok) vg0-root,
- Rozbaľte systém súborov.
Používanie pomôcky rozlúčili rozšírme sekciu /dev/sdc2
na maximálnu hodnotu. Vykonajte príkaz parted /dev/sdc
(1) a pomocou príkazu zobrazte aktuálnu tabuľku oddielov p
(2).
Ako vidíte, koniec oddielu 2 končí na 240 GB. Rozšírime oddiel pomocou príkazu resizepart
2
, kde 2 je číslo sekcie (3). Hodnotu uvádzame v digitálnom formáte, napríklad 1000 GB, alebo použijeme označenie zdieľania disku - 100 %. Znova skontrolujeme, či má oddiel novú veľkosť (4).
Opakujte vyššie uvedené kroky pre disk /dev/sdd
. Po rozšírení oddielov /dev/sdc2
и /dev/sdd2
sa stal rovným 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]
Potom pole rozšírime md127 na maximum.
mdadm --grow /dev/md127 --size=max
Skontrolujeme, či sa pole rozšírilo. Teraz sa jeho veľkosť stala 930.4 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 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]
Predĺženie rozšírenia fyzický objem. Pred rozšírením si skontrolujme aktuálny stav PV.
[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 ]
Ako vidno, PV /dev/md127
využíva 222.4 GB priestoru.
PV rozšírime nasledujúcim príkazom.
pvresize /dev/md127
Kontrola výsledku expanzie FV.
[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 ]
Rozširujúce sa logický objem. Pred rozšírením si skontrolujme aktuálny stav NN (1).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<206,41 GiB] inherit
LV /dev/vg0/root
využíva 206.41 GB.
LV rozšírime nasledujúcim príkazom (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
Skontrolujeme dokončenú akciu (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Ako vidíte, po rozšírení LV sa množstvo obsadeného miesta na disku stalo 914.39 GB.
Objem LV sa zvýšil (4), ale súborový systém stále zaberá 204 GB (5).
1. Rozšírime súborový systém.
resize2fs /dev/mapper/vg0-root
Po vykonaní príkazu skontrolujeme veľkosť súborového systému.
[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
Veľkosť koreňového súborového systému sa zvýši na 900 GB. Po dokončení krokov môžete staré disky odstrániť.
Prípad 2: Výmena menších diskov za väčšie disky (viac ako 2 TB)
Cvičenie: Vymeňte súčasné disky za väčšie disky (2 x 3 TB) pri zachovaní informácií. V tomto prípade tu máme 2 x 240 GB SSD (RAID-1) disky s nainštalovaným systémom a 2 x 3 TB SATA disky, na ktoré je potrebné systém preniesť. Aktuálne disky používajú tabuľku oddielov MBR. Keďže nové disky majú kapacitu väčšiu ako 2 TB, budú musieť použiť tabuľku GPT, pretože MBR nemôže pracovať s diskami väčšími ako 2 TB.
Pozrime sa na aktuálne rozloženie disku.
[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
Pozrime sa na tabuľku oddielov použitú na disku /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
Na disku /dev/sdb
používa sa podobná tabuľka oddielov. Skontrolujeme využité miesto na disku v systéme.
[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
Ako vidíte, koreňový adresár súborového systému zaberá 204 GB. Poďme skontrolovať aktuálny stav softvérového poľa RAID.
1. Inštalácia tabuľky oddielov GPT a rozdelenia disku
Skontrolujeme rozloženie disku podľa sektorov.
[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
Na novom 3TB disku budeme musieť vytvoriť 3 partície:
- časť
bios_grub
Veľkosť 2 MiB pre kompatibilitu GPT BIOS, - Oddiel pre pole RAID, do ktorého sa pripojí
/boot
. - Oddiel pre pole RAID, na ktorom bude Koreň LV и Výmena LV.
Inštalácia pomôcky rozlúčili tímom yum install -y parted
(pre CentOS), apt install -y parted
(pre Debian/Ubuntu).
použitím rozlúčili Spustite nasledujúce príkazy na rozdelenie disku.
Vykonajte príkaz parted /dev/sdc
a prejdite do režimu úpravy rozloženia disku.
Vytvorte tabuľku oddielov GPT.
(parted) mktable gpt
Vytvorte 1 sekciu bios_grub
sekciu a nastavte pre ňu príznak.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
Vytvorte oddiel 2 a nastavte preň príznak. Oddiel sa použije ako blok pre pole RAID a pripojí sa /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
Vytvoríme 3. sekciu, ktorá bude zároveň použitá ako blok poľa, v ktorom bude umiestnený LVM.
(parted) mkpart primary 1028MiB 100%
V tomto prípade nie je potrebné nastaviť príznak, ale v prípade potreby ho možno nastaviť nasledujúcim príkazom.
(parted) set 3 raid on
Skontrolujeme vytvorenú tabuľku.
(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
Disk pridelíme nový náhodný GUID.
sgdisk -G /dev/sdd
2. Odstránenie partícií prvého disku z polí
Kontrola stavu poľa
[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>
Systém používa 2 polia: md126 (pripojovací bod /boot) - pozostáva z /dev/sda1
и /dev/sdb1
, md127
(LVM pre swap
a koreňový adresár súborového systému) – pozostáva z /dev/sda2
и /dev/sdb2
.
Oddiely prvého disku, ktoré sú použité v každom poli, označíme ako zlé.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Odstránenie oddielov blokového zariadenia /dev/sda
z polí.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Kontrola stavu poľa po vybratí disku.
[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. Pridanie partícií nového disku do poľa
Ďalším krokom je pridanie partícií nového disku do polí na synchronizáciu. Pozrime sa na aktuálny stav rozloženia disku.
[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
časť /dev/sdc1
je bios_grub
sekcie a nepodieľa sa na vytváraní polí. Polia budú používať iba /dev/sdc2
и /dev/sdc3
. Tieto sekcie pridáme do zodpovedajúcich polí.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
Potom počkáme, kým sa pole zosynchronizuje.
[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>
Rozloženie disku po pridaní partícií do poľa.
[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. Odstránenie partícií druhého disku z polí
Oddiely druhého disku, ktoré sú použité v každom poli, označíme ako zlé.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Odstránenie oddielov blokového zariadenia /dev/sda
z polí.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. Skopírujte tabuľku rozloženia GPT a synchronizujte pole
Na skopírovanie tabuľky značiek GPT použijeme nástroj sgdisk
, ktorý je súčasťou balenia pre prácu s diskovými oddielmi a tabuľkou GPT - gdisk
.
Inštalácia gdisk
pre CentOS:
yum install -y gdisk
Inštalácia gdisk
pre Debian/Ubuntu:
apt install -y gdisk
UPOZORNENIE: Pre značky GPT prvý je indikovaný pohon na ktorých skopírujte označenie druhý disk označuje disk z ktorých skopírujte označenie. Ak zamiešate disky, pôvodne dobrý oddiel bude prepísaný a zničený.
Skopírujte tabuľku značiek GPT.
sgdisk -R /dev/sdd /dev/sdc
Rozdelenie disku po prenose tabuľky na disk /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
Ďalej pridáme každú z partícií zúčastňujúcich sa na softvérových poliach RAID.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
Čakáme na synchronizáciu poľa.
[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>
Po skopírovaní GPT partície na druhý nový disk bude partícia vyzerať takto.
[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]
Ďalej nainštalujte GRUB na nové disky.
Inštalácia pre CentOS:
grub2-install /dev/sdX
Inštalácia pre Debian/Ubuntu:
grub-install /dev/sdX
kde X
— písmeno jednotky, v našom prípade jednotky /dev/sdc
и /dev/sdd
.
Aktualizujeme informácie o poli.
Pre CentOS:
mdadm --detail --scan --verbose > /etc/mdadm.conf
Pre Debian/Ubuntu:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Aktualizácia obrázka initrd
:
Pre CentOS:
dracut -f -v --regenerate-all
Pre Debian/Ubuntu:
update-initramfs -u -k all
Aktualizujeme konfiguráciu GRUB.
Pre CentOS:
grub2-mkconfig -o /boot/grub2/grub.cfg
Pre Debian/Ubuntu:
update-grub
Po dokončení krokov je možné staré disky odstrániť.
6. Prípona systému súborov (ext4) koreňového oddielu
Rozdelenie disku pred rozšírením súborového systému po migrácii systému na 2 x 3TB disky (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]
Teraz sekcie /dev/sdc3
и /dev/sdd3
zaberajú 2.7 TB. Keďže sme vytvorili nové rozloženie disku s tabuľkou GPT, veľkosť partície 3 bola okamžite nastavená na maximálne možné miesto na disku, v tomto prípade nie je potrebné oblasť rozširovať.
Je potrebné:
- Rozbaliť pole md126,
- Rozbaliť PV (fyzický objem),
- Rozbaliť LV (logický zväzok) vg0-root,
- Rozbaľte systém súborov.
1. Rozbaľte pole md126
na maximum.
mdadm --grow /dev/md126 --size=max
Po rozšírení poľa md126
veľkosť obsadeného priestoru narástla na 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]
Rozširujúce sa fyzický objem.
Pred rozšírením skontrolujte aktuálnu hodnotu obsadeného priestoru PV /dev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
PV rozšírime nasledujúcim príkazom.
pvresize /dev/md126
Skontrolujeme vykonanú akciu.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
Rozširujúce sa logický zväzok vg0-root.
Po rozšírení PV skontrolujme obsadené miesto VG.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
Skontrolujeme priestor, ktorý zaberá 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
Koreňový zväzok vg0 zaberá 206.41 GB.
Rozšírime LV na maximum miesta na disku.
lvextend -l +100%FREE /dev/mapper/vg0-root
Kontrola priestoru NN po rozšírení.
[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
Rozšírenie systému súborov (ext4).
Skontrolujeme aktuálnu veľkosť súborového systému.
[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
Zväzok /dev/mapper/vg0-root zaberá po rozšírení LV 204 GB.
Rozšírenie systému súborov.
resize2fs /dev/mapper/vg0-root
Kontrola veľkosti súborového systému po jeho rozšírení.
[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
Veľkosť systému súborov bola zväčšená, aby pokryla celý zväzok.
Zdroj: hab.com