Hei kaikki. Uuden kurssiryhmän alkamisen aattona
Tässä artikkelissa tarkastellaan kahta tapausta, joissa levyt vaihdetaan ja tiedot siirretään uusille levyille, joiden kapasiteetti on suurempi, taulukon ja tiedostojärjestelmän laajentamisen myötä. Ensimmäinen tapaus koskee levyjen korvaamista samalla MBR/MBR- tai GPT/GPT-osiolla, toinen tapaus koskee levyjen korvaamista MBR-osiolla levyillä, joiden kapasiteetti on yli 2 TB ja joille sinun on asennettava GPT-osio, jossa on biosboot-osio. Molemmissa tapauksissa levyt, joille siirrämme tiedot, on jo asennettu palvelimelle. Pääosion tiedostojärjestelmä on ext2.
Tapaus 1: Pienten levyjen vaihtaminen suurempiin levyihin (jopa 2 Tt)
tavoite: Korvaa nykyiset levyt suurempiin levyihin (jopa 2 TB) tiedonsiirrolla. Tässä tapauksessa meillä on 2 x 240 Gt SSD (RAID-1) -levyä, joissa järjestelmä on asennettu, ja 2 x 1 TB SATA-levyä, joille järjestelmä on siirrettävä.
Katsotaanpa nykyistä levyasettelua.
[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
Tarkastetaan tällä hetkellä käytössä oleva tiedostojärjestelmätila.
[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
Tiedostojärjestelmän koko ennen levyjen vaihtoa on 204 Gt, käytössä on 2 md126-ohjelmistotaulukkoa, joka on asennettu /boot
и md127
, jota käytetään mm fyysinen tilavuus VG-ryhmälle vg0.
1. Levyjen osioiden poistaminen taulukoista
Tarkistetaan taulukon tilaa
[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>
Järjestelmä käyttää 2 taulukkoa: md126
(liitoskohta /boot
) - koostuu osasta /dev/sda1
и /dev/sdb1
, md127
(LVM for vaihtaa ja tiedostojärjestelmän juuri) - koostuu /dev/sda2
и /dev/sdb2
.
Merkitsemme kussakin taulukossa käytetyt ensimmäisen levyn osiot huonoiksi.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Poistamme /dev/sda-lohkon laiteosiot taulukoista.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Kun olemme poistaneet levyn ryhmästä, lohkolaitteen tiedot näyttävät tältä.
[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
Taulukon tila levyjen poistamisen jälkeen.
[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. Kopioi osiotaulukko uudelle levylle
Voit tarkistaa käytetyn osiotaulukon levyllä seuraavalla komennolla.
fdisk -l /dev/sdb | grep 'Disk label type'
MBR:n tulos olisi:
Disk label type: dos
GPT:lle:
Disk label type: gpt
Osiotaulukon kopioiminen MBR:lle:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
Tässä joukkueessa ensimmäinen asema näkyy с joista merkintä kopioidaan, toinen - missä kopio.
VAROITUS: GPT:lle ensimmäinen asema näkyy jonka päällä kopioi merkinnät, toinen levy ilmaisee levyn josta kopioi merkintä. Jos sekoitat levyt, alun perin hyvä osio korvataan ja tuhoutuu.
GPT:n asettelutaulukon kopioiminen:
sgdisk -R /dev/sdс /dev/sdb
Määritä seuraavaksi levylle satunnainen UUID (GPT:lle).
sgdisk -G /dev/sdc
Kun komento on suoritettu, osioiden pitäisi ilmestyä levylle /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
Jos toiminnon suorittamisen jälkeen järjestelmän osiot levyllä /dev/sdc
päättämätön, suoritamme komennon lukeaksesi osiotaulukon uudelleen.
sfdisk -R /dev/sdc
Jos nykyiset levyt käyttävät MBR-taulukkoa ja tiedot on siirrettävä yli 2 TB:n levyille, uusille levyille on luotava manuaalisesti GPT-osio käyttämällä biosboot-osiota. Tätä tapausta käsitellään tämän artikkelin osassa 2.
3. Uuden levyn osioiden lisääminen taulukkoon
Lisätään levyosioita vastaaviin taulukoihin.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2
Tarkistamme, että osiot on lisätty.
[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
Tämän jälkeen odotamme taulukoiden synkronointia.
[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>
Voit seurata synkronointiprosessia jatkuvasti apuohjelman avulla watch
.
watch -n 2 cat /proc/mdstat
Parametri -n
määrittää, millä aikaväleillä sekunneissa komento on suoritettava edistymisen tarkistamiseksi.
Toista vaiheet 1 - 3 seuraavalle vaihtolevylle.
Merkitsemme kussakin taulukossa käytetyt toisen levyn osiot huonoiksi.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Estolaitteen osioiden poistaminen /dev/sdb
taulukoista.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
Kun olemme poistaneet levyn ryhmästä, lohkolaitteen tiedot näyttävät tältä.
[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
Taulukon tila levyjen poistamisen jälkeen.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc1[2]
1047552 blocks super 1.2 [2/1] [U_]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc2[2]
233206784 blocks super 1.2 [2/1] [U_]
bitmap: 1/2 pages [4KB], 65536KB chunk
unused devices: <none>
MBR-osiotaulukon kopioiminen levyltä /dev/sdс
levylle /dev/sdd
.
sfdisk -d /dev/sdс | sfdisk /dev/sdd
Kun komento on suoritettu, osioiden pitäisi ilmestyä levylle /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
Levyosioita lisätään taulukoihin.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2
Tarkistamme, että osiot on lisätty.
[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]
Tämän jälkeen odotamme taulukoiden synkronointia.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdd1[3] sdc1[2]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdd2[3] sdc2[2]
233206784 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 0.5% (1200000/233206784) finish=35.4min speed=109090K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: <none>
5. GRUB:n asentaminen uusiin asemiin
CentOS:lle:
grub2-install /dev/sdX
Debian/Ubuntu:
grub-install /dev/sdX
missä X
— lohkolaitteen kirjain. Tässä tapauksessa sinun on asennettava GRUB /dev/sdc
и /dev/sdd
.
6. Pääosion tiedostojärjestelmätunniste (ext4).
Uusilla levyillä /dev/sdc
и /dev/sdd
931.5 Gt käytettävissä. Koska osiotaulukko kopioitiin pienemmiltä levyiltä, osiot /dev/sdc2
и /dev/sdd2
222.5 Gt käytettävissä.
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]
On tarpeen:
- Laajenna osio 2 jokaiselle levylle,
- Laajenna joukko md127,
- Laajenna PV (fyysinen tilavuus),
- Laajenna LV (looginen äänenvoimakkuus) vg0-root,
- Laajenna tiedostojärjestelmä.
Apuohjelman käyttäminen erosimme laajennetaan osiota /dev/sdc2
maksimiarvoon. Suorita komento parted /dev/sdc
(1) ja tarkastele nykyistä osiotaulukkoa komennolla p
(2).
Kuten näet, osion 2 lopussa on 240 Gt. Laajennamme osiota komennolla resizepart
2
, jossa 2 on osan (3) numero. Ilmoitamme arvon digitaalisessa muodossa, esimerkiksi 1000 Gt, tai käytämme levyosuuden ilmaisua - 100%. Tarkistamme uudelleen, että osion koko on uusi (4).
Toista yllä olevat vaiheet levylle /dev/sdd
. Osioiden laajentamisen jälkeen /dev/sdc2
и /dev/sdd2
tuli 930.5 Gt:ksi.
[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]
Tämän jälkeen laajennamme joukkoa md127 maksimissaan.
mdadm --grow /dev/md127 --size=max
Tarkistamme, että joukko on laajentunut. Nyt sen kooksi on tullut 930.4 Gt.
[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]
Laajennuksen pidentäminen fyysinen tilavuus. Ennen laajentamista tarkistetaan PV:n nykyinen tila.
[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 ]
Kuten näkyy, PV /dev/md127
käyttää 222.4 Gt tilaa.
Laajennamme PV:tä seuraavalla komennolla.
pvresize /dev/md127
PV-laajennuksen tuloksen tarkistaminen.
[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 ]
Laajenee looginen äänenvoimakkuus. Ennen laajentamista tarkistetaan LV:n (1) nykyinen tila.
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<206,41 GiB] inherit
LV /dev/vg0/root
käyttää 206.41 Gt.
Laajennamme LV seuraavalla komennolla (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
Tarkistamme suoritetun toiminnon (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Kuten näette, LV:n laajentamisen jälkeen varatun levytilan määräksi tuli 914.39 Gt.
LV-tilavuus on kasvanut (4), mutta tiedostojärjestelmä vie edelleen 204 Gt (5).
1. Laajennamme tiedostojärjestelmää.
resize2fs /dev/mapper/vg0-root
Kun komento on suoritettu, tarkistamme tiedostojärjestelmän koon.
[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
Juuritiedostojärjestelmän koko kasvaa 900 Gt:iin. Kun olet suorittanut vaiheet, voit poistaa vanhat levyt.
Tapaus 2: Pienten levyjen vaihtaminen suurempiin levyihin (yli 2 Tt)
asetus: Vaihda nykyiset levyt suurempiin levyihin (2 x 3TB) säilyttäen samalla tiedot. Tässä tapauksessa meillä on 2 x 240 Gt SSD (RAID-1) -levyä, joissa järjestelmä on asennettu, ja 2 x 3 TB SATA-levyä, joille järjestelmä on siirrettävä. Nykyiset levyt käyttävät MBR-osiotaulukkoa. Koska uusien levyjen kapasiteetti on suurempi kuin 2 Tt, niissä on käytettävä GPT-taulukkoa, koska MBR ei toimi yli 2 Tt:n levyjen kanssa.
Katsotaanpa nykyistä levyasettelua.
[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
Tarkastetaan levyllä käytetty osiotaulukko /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
Levyllä /dev/sdb
käytetään samanlaista osiotaulukkoa. Tarkastetaan järjestelmän käytetty levytila.
[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
Kuten näette, tiedostojärjestelmän juuri vie 204 Gt. Tarkastetaan ohjelmiston RAID-ryhmän nykyinen tila.
1. Asenna GPT-osiotaulukko ja levyosiointi
Tarkastetaan levyasettelu sektoreittain.
[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
Uudelle 3 Tt:n levylle meidän on luotava 3 osiota:
- jakso
bios_grub
2 MB koko GPT BIOS -yhteensopivuutta varten, - Osio RAID-ryhmälle, johon liitetään
/boot
. - Osio RAID-ryhmälle, jossa se tulee olemaan LV-juuri и LV vaihto.
Apuohjelman asentaminen erosimme joukkue yum install -y parted
(CentOS:lle), apt install -y parted
(Debian/Ubuntu).
Käyttäminen erosimme Suoritetaan seuraavat komennot levyn osiointiin.
Suorita komento parted /dev/sdc
ja siirry levyasettelun muokkaustilaan.
Luo GPT-osiotaulukko.
(parted) mktable gpt
Luo 1 osio bios_grub
ja aseta sille lippu.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
Luo osio 2 ja aseta sille lippu. Osiota käytetään RAID-ryhmän lohkona ja se liitetään sisään /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
Luomme 3. osan, jota käytetään myös taulukkolohkona, jossa LVM sijoitetaan.
(parted) mkpart primary 1028MiB 100%
Tässä tapauksessa lippua ei tarvitse asettaa, mutta tarvittaessa se voidaan asettaa seuraavalla komennolla.
(parted) set 3 raid on
Tarkistamme luodun taulukon.
(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
Määritämme levylle uuden satunnaisen GUID:n.
sgdisk -G /dev/sdd
2. Ensimmäisen levyn osioiden poistaminen taulukoista
Tarkistetaan taulukon tilaa
[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>
Järjestelmä käyttää 2 taulukkoa: md126 (liitoskohta / käynnistys) - koostuu /dev/sda1
и /dev/sdb1
, md127
(LVM for swap
ja tiedostojärjestelmän juuri) - koostuu /dev/sda2
и /dev/sdb2
.
Merkitsemme kussakin taulukossa käytetyt ensimmäisen levyn osiot huonoiksi.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Estolaitteen osioiden poistaminen /dev/sda
taulukoista.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Matriisin tilan tarkistaminen levyn poistamisen jälkeen.
[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. Uuden levyn osioiden lisääminen taulukkoon
Seuraava vaihe on lisätä uuden levyn osiot taulukoihin synkronointia varten. Katsotaanpa levyasettelun nykyistä tilaa.
[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
jakso /dev/sdc1
on bios_grub
-osiossa eikä se ole mukana taulukoiden luomisessa. Taulukot käyttävät vain /dev/sdc2
и /dev/sdc3
. Lisäämme nämä osat vastaaviin taulukoihin.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
Sitten odotamme taulukon synkronointia.
[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>
Levyn osiointi osioiden lisäämisen jälkeen.
[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. Toisen levyn osioiden poistaminen taulukoista
Merkitsemme kussakin taulukossa käytetyt toisen levyn osiot huonoiksi.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Estolaitteen osioiden poistaminen /dev/sda
taulukoista.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. Kopioi GPT-asettelutaulukko ja synkronoi taulukko
Käytämme apuohjelmaa GPT-merkintätaulukon kopioimiseen sgdisk
, joka sisältyy pakkaukseen levyosioiden ja GPT-taulukon kanssa työskentelemiseen - gdisk
.
Asennus gdisk
CentOS:lle:
yum install -y gdisk
Asennus gdisk
Debian/Ubuntu:
apt install -y gdisk
VAROITUS: GPT:lle ensimmäinen asema näkyy jonka päällä kopioi merkintä, toinen levy ilmaisee levyn josta kopioi merkintä. Jos sekoitat levyt, alun perin hyvä osio korvataan ja tuhoutuu.
Kopioi GPT-merkintätaulukko.
sgdisk -R /dev/sdd /dev/sdc
Levyn osiointi taulukon siirtämisen jälkeen levylle /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
Seuraavaksi lisäämme kaikki ohjelmiston RAID-ryhmiin osallistuvat osiot.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
Odotamme taulukon synkronointia.
[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>
Kun GPT-osio on kopioitu toiselle uudelle levylle, osio näyttää tältä.
[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]
Asenna seuraavaksi GRUB uusille levyille.
CentOS:n asennus:
grub2-install /dev/sdX
Debianin/Ubuntun asennus:
grub-install /dev/sdX
missä X
— asemakirjain, meidän tapauksessamme asemat /dev/sdc
и /dev/sdd
.
Päivitämme tietoja taulukosta.
CentOS:lle:
mdadm --detail --scan --verbose > /etc/mdadm.conf
Debian/Ubuntu:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Kuvaa päivitetään initrd
:
CentOS:lle:
dracut -f -v --regenerate-all
Debian/Ubuntu:
update-initramfs -u -k all
Päivitämme GRUB-kokoonpanon.
CentOS:lle:
grub2-mkconfig -o /boot/grub2/grub.cfg
Debian/Ubuntu:
update-grub
Kun vaiheet on suoritettu, vanhat levyt voidaan poistaa.
6. Pääosion tiedostojärjestelmätunniste (ext4).
Levyn osiointi ennen tiedostojärjestelmän laajentamista, kun järjestelmä on siirretty 2 x 3 Tt:n levyille (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]
Nyt jaksot /dev/sdc3
и /dev/sdd3
vievät 2.7 TB. Koska loimme uuden levyasettelun GPT-taulukolla, osion 3 koko asetettiin välittömästi mahdollisimman suureksi levytilaksi, joten osiota ei tässä tapauksessa tarvitse laajentaa.
On tarpeen:
- Laajenna joukko md126,
- Laajenna PV (fyysinen tilavuus),
- Laajenna LV (looginen äänenvoimakkuus) vg0-root,
- Laajenna tiedostojärjestelmä.
1. Laajenna joukkoa md126
maksimissaan.
mdadm --grow /dev/md126 --size=max
Taulukon laajennuksen jälkeen md126
varatun tilan koko on kasvanut 2.7 TB:iin.
[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]
Laajenee fyysinen tilavuus.
Ennen laajentamista tarkista varatun tilan nykyinen arvo PV /dev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
Laajennamme PV:tä seuraavalla komennolla.
pvresize /dev/md126
Tarkistamme suoritetun toimenpiteen.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
Laajenee looginen tilavuus vg0-root.
PV:n laajentamisen jälkeen tarkistetaan varatun tilan VG.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
Tarkastetaan LV:n käyttämä tila.
[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
Vg0-root-taltio vie 206.41 Gt.
Laajennamme LV:n levytilaa maksimissaan.
lvextend -l +100%FREE /dev/mapper/vg0-root
LV-tilan tarkistus laajennuksen jälkeen.
[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
Tiedostojärjestelmän laajentaminen (ext4).
Tarkastetaan tiedostojärjestelmän nykyinen koko.
[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
Taltio /dev/mapper/vg0-root vie 204 Gt LV-laajennuksen jälkeen.
Tiedostojärjestelmän laajentaminen.
resize2fs /dev/mapper/vg0-root
Tiedostojärjestelmän koon tarkistaminen sen laajentamisen jälkeen.
[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
Tiedostojärjestelmän kokoa on lisätty kattamaan koko asema.
Lähde: will.com