Pershendetje te gjitheve. Në prag të fillimit të një grupi të ri kursi
Ky artikull do të shqyrtojë 2 raste të zëvendësimit të disqeve dhe transferimit të informacionit në disqe të rinj me kapacitet më të madh me zgjerimin e mëtejshëm të grupit dhe sistemit të skedarëve. Rasti i parë do të ketë të bëjë me zëvendësimin e disqeve me të njëjtin ndarje MBR/MBR ose GPT/GPT, rasti i dytë ka të bëjë me zëvendësimin e disqeve me ndarje MBR me disqe me kapacitet më shumë se 2 TB, në të cilat do të duhet të instaloni një ndarje GPT me një ndarje biosboot. Në të dyja rastet, disqet në të cilat transferojmë të dhënat janë instaluar tashmë në server. Sistemi i skedarëve i përdorur për ndarjen rrënjë është ext4.
Rasti 1: Zëvendësimi i disqeve më të vegjël me disqe më të mëdhenj (deri në 2 TB)
Një detyrë: Zëvendësoni disqet aktuale me disqe më të mëdhenj (deri në 2 TB) me transferimin e informacionit. Në këtë rast, kemi 2 x 240 GB disqe SSD (RAID-1) me sistemin e instaluar dhe 2 x 1 TB disqe SATA në të cilët duhet të transferohet sistemi.
Le të shohim paraqitjen aktuale të diskut.
[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
Le të kontrollojmë hapësirën e përdorur aktualisht të sistemit të skedarëve.
[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
Madhësia e sistemit të skedarëve para zëvendësimit të disqeve është 204 GB, përdoren 2 vargje softuerësh md126, të cilat janë montuar në /boot
и md127
, e cila përdoret si vëllimi fizik për grupin VG vg0.
1. Heqja e ndarjeve të diskut nga grupet
Kontrollimi i gjendjes së grupit
[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>
Sistemi përdor 2 vargje: md126
(pika e montimit /boot
) - përbëhet nga një seksion /dev/sda1
и /dev/sdb1
, md127
(LVM për bie në ujdi dhe rrënja e sistemit të skedarëve) - përbëhet nga /dev/sda2
и /dev/sdb2
.
I shënojmë ndarjet e diskut të parë që përdoren në çdo grup si të këqija.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Ne heqim ndarjet e pajisjes së bllokut /dev/sda nga vargjet.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Pasi ta kemi hequr diskun nga grupi, informacioni i pajisjes bllok do të duket kështu.
[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
Gjendja e vargjeve pas heqjes së disqeve.
[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. Kopjoni tabelën e ndarjes në një disk të ri
Ju mund të kontrolloni tabelën e ndarjes së përdorur në disk me komandën e mëposhtme.
fdisk -l /dev/sdb | grep 'Disk label type'
Prodhimi për MBR do të ishte:
Disk label type: dos
për GPT:
Disk label type: gpt
Kopjimi i tabelës së ndarjes për MBR:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
Në këtë ekip i pari tregohet ngasja с nga të cilat shënimi kopjohet, e dyta - ku kopje.
KUJDES: Për GPT i pari tregohet ngasja në të cilën shënimi i kopjes, e dyta disku tregon diskun nga e cila shënjimi i kopjes. Nëse përzieni disqet, ndarja fillimisht e mirë do të mbishkruhet dhe do të shkatërrohet.
Kopjimi i tabelës së paraqitjes për GPT:
sgdisk -R /dev/sdс /dev/sdb
Më pas, caktoni një UUID të rastësishme në disk (për GPT).
sgdisk -G /dev/sdc
Pasi komanda të ekzekutohet, ndarjet duhet të shfaqen në disk /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
Nëse, pasi të kryhet veprimi, ndarjet në sistem në disk /dev/sdc
të pavendosur, atëherë ekzekutojmë komandën për të rilexuar tabelën e ndarjes.
sfdisk -R /dev/sdc
Nëse disqet aktuale përdorin tabelën MBR dhe informacioni duhet të transferohet në disqe më të mëdhenj se 2 TB, atëherë në disqet e reja do t'ju duhet të krijoni manualisht një ndarje GPT duke përdorur ndarjen biosboot. Ky rast do të diskutohet në Pjesën 2 të këtij neni.
3. Shtimi i ndarjeve të diskut të ri në grup
Le të shtojmë ndarjet e diskut në grupet përkatëse.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2
Ne kontrollojmë që seksionet janë shtuar.
[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
Pas kësaj, ne presim që vargjet të sinkronizohen.
[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>
Ju mund të monitoroni vazhdimisht procesin e sinkronizimit duke përdorur programin watch
.
watch -n 2 cat /proc/mdstat
Parametër -n
specifikon se në cilat intervale në sekonda duhet të ekzekutohet komanda për të kontrolluar progresin.
Përsëritni hapat 1 - 3 për diskun tjetër të zëvendësimit.
I shënojmë ndarjet e diskut të dytë që përdoren në çdo grup si të këqija.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Heqja e ndarjeve të bllokut të pajisjes /dev/sdb
nga vargje.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
Pasi ta kemi hequr diskun nga grupi, informacioni i pajisjes bllok do të duket kështu.
[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
Gjendja e vargjeve pas heqjes së disqeve.
[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>
Kopjimi i tabelës së ndarjes MBR nga disku /dev/sdс
në disk /dev/sdd
.
sfdisk -d /dev/sdс | sfdisk /dev/sdd
Pasi komanda të ekzekutohet, ndarjet duhet të shfaqen në 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 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
Shtimi i ndarjeve të diskut në vargje.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2
Ne kontrollojmë që seksionet janë shtuar.
[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]
Pas kësaj, ne presim që vargjet të sinkronizohen.
[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. Instalimi i GRUB në disqet e reja
Për CentOS:
grub2-install /dev/sdX
Për Debian/Ubuntu:
grub-install /dev/sdX
ku X
— shkronja e pajisjes bllok. Në këtë rast, duhet të instaloni GRUB në /dev/sdc
и /dev/sdd
.
6. Zgjerimi i sistemit të skedarit (ext4) i ndarjes rrënjësore
Në disqe të reja /dev/sdc
и /dev/sdd
931.5 GB në dispozicion. Për shkak të faktit se tabela e ndarjeve është kopjuar nga disqe më të vegjël, ndarjet /dev/sdc2
и /dev/sdd2
222.5 GB në dispozicion.
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]
Shtë e nevojshme:
- Zgjatni ndarjen 2 në secilin prej disqeve,
- Zgjero grupin md127,
- Zgjero PV (vëllimi fizik),
- Zgjero LV (volumi logjik) vg0-root,
- Zgjeroni sistemin e skedarëve.
Duke përdorur shërbimin i ndarë le të zgjerojmë seksionin /dev/sdc2
në vlerën maksimale. Ekzekutoni komandën parted /dev/sdc
(1) dhe shikoni tabelën aktuale të ndarjes me komandën p
(2).
Siç mund ta shihni, fundi i ndarjes 2 përfundon në 240 GB. Le ta zgjerojmë ndarjen me komandën resizepart
2
, ku 2 është numri i seksionit (3). Ne tregojmë vlerën në format dixhital, për shembull 1000 GB, ose përdorim treguesin e ndarjes së diskut - 100%. Kontrollojmë sërish që ndarja të ketë madhësinë e re (4).
Përsëritni hapat e mësipërm për diskun /dev/sdd
. Pas zgjerimit të ndarjeve /dev/sdc2
и /dev/sdd2
u bë e barabartë me 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]
Pas kësaj zgjerojmë grupin md127 në maksimum.
mdadm --grow /dev/md127 --size=max
Kontrollojmë që grupi të jetë zgjeruar. Tani madhësia e tij është bërë 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]
Zgjatja e zgjatjes vëllimi fizik. Përpara se të zgjerohet, le të kontrollojmë gjendjen aktuale të 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 ]
Siç mund të shihet, PV /dev/md127
përdor 222.4 GB hapësirë.
Zgjerojmë PV me komandën e mëposhtme.
pvresize /dev/md127
Kontrollimi i rezultatit të zgjerimit të PV.
[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 ]
Duke u zgjeruar vëllimi logjik. Përpara se të zgjerojmë, le të kontrollojmë gjendjen aktuale të LV (1).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<206,41 GiB] inherit
LV /dev/vg0/root
përdor 206.41 GB.
Zgjerojmë LV me komandën e mëposhtme (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
Ne kontrollojmë veprimin e përfunduar (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Siç mund ta shihni, pas zgjerimit të LV, sasia e hapësirës së zënë në disk u bë 914.39 GB.
Vëllimi LV është rritur (4), por sistemi i skedarëve ende zë 204 GB (5).
1. Le të zgjerojmë sistemin e skedarëve.
resize2fs /dev/mapper/vg0-root
Pasi komanda të ekzekutohet, kontrollojmë madhësinë e sistemit të skedarëve.
[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
Madhësia e sistemit të skedarëve rrënjë do të rritet në 900 GB. Pas përfundimit të hapave, mund të hiqni disqet e vjetër.
Rasti 2: Zëvendësimi i disqeve më të vegjël me disqe më të mëdhenj (më shumë se 2 TB)
Vendosja: Zëvendësoni disqet aktuale me disqe më të mëdhenj (2 x 3TB) duke ruajtur informacionin. Në këtë rast, ne kemi 2 x 240 GB disqe SSD (RAID-1) me sistemin e instaluar dhe 2 x 3 TB disqe SATA në të cilët duhet të transferohet sistemi. Disqet aktuale përdorin tabelën e ndarjes MBR. Meqenëse disqet e rinj kanë një kapacitet më të madh se 2 TB, ata do të duhet të përdorin një tabelë GPT, pasi MBR nuk mund të funksionojë me disqe më të mëdhenj se 2 TB.
Le të shohim paraqitjen aktuale të diskut.
[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
Le të kontrollojmë tabelën e ndarjes së përdorur në disk /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
Në disk /dev/sdb
përdoret një tabelë e ngjashme ndarjeje. Le të kontrollojmë hapësirën e përdorur të diskut në sistem.
[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
Siç mund ta shihni, rrënja e sistemit të skedarëve zë 204 GB. Le të kontrollojmë gjendjen aktuale të grupit RAID të softuerit.
1. Instalimi i një tabele të ndarjeve GPT dhe ndarjes së diskut
Le të kontrollojmë paraqitjen e diskut sipas sektorit.
[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
Në diskun e ri 3TB do të na duhet të krijojmë 3 ndarje:
- seksion
bios_grub
Madhësia 2 MiB për pajtueshmërinë me GPT BIOS, - Ndarja për grupin RAID që do të montohet
/boot
. - Ndarja për grupin RAID në të cilin do të ketë Rrënja LV и këmbim LV.
Instalimi i programit i ndarë ekipi yum install -y parted
(për CentOS), apt install -y parted
(për Debian/Ubuntu).
Përdorim i ndarë Le të ekzekutojmë komandat e mëposhtme për të ndarë diskun.
Ekzekutoni komandën parted /dev/sdc
dhe shkoni në modalitetin e modifikimit të paraqitjes së diskut.
Krijoni një tabelë të ndarjes GPT.
(parted) mktable gpt
Krijo 1 seksion bios_grub
seksion dhe vendosni një flamur për të.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
Krijoni ndarjen 2 dhe vendosni një flamur për të. Ndarja do të përdoret si një bllok për një grup RAID dhe do të montohet në të /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
Ne krijojmë një seksion të tretë, i cili do të përdoret gjithashtu si një bllok grupi në të cilin do të vendoset LVM.
(parted) mkpart primary 1028MiB 100%
Në këtë rast, nuk është e nevojshme të vendosni flamurin, por nëse është e nevojshme, mund të vendoset me komandën e mëposhtme.
(parted) set 3 raid on
Ne kontrollojmë tabelën e krijuar.
(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
Ne caktojmë një GUID të ri të rastësishëm në disk.
sgdisk -G /dev/sdd
2. Heqja e ndarjeve të diskut të parë nga vargjet
Kontrollimi i gjendjes së grupit
[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>
Sistemi përdor 2 vargje: md126 (pika e montimit /boot) - përbëhet nga /dev/sda1
и /dev/sdb1
, md127
(LVM për swap
dhe rrënja e sistemit të skedarëve) - përbëhet nga /dev/sda2
и /dev/sdb2
.
I shënojmë ndarjet e diskut të parë që përdoren në çdo grup si të këqija.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Heqja e ndarjeve të bllokut të pajisjes /dev/sda
nga vargje.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Kontrollimi i gjendjes së grupit pas heqjes së diskut.
[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. Shtimi i ndarjeve të diskut të ri në grup
Hapi tjetër është shtimi i ndarjeve të diskut të ri në vargje për sinkronizim. Le të shohim gjendjen aktuale të paraqitjes së diskut.
[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
seksion /dev/sdc1
është bios_grub
seksion dhe nuk është i përfshirë në krijimin e vargjeve. Vargjet do të përdoren vetëm /dev/sdc2
и /dev/sdc3
. Ne i shtojmë këto seksione në grupet përkatëse.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
Pastaj presim që grupi të sinkronizohet.
[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>
Ndarja e diskut pas shtimit të ndarjeve në grup.
[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. Heqja e ndarjeve të diskut të dytë nga vargjet
I shënojmë ndarjet e diskut të dytë që përdoren në çdo grup si të këqija.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Heqja e ndarjeve të bllokut të pajisjes /dev/sda
nga vargje.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. Kopjoni tabelën e paraqitjes së GPT dhe sinkronizoni grupin
Për të kopjuar tabelën e shënjimit të GPT ne do të përdorim programin sgdisk
, i cili përfshihet në paketën për të punuar me ndarjet e diskut dhe një tabelë GPT - gdisk
.
Instalim gdisk
për CentOS:
yum install -y gdisk
Instalim gdisk
për Debian/Ubuntu:
apt install -y gdisk
KUJDES: Për GPT i pari tregohet ngasja në të cilën kopjoni shënimin, e dyta disku tregon diskun nga e cila kopjoni shënimin. Nëse përzieni disqet, ndarja fillimisht e mirë do të mbishkruhet dhe do të shkatërrohet.
Kopjoni tabelën e shënjimit GPT.
sgdisk -R /dev/sdd /dev/sdc
Ndarja e diskut pas transferimit të një tabele në 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
Më pas, ne shtojmë secilën prej ndarjeve që marrin pjesë në vargjet RAID të softuerit.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
Ne presim që grupi të sinkronizohet.
[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>
Pas kopjimit të ndarjes GPT në diskun e dytë të ri, ndarja do të duket kështu.
[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]
Më pas, instaloni GRUB në disqet e reja.
Instalimi për CentOS:
grub2-install /dev/sdX
Instalimi për Debian/Ubuntu:
grub-install /dev/sdX
ku X
- shkronja e makinës, në rastin tonë disqet /dev/sdc
и /dev/sdd
.
Ne përditësojmë informacionin rreth grupit.
Për CentOS:
mdadm --detail --scan --verbose > /etc/mdadm.conf
Për Debian/Ubuntu:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Përditësimi i imazhit initrd
:
Për CentOS:
dracut -f -v --regenerate-all
Për Debian/Ubuntu:
update-initramfs -u -k all
Ne përditësojmë konfigurimin GRUB.
Për CentOS:
grub2-mkconfig -o /boot/grub2/grub.cfg
Për Debian/Ubuntu:
update-grub
Pas përfundimit të hapave, disqet e vjetër mund të hiqen.
6. Zgjerimi i sistemit të skedarit (ext4) i ndarjes rrënjësore
Ndarja e diskut përpara zgjerimit të sistemit të skedarëve pas migrimit të sistemit në disqe 2 x 3TB (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]
Tani seksionet /dev/sdc3
и /dev/sdd3
zënë 2.7 TB. Meqenëse krijuam një plan urbanistik të ri të diskut me një tabelë GPT, madhësia e ndarjes 3 u vendos menjëherë në hapësirën maksimale të mundshme të diskut; në këtë rast, nuk ka nevojë të zgjerohet ndarja.
Shtë e nevojshme:
- Zgjero grupin md126,
- Zgjero PV (vëllimi fizik),
- Zgjero LV (volumi logjik) vg0-root,
- Zgjeroni sistemin e skedarëve.
1. Zgjero grupin md126
në maksimum.
mdadm --grow /dev/md126 --size=max
Pas zgjerimit të vargut md126
madhësia e hapësirës së zënë është rritur në 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]
Duke u zgjeruar vëllimi fizik.
Përpara zgjerimit, kontrolloni vlerën aktuale të hapësirës së zënë PV /dev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
Zgjerojmë PV me komandën e mëposhtme.
pvresize /dev/md126
Ne kontrollojmë veprimin e përfunduar.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
Duke u zgjeruar vëllimi logjik vg0-rrënjë.
Pas zgjerimit të PV, le të kontrollojmë hapësirën e zënë VG.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
Le të kontrollojmë hapësirën e zënë nga 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
Vëllimi vg0-root zë 206.41 GB.
Ne zgjerojmë LV në hapësirën maksimale të diskut.
lvextend -l +100%FREE /dev/mapper/vg0-root
Kontrollimi i hapësirës LV pas zgjerimit.
[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
Zgjerimi i sistemit të skedarëve (ext4).
Le të kontrollojmë madhësinë aktuale të sistemit të skedarëve.
[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
Vëllimi /dev/mapper/vg0-root zë 204 GB pas zgjerimit të LV.
Zgjerimi i sistemit të skedarëve.
resize2fs /dev/mapper/vg0-root
Kontrollimi i madhësisë së sistemit të skedarëve pas zgjerimit të tij.
[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
Madhësia e sistemit të skedarëve është rritur për të mbuluar të gjithë volumin.
Burimi: www.habr.com