Kleineste ketta asendamine suuremate ketastega Linuxis

Tere kõigile. Uue kursuse grupi alguse eel avaldame kasulikku materjali, mille on kirjutanud meie üliõpilane ja kursuste mentor, REG.RU ettevõtte tehnilise toe spetsialist — Roman Traviin. Linuxi administraator Selles artiklis käsitleme kaht juhtumit ketaste asendamisest ja teabe ülekandmisest suurtele uutele ketastele, mille tulemusel laiendatakse massiivi ja failisüsteemi. Esimene juhtum käsitleb ketaste asendamist sama nimetuse jaotusega MBR/MBR või GPT/GPT, teine ​​juhtum käsitleb ketaste asendamist MBR-jaotusega ketastega, mille maht ületab 2 TB, mille jaoks tuleb luua GPT ja biosboot osi. Mõlemal juhul on kettad, kuhu teavet üleviime, juba paigaldatud

. Juureosa failisüsteem on ext4. serverJuhtum 1: Väiksemate ketaste asendamine suuremate ketastega (kuni 2TB)

Asendame praegused kettad suuremate ketastega (kuni 2 TB) koos teabe üleviiduga. Antud juhul on meil kettad 2 x 240 GB SSD (RAID-1) koos paigaldatud süsteemiga ja kettad 2 x 1 TB SATA, millele tuleb süsteem üle viia.

Task: Vaatame hetke ketaste jaotust.

[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

Kontrollime failisüsteemi kasutatavat ruumi praegu.  

[root@localhost ~]# df -h Failisüsteem Suurus Kasutatud Vaba Kasutatud% Mountitud /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

Failisüsteemi suurus ketaste vahetamise eel on 204 GB, kasutatakse 2 tarkvara massiivi md126, mis on mountitud

md127 /boot ja , mis kasutatakse kuiphysical volume VG grupi vg0 1. Kettajaotuste eemaldamine massiividest.

Kontrollime massiivi olekut

Проверям состояние массива

[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:

Süsteemis on kasutusel 2 massiivi: md126 (mount point /boot) — koosneb partitsioonist /dev/sda1 ja /dev/sdb1, , mis kasutatakse kui (LVM jaoks swap ja failisüsteemi juurest) — koosneb /dev/sda2 ja /dev/sdb2.

Märgime ära esimese ketta partitsioonid, mis on igas massiivis kasutusel, kui tõrgetega.

mdadm /dev/md126 --fail /dev/sda1

mdadm /dev/md127 --fail /dev/sda2

Eemaldame plokiseadme partitsioonid /dev/sda massiividest.

mdadm /dev/md126 --remove /dev/sda1

mdadm /dev/md127 --remove /dev/sda2

Pärast ketta eemaldamist massiivist näeb plokiseadmete teave välja järgmine.

[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  

Massiivide olek pärast ketaste eemaldamist.

[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:

2. Partitsioonitabeli kopeerimine uuele kettale

Saate kontrollida kettal kasutusel olevaid partitsioonitabeleid järgmise käsuga.

fdisk -l /dev/sdb | grep 'Disk label type'

MBRi jaoks on väljund:

Disk label type: dos

GPT jaoks:

Disk label type: gpt

MBRi partitsioonitabeli kopeerimine:

sfdisk -d /dev/sdb | sfdisk /dev/sdc

Selles käsus esimest osutatakse kettale, jot mille partitsioon on kopeeritav, teisega — kuhu kopeerida.

TÄHELEPANU: GPT jaoks esimest osutatakse kettale, ketta, kuhu kopeerida partitsioon, teine ketta pealt, millelt kopeerida. Kui kettad segamini ajada, kirjutatakse algne õige partitsioon üle ja hävitatakse. GPT partitsioonitabeli kopeerimine:

sgdisk -R /dev/sdc /dev/sdb

Seejärel määrame kettale juhusliku UUID (GPT jaoks).

sgdisk -G /dev/sdc


Pärast käsu täitmist peaksid partitsioonid kettal ilmuma.

После выполненной команды разделы должны появится на диске /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  

Kui pärast teostatud toimingut ei ole süsteemi ketaste jaotused määratud /dev/sdc täidame käsu, et lugeda jaotustabelit uuesti.

sfdisk -R /dev/sdc

Kui praegustes kettas kasutatakse MBR tabelit ja teavet tuleb üle kanda rohkem kui 2 TB suurustele ketastele, tuleb uutel ketastel käsitsi luua GPT jaotus koos biosboot jaotusega. Seda juhtumit käsitletakse selle artikli 2. osas.

3. Uue ketta jaotuste lisamine massiivi

Lisame ketta jaotused vastavatesse massiividesse.

mdadm /dev/md126 --add /dev/sdc1

mdadm /dev/md127 --add /dev/sdc2

Kontrollime, et jaotused oleksid lisatud.

[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  

Pärast seda ootame massiivide sünkroniseerimist.

[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:

Sünkroonimisprotsessi saab pidevalt jälgida utiliidi abil watch.

watch -n 2 cat /proc/mdstat

Parameeter -n märkides, millise intervaliga peab käsku kontrollima edusamme.

Korrake punkte 1-3 järgmise asendatava ketta jaoks.

Märgistame teise ketta jaotused, mis on iga massiivi kasutuses, tõrgetega.

mdadm /dev/md126 --fail /dev/sdb1

mdadm /dev/md127 --fail /dev/sdb2

Kustutame plokkseadmest jaotused /dev/sdb massividest.

mdadm /dev/md126 --remove /dev/sdb1

mdadm /dev/md127 --remove /dev/sdb2

Pärast ketta eemaldamist massiivist näeb plokiseadmete teave välja järgmine.

[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  

Massiivide olek pärast ketaste eemaldamist.

[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:

Kopeerime MBR jagamiste tabeli kettalt /dev/sdс kettale /dev/sdd.

sfdisk -d /dev/sdc | sfdisk /dev/sdd

После выполненной команды разделы должны появится на диске /dev/sdd.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223.6G  0 disk  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222.5G  0 part  
sdb              8:16   0 223.6G  0 disk  
├─sdb1           8:17   0     1G  0 part  
└─sdb2           8:18   0 222.5G  0 part  
sdc              8:32   0 931.5G  0 disk  
├─sdc1           8:33   0     1G  0 part  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc2           8:34   0 222.5G  0 part  
  └─md127        9:127  0 222.4G  0 raid1 
    ├─vg0-root 253:0    0 206.4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0 931.5G  0 disk  
├─sdd1           8:49   0     1G  0 part  
└─sdd2           8:50   0 222.5G  0 part  

Lisame ketta osad massiividesse.

mdadm /dev/md126 --add /dev/sdd1

mdadm /dev/md127 --add /dev/sdd2

Kontrollime, et jaotused oleksid lisatud.

[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]

Pärast seda ootame massiivide sünkroniseerimist.

[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:

5. GRUBi paigaldamine uutele ketastele

CentOS jaoks:

grub2-install /dev/sdX

Debian/Ubuntu jaoks:

grub-install /dev/sdX

kus X — ploki seadme täht. Antud juhul tuleb paigaldada GRUB /dev/sdc ja /dev/sdd.

6. Failisüsteemi (ext4) juurepartitsioon

Uutel kõvaketastel /dev/sdc ja /dev/sdd on saadaval 931,5 GB. Kuna partitsioonide tabel on kopeeritud väiksema mahuga ketastelt, on partitsioonidel /dev/sdc2 ja /dev/sdd2 saadaval 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]

Nõutav:

  1. Laienetakse 2. partitsioon igal kõvakettal,
  2. Laienetakse massiiv md127,
  3. Laienetakse PV (füüsiline maht),
  4. Laienetakse LV (loogiline maht) vg0-root,
  5. Laienetakse failisüsteem.

Kasutades utiliiti parted laiendame partitsiooni /dev/sdc2 kuni maksimaalse väärtuseni. Käitame käsku parted \/dev\/sdc (1) ja vaatame praegust partitsioonide tabelit käsuga p (2).

Kleineste ketta asendamine suuremate ketastega Linuxis

Nagu näha, lõpeb 2. partitsioon 240 GB juures. Teeme partitsiooni laiendamise käsuga resizepart 2, kus 2 — partitsiooni number (3). Näitame väärtust numbrilises vormis, näiteks 1000 GB, või kasutame osakaalu ketast — 100%. Kontrollime jälle, et partitsioon oleks saanud uue suuruse (4).

Korrake ülaltoodud samme ketta /dev/sdd. Pärast partitsioonide laiendamist /dev/sdc2 ja /dev/sdd2 said need võrdseks 930,5 GB.

[root@localhost ~]# lsblk                                                 
NIMI           MAJ:MIN RM   SUURUS RO TÜÜP  MOUNTPOINT
sda              8:0    0 223,6G  0 ketas  
├─sda1           8:1    0     1G  0 part  
└─sda2           8:2    0 222,5G  0 part  
sdb              8:16   0 223,6G  0 ketas  
├─sdb1           8:17   0     1G  0 part  
└─sdb2           8:18   0 222,5G  0 part  
sdc              8:32   0 931,5G  0 ketas  
├─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 ketas  
├─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]

Pärast seda teeme massiivi laiendamise , mis kasutatakse kui maksimumini.

mdadm --grow \/dev\/md127 --size=max

Kontrollime, et massiiv oleks laienenud. Nüüd on selle suurus 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]

Teeme laiendust VG grupi. Enne laiendamist kontrollime praegust PV staatust.

[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   ]

Kuidas näha, et PV /dev/md127 kasutab 222.4 GB ruumi.

Laiendame PV järgmise käsuga.

pvresize /dev/md127

Kontrollime PV laiendamise tulemusi.

[

[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   ]

Laiendame loogilist mahtu. Enne laiendamist kontrollime praegust LV staatust (1).

[root@localhost ~]# lvscan
  ACTIVE            '/dev/vg0/swap' [<16,00 GiB] inherit
  ACTIVE            '/dev/vg0/root' [<206,41 GiB] inherit

LV /dev/vg0/root kasutab 206.41 GB.

Laiendame LV järgmise käsuga (2).

lvextend -l +100%FREE /dev/mapper/vg0-root

Kontrollime tehtud toimingut (3).

[root@localhost ~]# lvscan 
  ACTIVE            '/dev/vg0/swap' [<16,00 GiB] inherit
  ACTIVE            '/dev/vg0/root' [<914,39 GiB] inherit

Kuidas näeme, pärast LV laiendamist on ketta kogumaht 914.39 GB.

Kleineste ketta asendamine suuremate ketastega Linuxis

LV maht on suurenenud (4), kuid failisüsteem on endiselt 204 GB (5).

1. Teeme failisüsteemi laienduse.

resize2fs /dev/mapper/vg0-root

Kontrollime pärast tehtud käsku failisüsteemi suurust.

[root@localhost ~]# df -h
Failisüsteem     Suurus Kasutatud  Vaba Kasutatud% Montaazitud
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

Juure failisüsteemi suurus suureneb kuni 900 GB. Pärast teostatud toimingute lõpetamist saab vanad kettad eemaldada.

Juhtum 2: Väiksema mahuga ketaste asendamine suurema mahuga kettastega (üle 2TB)

Ülesanne: Asenda praegused kettad suuremate kettadega (2 x 3TB) koos teabe säilitamisega. Sellisel juhul on meil kettad 2 x 240 GB SSD (RAID-1) koos paigaldatud süsteemiga ja kettad 2 x 3 TB SATA, millele tuleb süsteem üle kanda. Praegustel kettadel kasutatakse MBR (Master Boot Record) partitsioonide tabelit. Kuna uutel kettadel on maht üle 2 TB, tuleb neist kasutada GPT (GUID Partition Table), kuna MBR ei toimi kettadega, mille maht ületab 2TB.

Vaatame praegust ketaste jaotust.

[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  

Kontrollime kettal kasutusel olevat partitsioonide tabelit. /dev/sda.

[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos

Kettal /dev/sdb kasutatakse sarnast partitsioonide tabelit. Kontrollime süsteemis kasutatavat kettaruumi.

[root@localhost ~]# df -h
Failisüsteem     Suurus Kasutatud  Jääk Kasutatud% Mountpunkt
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% /n/dev/md126            1007M         120M  837M           13% /boot
tmpfs                  3,2G            0  3,2G            0% /run/user/0

Nagu näha, on failisüsteemi juur 204 GB. Kontrollime programmipõhise RAID-massiivi praegust seisu.

1. GPT partitsioonide tabeli loomine ja ketta partitseerimine

Kontrollime kettade jaotust sektorite järgi.

[root@localhost ~]# parted /dev/sda print
Mudelinimi: ATA KINGSTON SVP200S (scsi)
Kett /dev/sda: 240GB
Sektori suurus (loog. / füüs.): 512B / 512B
Partitsioonide tabel: msdos
Disk Flags: 

Nummer  Algus  Lõpp   Suurus  Tüüp      Failisüsteem  Lipud
 1     1049kB  1076MB  1075MB  primary                    käivitatav, raid
 2     1076MB  240GB   239GB   primary                    raid

Uuel 3TB kettal peame looma 3 partitsiooni:

  1. Jaotis bios_grub suurusega 2MiB GPT ja BIOS ühilduvuse jaoks,
  2. RAID-mahuti partitsioon, mis on mälu paigaldatud /boot.
  3. RAID-mahuti partitsioon, millel on LV root ja LV swap.

Paigaldame utiliidi parted käsklusega yum install -y parted (CentOSi jaoks), apt install -y parted (Debian/Ubuntu jaoks).

Kasutades parted täitke järgmised käsud ketta jaotuse seadmiseks.

Käivitame käsu parted \/dev\/sdc ja liikume kettajaotuse redigeerimisrežiimi.

Loome GPT partitsioonitabeli.

(parted) mktable gpt

Loome 1. partitsiooni bios_grub partitsioon ja seadistame selle jaoks lipu.

(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on  

Loome 2. partitsiooni ja seadistame sellele lipu. Partitsioon kasutatakse RAID-massiivi plokina ja selle mountimiseks /boot.

(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on

Loome 3. partitsiooni, mida kasutatakse samuti massiivi plokina, kus asub LVM.

(parted) mkpart primary 1028MiB 100% 

Käesoleval juhul ei ole lipu seadmine kohustuslik, kuid kui on vajalik, saab selle seadistada järgmise käsuga.

(parted) set 3 raid on

Kontrollime loodud partitsioonitabelit.

(parted) p
Mudel: ATA TOSHIBA DT01ACA3 (scsi)
Ketas /dev/sdc: 3001GB
Sektori suurus (loog./füüs.): 512B/4096B
Partitsioonitabel: gpt
Disk Flags:

Nr   Algus     Lõpp      Suurus  Failisüsteem  Nimi      Lipud
 1    1049kB   3146kB   2097kB                  primary  bios_grub
 2    3146kB   1077MB   1074MB                  primary  boot
 3    1077MB   3001GB   3000GB                  primary

Määrame kettale uue juhusliku GUID-i.

sgdisk -G /dev/sdd

2. Ketta partitsioonide eemaldamine massiividest

Проверям состояние массива

[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:

Süsteemis on kaks massiivi: md126 (mount-punkt /boot) — koosneb /dev/sda1 ja /dev/sdb1, , mis kasutatakse kui (LVM jaoks swap ja failisüsteemi juurest) — koosneb /dev/sda2 ja /dev/sdb2.

Märgime ära esimese ketta partitsioonid, mis on igas massiivis kasutusel, kui tõrgetega.

mdadm /dev/md126 --fail /dev/sda1

mdadm /dev/md127 --fail /dev/sda2

Kustutame plokkseadmest jaotused /dev/sda massividest.

mdadm /dev/md126 --remove /dev/sda1

mdadm /dev/md127 --remove /dev/sda2

Kontrollime massiivi seisundit pärast ketta eemaldamist.

[root@localhost ~]# cat /proc/mdstat
Isiksused: [raid1]
md126: aktiivne raid1 sdb1[1]
      1047552 plokki super 1.2 [2/1] [_U]
      bitmap: 0/1 lehekülge [0KB], 65536KB chunk

md127: aktiivne raid1 sdb2[1]
      233206784 plokki super 1.2 [2/1] [_U]
      bitmap: 2/2 lehekülge [8KB], 65536KB chunk

kasutamata seadmed: <none>

3. Uue ketta jaotuste lisamine massiivi

Järgmise sammuna tuleb lisada uue ketta partitsioonid massiividesse sünkroonimiseks. Vaata hetkel kehtivaid ketta jaotusi.

[root@localhost ~]# lsblk
Nimi           MAJ:MIN RM   SUURUS RO Tüüp  MOUNTPOINT
sda              8:0    0 223,6G  0 ketas  
├─sda1           8:1    0     1G  0 osa  
└─sda2           8:2    0 222,5G  0 osa  
sdb              8:16   0 223,6G  0 ketas  
├─sdb1           8:17   0     1G  0 osa  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdb2           8:18   0 222,5G  0 osa  
  └─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 ketas  
├─sdc1           8:33   0     2M  0 osa  
├─sdc2           8:34   0     1G  0 osa  
└─sdc3           8:35   0   2,7T  0 osa  
sdd              8:48   0   2,7T  0 ketas  

Jaotis /dev/sdc1 on bios_grub partitsiooniga ning ei osale massiivide loomisel. Massiividesse kaasatakse ainult /dev/sdc2 ja /dev/sdc3. Lisame need partitsioonid vastavatesse massiividesse.

mdadm /dev/md126 --add /dev/sdc2

mdadm /dev/md127 --add /dev/sdc3

Pärast seda ootame massiivi sünkroonimist.

[root@localhost ~]# cat /proc/mdstat 
Iseloomud: [raid1] 
md126: aktiivne raid1 sdc2[2] sdb1[1]
      1047552 plokki super 1.2 [2/2] [UU]
      bitmap: 0/1 lehekülge [0KB], 65536KB chunk

md127: aktiivne raid1 sdc3[2] sdb2[1]
      233206784 plokki super 1.2 [2/1] [_U]
      [>....................]  taastamine =  0.2% (619904/233206784) lõpetamine=31.2min kiirus=123980K/sek
      bitmap: 2/2 lehekülge [8KB], 65536KB chunk
kasutamata seadmed:

Diskide jaotamine pärast partitsioonide lisamist massiivi.

[root@localhost ~]# lsblk
NIMI           MAJ:MIN RM   SUURUS RO Tüüp  MONTO POINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 osa  
└─sda2           8:2    0 222,5G  0 osa  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 osa  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdb2           8:18   0 222,5G  0 osa  
  └─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 osa  
├─sdc2           8:34   0     1G  0 osa  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 osa  
  └─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. Teise ketta jaotuste eemaldamine massiividest

Märgistame teise ketta jaotused, mis on iga massiivi kasutuses, tõrgetega.

mdadm /dev/md126 --fail /dev/sdb1

mdadm /dev/md127 --fail /dev/sdb2

Kustutame plokkseadmest jaotused /dev/sda massividest.

mdadm /dev/md126 --remove /dev/sdb1

mdadm /dev/md127 --remove /dev/sdb2

5. Kopeerime GPT jaotustabeli ja sünkroniseerime massiivi

GPT jaotustabeli kopeerimiseks kasutame utiliiti sgdisk, mis kuulub diskide jaotustega tegelevasse paketti — gdisk.

Paigaldamine gdisk CentOS jaoks:

yum install -y gdisk

Paigaldamine gdisk Debian/Ubuntu jaoks:

apt install -y gdisk

TÄHELEPANU: GPT jaoks esimest osutatakse kettale, ketta, kuhu kopeerime jaotuse, teine ketta pealt, millelt kopeerida. Kui kettad segamini ajada, kirjutatakse algne õige partitsioon üle ja hävitatakse. kopeerivad jaotuse. Kui kettad segamini ajada, siis algselt korrektne jaotus kirjutatakse üle ja hävitatakse.

Kopeerime GPT jaotustabeli.

sgdisk -R /dev/sdd /dev/sdc

Diskide jaotamine pärast tabeli ülekandmist kettale /dev/sdd.

[root@localhost ~]# lsblk
NIMI           MAJ:MIN RM   SUURUS RO Tüüp  MONTO POINT
sda              8:0    0 223,6G  0 disk  
├─sda1           8:1    0     1G  0 osa  
└─sda2           8:2    0 222,5G  0 osa  
sdb              8:16   0 223,6G  0 disk  
├─sdb1           8:17   0     1G  0 osa  
└─sdb2           8:18   0 222,5G  0 osa  
sdc              8:32   0   2,7T  0 disk  
├─sdc1           8:33   0     2M  0 osa  
├─sdc2           8:34   0     1G  0 osa  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 osa  
  └─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 osa  
├─sdd2           8:50   0     1G  0 osa  
└─sdd3           8:51   0   2,7T  0 osa  

Edasi lisame iga partitsiooni, mis osaleb tarkvaralisetes RAID-massiivides.

mdadm /dev/md126 --add /dev/sdd2

mdadm /dev/md127 --add /dev/sdd3

Ootame massiivi sünkroniseerimist.

[root@localhost ~]# cat /proc/mdstat 
Iseloomad: [raid1] 
md126: aktiivne raid1 sdd2[3] sdc2[2]
      1047552 plokki super 1.2 [2/2] [UU]
      bitmap: 1/1 lehte [4KB], 65536KB chunk

md127: aktiivne raid1 sdd3[3] sdc3[2]
      233206784 plokki super 1.2 [2/1] [U_]
      [>....................]  taastumine =  0.0% (148224/233206784) lõpetamine=26.2min kiirus=148224K/sek
      bitmap: 2/2 lehte [8KB], 65536KB chunk
kasutamata seadmed:

Pärast GPT partitsiooni kopeerimist teisele uuele kettale näeb partitsioon välja järgmine.

[root@localhost ~]# lsblk
NIMI           MAJ:MIN RM   SUURUS RO Tüüp  MOUNTPOINT
sda              8:0    0 223,6G  0 ketas  
├─sda1           8:1    0     1G  0 osa  
└─sda2           8:2    0 222,5G  0 osa  
sdb              8:16   0 223,6G  0 ketas  
├─sdb1           8:17   0     1G  0 osa  
└─sdb2           8:18   0 222,5G  0 osa  
sdc              8:32   0   2,7T  0 ketas  
├─sdc1           8:33   0     2M  0 osa  
├─sdc2           8:34   0     1G  0 osa  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 osa  
  └─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 ketas  
├─sdd1           8:49   0     2M  0 osa  
├─sdd2           8:50   0     1G  0 osa  
│ └─md126        9:126  0  1023M  0 raid1 /boot
└─sdd3           8:51   0   2,7T  0 osa  
  └─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]

Seejärel paigaldame GRUB uutele ketastele.

Paigaldamine CentOS:

grub2-install /dev/sdX

Paigaldamine Debian/Ubuntu:

grub-install /dev/sdX

kus X — ketta täht, meie puhul kettad /dev/sdc ja /dev/sdd.

Uuendame massiivi teavet.

CentOS jaoks:

mdadm --detail --scan --verbose > /etc/mdadm.conf

Debian/Ubuntu jaoks:

echo "DEVICE partitions" > /etc/mdadm/mdadm.conf

mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf

Uuendame pilti initrd:
CentOS jaoks:

dracut -f -v --regenerate-all

Debian/Ubuntu jaoks:

update-initramfs -u -k all

Uuendame GRUBi konfiguratsiooni.

CentOS jaoks:

grub2-mkconfig -o /boot/grub2/grub.cfg

Debian/Ubuntu jaoks:

update-grub

Pärast teostatud toiminguid saab vanad kettad välja võtta.

6. Failisüsteemi (ext4) juurepartitsioon

Ketaste partitsioonid enne failisüsteemi suurendamist süsteemi üleviimise järel 2 x 3TB (RAID-1) ketastele.

[root@localhost ~]# lsblk
NIMI           MAJ:MIN RM   SUURUS RO Tüüp  MOUNTPOINT
sda              8:0    0 223,6G  0 ketas  
sdb              8:16   0 223,6G  0 ketas  
sdc              8:32   0   2,7T  0 ketas  
├─sdc1           8:33   0     2M  0 osa  
├─sdc2           8:34   0     1G  0 osa  
│ └─md127        9:127  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 osa  
  └─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 ketas  
├─sdd1           8:49   0     2M  0 osa  
├─sdd2           8:50   0     1G  0 osa  
│ └─md127        9:127  0  1023M  0 raid1 /boot
└─sdd3           8:51   0   2,7T  0 osa  
  └─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]

Praegu partitsioonid /dev/sdc3 ja /dev/sdd3 koosavad 2.7 TB. Kuna me lõime uue põhja GPT tabeliga, määrati kolmanda partitsiooni suurus kohe maksimaalsele kettaruumile, selle puhul ei ole vajalik partitsiooni laiendamine.

Nõutav:

  1. Laiendage massiivi md126,
  2. Laienetakse PV (füüsiline maht),
  3. Laienetakse LV (loogiline maht) vg0-root,
  4. Laienetakse failisüsteem.

1. Laiendame massiivi md126 maksimumini.

mdadm --grow /dev/md126 --size=max

Pärast massiivi laiendamist md126 kasutatud ruumi suurus suurenes 2.7 TB-ni.

[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]

Laiendame VG grupi.

Enne laiendamist kontrollime PV praegust ruumikasutust /dev/md126.

[root@localhost ~]# pvs
  PV         VG  Fmt  Attr PSize   PFree
  /dev/md126 vg0 lvm2 a--  222,40g    0 

Laiendame PV järgmise käsuga.

pvresize /dev/md126

Kontrollime toimepandud toimet.

[root@localhost ~]# pvs
  PV         VG  Fmt  Attr PSize  PFree
  /dev/md126 vg0 lvm2 a--  <2,73t 2,51t

Laiendame loogiline maht vg0-root.

Pärast PV laiendamist kontrollime VG ruumikasutust.

[root@localhost ~]# vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  vg0   1   2   0 wz--n- <2,73t 2,51t

Kontrollime LV ruumikasutust.

[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            

Maht vg0-root kasutab 206.41 GB.

Laiendame LV maksimaalse ketta ruumini.

lvextend -l +100%FREE /dev/mapper/vg0-root 

Kontrollime LV ruumi pärast laiendamist.

[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

Laiendame failisüsteemi (ext4).

Kontrollime praegust failisüsteemi suurust.

[root@localhost ~]# df -h
Failisüsteem     Suurus Kasutatud  Vaba Kasutatud% Mount
/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

Maht /dev/mapper/vg0-root kasutab 204 GB pärast LV laiendamist.

Laiendame failisüsteemi.

resize2fs /dev/mapper/vg0-root 

Kontrollime failisüsteemi suurust pärast selle laiendamist.

[root@localhost ~]# df -h
Failisüsteem     Suurus Kasutatud  Vaba Kasutatud% Mountitud
/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

Failisüsteemi suurus on suurenenud kogu mahutavuse ulatuses.

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster