Bok svima. Uoči početka nove grupe tečajeva
Ovaj članak će razmotriti 2 slučaja zamjene diskova i prijenosa informacija na nove diskove većeg kapaciteta uz daljnje proširenje polja i datotečnog sustava. Prvi slučaj odnosi se na zamjenu diskova s istim MBR/MBR ili GPT/GPT particioniranjem, drugi slučaj se odnosi na zamjenu diskova s MBR particioniranjem s diskovima kapaciteta više od 2 TB na koje ćete morati instalirati GPT particija s biosboot particijom. U oba slučaja diskovi na koje prenosimo podatke već su instalirani na poslužitelju. Datotečni sustav koji se koristi za root particiju je ext4.
Slučaj 1: Zamjena manjih diskova većim diskovima (do 2TB)
cilj: Zamijenite postojeće diskove većim diskovima (do 2 TB) uz prijenos informacija. U ovom slučaju imamo 2 x 240 GB SSD (RAID-1) diska s instaliranim sustavom i 2 x 1 TB SATA diska na koje je potrebno prebaciti sustav.
Pogledajmo trenutni izgled diska.
[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
Provjerimo trenutno korišten prostor datotečnog sustava.
[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
Veličina datotečnog sustava prije zamjene diskova je 204 GB, koriste se 2 md126 softverska polja koja se montiraju u /boot
и md127
, koji se koristi kao fizički volumen za VG grupu vg0.
1. Uklanjanje particija diska iz polja
Provjera stanja niza
[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>
Sustav koristi 2 polja: md126
(točka montiranja /boot
) - sastoji se od odjeljka /dev/sda1
и /dev/sdb1
, md127
(LVM za razmijeniti i korijen datotečnog sustava) – sastoji se od /dev/sda2
и /dev/sdb2
.
Označavamo particije prvog diska koje se koriste u svakom nizu kao loše.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Uklanjamo /dev/sda blok particije uređaja iz polja.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Nakon što smo uklonili disk iz niza, informacije o blok uređaju će izgledati ovako.
[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
Stanje polja nakon uklanjanja diskova.
[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. Kopirajte tablicu particija na novi disk
Korištenu tablicu particija na disku možete provjeriti sljedećom naredbom.
fdisk -l /dev/sdb | grep 'Disk label type'
Izlaz za MBR bi bio:
Disk label type: dos
za GPT:
Disk label type: gpt
Kopiranje particijske tablice za MBR:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
U ovoj ekipi prvi disk je naznačen с od kojih oznaka se kopira, drugo - gdje kopirati.
OPREZ: Za GPT prvi disk je naznačen na kojoj kopija oznake, drugi disk označava disk od kojeg kopija oznake. Ako pomiješate diskove, početno dobra particija bit će prepisana i uništena.
Kopiranje tablice izgleda za GPT:
sgdisk -R /dev/sdс /dev/sdb
Zatim dodijelite nasumični UUID disku (za GPT).
sgdisk -G /dev/sdc
Nakon izvršenja naredbe, particije bi se trebale pojaviti 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
Ako nakon izvršenja radnje particije u sustavu na disku /dev/sdc
neodlučan, tada izvršavamo naredbu za ponovno čitanje particijske tablice.
sfdisk -R /dev/sdc
Ako trenutni diskovi koriste MBR tablicu i podatke je potrebno prenijeti na diskove veće od 2 TB, tada ćete na novim diskovima morati ručno izraditi GPT particiju pomoću biosboot particije. O ovom slučaju bit će riječi u drugom dijelu ovog članka.
3. Dodavanje particija novog diska u polje
Dodajmo particije diska odgovarajućim nizovima.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2
Provjeravamo jesu li odjeljci dodani.
[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
Nakon toga čekamo da se nizovi sinkroniziraju.
[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>
Pomoću uslužnog programa možete kontinuirano pratiti proces sinkronizacije watch
.
watch -n 2 cat /proc/mdstat
Parametar -n
specificira u kojim se intervalima u sekundama naredba mora izvršiti da bi se provjerio napredak.
Ponovite korake 1 - 3 za sljedeći zamjenski disk.
Označavamo particije drugog diska koje se koriste u svakom polju kao loše.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Uklanjanje particija blok uređaja /dev/sdb
iz nizova.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
Nakon što smo uklonili disk iz niza, informacije o blok uređaju će izgledati ovako.
[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
Stanje polja nakon uklanjanja diskova.
[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>
Kopiranje MBR particijske tablice s diska /dev/sdс
na disk /dev/sdd
.
sfdisk -d /dev/sdс | sfdisk /dev/sdd
Nakon izvršenja naredbe, particije bi se trebale pojaviti 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
Dodavanje particija diska u polja.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2
Provjeravamo jesu li odjeljci dodani.
[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]
Nakon toga čekamo da se nizovi sinkroniziraju.
[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. Instaliranje GRUB-a na nove pogone
Za CentOS:
grub2-install /dev/sdX
Za Debian/Ubuntu:
grub-install /dev/sdX
gdje X
— slovo blok uređaja. U tom slučaju trebate instalirati GRUB na /dev/sdc
и /dev/sdd
.
6. Ekstenzija datotečnog sustava (ext4) korijenske particije
Na novim diskovima /dev/sdc
и /dev/sdd
Dostupno 931.5 GB. S obzirom na to da je particijska tablica kopirana s manjih diskova, particije /dev/sdc2
и /dev/sdd2
Dostupno 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]
Potrebno je:
- Proširite particiju 2 na svakom od diskova,
- Proširi niz md127,
- Proširi PV (fizički volumen),
- Proširi LV (logički volumen) vg0-root,
- Proširite datotečni sustav.
Korištenje uslužnog programa slomljen proširimo odjeljak /dev/sdc2
na maksimalnu vrijednost. Izvršite naredbu parted /dev/sdc
(1) i pogledajte trenutnu particijsku tablicu pomoću naredbe p
(2).
Kao što vidite, kraj particije 2 završava na 240 GB. Proširimo particiju naredbom resizepart
2
, gdje je 2 broj odjeljka (3). Vrijednost označavamo u digitalnom obliku, na primjer 1000 GB, ili koristimo naznaku udjela diska - 100%. Ponovno provjeravamo ima li particija novu veličinu (4).
Ponovite gornje korake za disk /dev/sdd
. Nakon proširenja particija /dev/sdc2
и /dev/sdd2
postao jednak 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]
Nakon toga širimo niz md127 do maksimuma.
mdadm --grow /dev/md127 --size=max
Provjeravamo je li niz proširen. Sada je njegova veličina postala 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]
Proširenje produžetka fizički volumen. Prije proširenja, provjerimo trenutno stanje PV-a.
[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 ]
Kao što se može vidjeti, PV /dev/md127
koristi 222.4 GB prostora.
Proširujemo PV sljedećom naredbom.
pvresize /dev/md127
Provjera rezultata PV ekspanzije.
[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 ]
Proširujući se logički volumen. Prije proširenja, provjerimo trenutno stanje 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
koristi 206.41 GB.
Proširujemo LV sljedećom naredbom (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
Provjeravamo izvršenu akciju (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Kao što vidite, nakon proširenja LV-a, količina zauzetog prostora na disku postala je 914.39 GB.
LV volumen je povećan (4), ali datotečni sustav i dalje zauzima 204 GB (5).
1. Proširimo datotečni sustav.
resize2fs /dev/mapper/vg0-root
Nakon što je naredba izvršena, provjeravamo veličinu datotečnog sustava.
[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
Veličina korijenskog datotečnog sustava povećat će se na 900 GB. Nakon dovršetka koraka možete ukloniti stare diskove.
Slučaj 2: Zamjena manjih diskova većim diskovima (više od 2TB)
Mjesto radnje: Zamijenite trenutne diskove s većim diskovima (2 x 3TB) uz očuvanje podataka. U ovom slučaju imamo 2 x 240 GB SSD (RAID-1) diska s instaliranim sustavom i 2 x 3 TB SATA diska na koje je potrebno prebaciti sustav. Trenutačni diskovi koriste MBR particijsku tablicu. Budući da novi diskovi imaju kapacitet veći od 2 TB, morat će koristiti GPT tablicu, jer MBR ne može raditi s diskovima većim od 2 TB.
Pogledajmo trenutni izgled diska.
[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
Provjerimo tablicu particija koja se koristi na disku /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
Na disku /dev/sdb
koristi se slična particijska tablica. Provjerimo iskorišteni diskovni prostor na sustavu.
[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
Kao što vidite, korijen datotečnog sustava zauzima 204 GB. Provjerimo trenutno stanje softverskog RAID polja.
1. Instalacija GPT particijske tablice i particioniranje diska
Provjerimo raspored diska po sektorima.
[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 disku od 3TB morat ćemo napraviti 3 particije:
- Odjeljak
bios_grub
Veličina od 2 MiB za GPT BIOS kompatibilnost, - Particija za RAID polje u koje će se montirati
/boot
. - Particija za RAID niz na kojem će se nalaziti LV korijen и NN zamjena.
Instaliranje uslužnog programa slomljen Tim yum install -y parted
(za CentOS), apt install -y parted
(za Debian/Ubuntu).
Korištenje slomljen Pokrenimo sljedeće naredbe za particioniranje diska.
Izvršite naredbu parted /dev/sdc
i idite na način za uređivanje izgleda diska.
Napravite GPT particijsku tablicu.
(parted) mktable gpt
Napravite 1 odjeljak bios_grub
odjeljak i postavite zastavu za njega.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
Napravite particiju 2 i postavite oznaku za nju. Particija će se koristiti kao blok za RAID polje i montirati /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
Kreiramo particiju 3, koja će se također koristiti kao blok polja u kojem će se nalaziti LVM.
(parted) mkpart primary 1028MiB 100%
U ovom slučaju nije potrebno postavljati zastavu, ali ako je potrebno, može se postaviti sljedećom naredbom.
(parted) set 3 raid on
Provjeravamo izrađenu tablicu.
(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
Disku dodjeljujemo novi nasumični GUID.
sgdisk -G /dev/sdd
2. Uklanjanje particija prvog diska iz polja
Provjera stanja niza
[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>
Sustav koristi 2 niza: md126 (mount point /boot) - sastoji se od /dev/sda1
и /dev/sdb1
, md127
(LVM za swap
i korijen datotečnog sustava) – sastoji se od /dev/sda2
и /dev/sdb2
.
Označavamo particije prvog diska koje se koriste u svakom nizu kao loše.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Uklanjanje particija blok uređaja /dev/sda
iz nizova.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Provjera stanja niza nakon uklanjanja diska.
[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. Dodavanje particija novog diska u polje
Sljedeći korak je dodavanje particija novog diska u polja za sinkronizaciju. Pogledajmo trenutno stanje izgleda diska.
[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
Odjeljak /dev/sdc1
je bios_grub
odjeljak i ne sudjeluje u stvaranju nizova. Nizovi će koristiti samo /dev/sdc2
и /dev/sdc3
. Te odjeljke dodajemo u odgovarajuće nizove.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
Zatim čekamo da se niz sinkronizira.
[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>
Particioniranje diska nakon dodavanja particija u polje.
[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. Uklanjanje particija drugog diska iz polja
Označavamo particije drugog diska koje se koriste u svakom polju kao loše.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Uklanjanje particija blok uređaja /dev/sda
iz nizova.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. Kopirajte GPT tablicu izgleda i sinkronizirajte niz
Za kopiranje GPT tablice oznaka koristit ćemo uslužni program sgdisk
, koji je uključen u paket za rad s particijama diska i GPT tablicom - gdisk
.
Instalacija gdisk
za CentOS:
yum install -y gdisk
Instalacija gdisk
za Debian/Ubuntu:
apt install -y gdisk
OPREZ: Za GPT prvi disk je naznačen na kojoj kopiraj oznaku, drugi disk označava disk od kojeg kopirajte oznaku. Ako pomiješate diskove, početno dobra particija bit će prepisana i uništena.
Kopirajte GPT označnu tablicu.
sgdisk -R /dev/sdd /dev/sdc
Particioniranje diska nakon prijenosa tablice 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
Zatim dodajemo svaku od particija koje sudjeluju u softverskim RAID nizovima.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
Čekamo da se niz sinkronizira.
[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>
Nakon kopiranja GPT particije na drugi novi disk, particija će izgledati ovako.
[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]
Zatim instalirajte GRUB na nove diskove.
Instalacija za CentOS:
grub2-install /dev/sdX
Instalacija za Debian/Ubuntu:
grub-install /dev/sdX
gdje X
— slovo pogona, u našem slučaju pogoni /dev/sdc
и /dev/sdd
.
Ažuriramo informacije o nizu.
Za CentOS:
mdadm --detail --scan --verbose > /etc/mdadm.conf
Za Debian/Ubuntu:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Ažuriranje slike initrd
:
Za CentOS:
dracut -f -v --regenerate-all
Za Debian/Ubuntu:
update-initramfs -u -k all
Ažuriramo GRUB konfiguraciju.
Za CentOS:
grub2-mkconfig -o /boot/grub2/grub.cfg
Za Debian/Ubuntu:
update-grub
Nakon dovršetka koraka, stari diskovi se mogu ukloniti.
6. Ekstenzija datotečnog sustava (ext4) korijenske particije
Particioniranje diska prije proširenja datotečnog sustava nakon migracije sustava na 2 x 3TB diska (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]
Sada odjeljci /dev/sdc3
и /dev/sdd3
zauzimaju 2.7 TB. Budući da smo izradili novi izgled diska s GPT tablicom, veličina particije 3 odmah je postavljena na najveći mogući prostor na disku; u ovom slučaju nema potrebe za proširivanjem particije.
Potrebno je:
- Proširi niz md126,
- Proširi PV (fizički volumen),
- Proširi LV (logički volumen) vg0-root,
- Proširite datotečni sustav.
1. Proširite niz md126
do maksimuma.
mdadm --grow /dev/md126 --size=max
Nakon proširenja niza md126
veličina zauzetog prostora porasla je 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]
Proširujući se fizički volumen.
Prije širenja provjerite trenutnu vrijednost zauzetog prostora PV /dev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
Proširujemo PV sljedećom naredbom.
pvresize /dev/md126
Provjeravamo izvršenu akciju.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
Proširujući se logički volumen vg0-root.
Nakon proširenja PV, provjerimo zauzeti prostor VG.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
Provjerimo prostor koji zauzima 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
Volumen vg0-root zauzima 206.41 GB.
Proširujemo LV do maksimalnog prostora na disku.
lvextend -l +100%FREE /dev/mapper/vg0-root
Provjera LV prostora nakon ekspanzije.
[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
Proširenje datotečnog sustava (ext4).
Provjerimo trenutnu veličinu datotečnog sustava.
[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
Volumen /dev/mapper/vg0-root zauzima 204 GB nakon LV proširenja.
Proširenje datotečnog sustava.
resize2fs /dev/mapper/vg0-root
Provjera veličine datotečnog sustava nakon proširenja.
[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
Veličina datotečnog sustava je povećana kako bi pokrila cijeli volumen.
Izvor: www.habr.com