Väiksemate ketaste asendamine suuremate ketastega Linuxis

Tere kõigile. Uue kursuserühma alguse eelõhtul "Linuxi administraator" Avaldame kasulikku materjali, mille on kirjutanud meie tudeng, samuti kursuse mentor, REG.RU ettevõtete toodete tehnilise toe spetsialist - Roman Travin.

Selles artiklis käsitletakse kahte ketaste asendamise ja teabe ülekandmist uutele suurema mahuga ketastele koos massiivi ja failisüsteemi edasise laiendamisega. Esimene juhtum puudutab ketaste asendamist sama MBR/MBR või GPT/GPT partitsiooniga, teine ​​juhtum puudutab ketaste asendamist MBR-partitsiooniga ketastega, mille maht on üle 2 TB ja millele peate installima. GPT-sektsioon koos biosboot-partitsiooniga. Mõlemal juhul on kettad, millele andmed edastame, juba serverisse installitud. Juursektsiooni jaoks kasutatav failisüsteem on ext2.

Juhtum 1: väiksemate ketaste asendamine suuremate ketaste vastu (kuni 2TB)

Ülesanne: Asendage praegused kettad suuremate ketastega (kuni 2 TB) koos teabeedastusega. Sel juhul on meil 2 x 240 GB SSD (RAID-1) ketast koos installitud süsteemiga ja 2 x 1 TB SATA ketast, millele tuleb süsteem üle kanda.

Vaatame praegust ketta paigutust.

[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 praegu kasutatavat failisüsteemi ruumi.

[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

Failisüsteemi suurus enne ketaste vahetamist on 204 GB, kasutatud on 2 md126 tarkvara massiivi, mis on paigaldatud /boot и md127, mida kasutatakse kui füüsiline maht VG rühma jaoks vg0.

1. Ketta partitsioonide eemaldamine massiividest

Massiivi oleku kontrollimine

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

Süsteem kasutab 2 massiivi: md126 (kinnituspunkt /boot) - koosneb jaotisest /dev/sda1 и /dev/sdb1, md127 (LVM jaoks vahetama ja failisüsteemi juur) - koosneb /dev/sda2 и /dev/sdb2.

Märgime igas massiivis kasutatavad esimese ketta partitsioonid halvaks.

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

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

Eemaldame massiividest /dev/sda plokkide seadmete partitsioonid.

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

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

Kui oleme ketta massiivist eemaldanud, näeb blokeerimisseadme teave välja selline.

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

2. Kopeerige partitsioonitabel uuele kettale

Plaadil olevat kasutatud partitsioonitabelit saate kontrollida järgmise käsuga.

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

MBR-i väljund oleks:

Disk label type: dos

GPT jaoks:

Disk label type: gpt

MBR-i partitsioonitabeli kopeerimine:

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

Selles meeskonnas esiteks ketas on näidatud с millest märgistus kopeeritakse, teine ​​- kus kopeerida.

TÄHELEPANU!: GPT jaoks esiteks ketas on näidatud mille peal kopeeri märgistus, teine ketas tähistab ketast millest kopeeri märgistus. Kui kettad segi ajada, kirjutatakse algselt hea partitsioon üle ja hävitatakse.

GPT paigutustabeli kopeerimine:

sgdisk -R /dev/sdс /dev/sdb

Järgmisena määrake kettale juhuslik UUID (GPT jaoks).


sgdisk -G /dev/sdc

Pärast käsu täitmist peaksid partitsioonid ilmuma kettale /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 toimingu sooritamist süsteemi partitsioonid kettal /dev/sdc otsustamata, siis täidame partitsioonitabeli uuesti lugemise käsu.

sfdisk -R /dev/sdc

Kui praegused kettad kasutavad MBR-tabelit ja teave tuleb üle kanda suurematele kui 2 TB ketastele, siis uutel ketastel tuleb käsitsi luua GPT-partitsioonid, kasutades biosbooti partitsiooni. Seda juhtumit arutatakse selle artikli 2. osas.

3. Uue ketta partitsioonide lisamine massiivi

Lisame vastavatele massiividele kettapartitsioonid.

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

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

Kontrollime, kas jaotised on 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ünkroonimist.

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

Utiliidi abil saate sünkroonimisprotsessi pidevalt jälgida watch.

watch -n 2 cat /proc/mdstat

Parameeter -n määrab, milliste ajavahemike järel sekundites tuleb käsk edenemise kontrollimiseks täita.

Korrake samme 1–3 järgmise asendusketta jaoks.

Märgime igas massiivis kasutatavad teise ketta partitsioonid halvaks.

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

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

Blokeeritud seadme partitsioonide eemaldamine /dev/sdb massiividest.

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

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

Kui oleme ketta massiivist eemaldanud, näeb blokeerimisseadme teave välja selline.

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

MBR-i partitsioonitabeli kopeerimine kettalt /dev/sdс kettale /dev/sdd.

sfdisk -d /dev/sdс | sfdisk /dev/sdd

Pärast käsu täitmist peaksid partitsioonid ilmuma kettale /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  

Ketta partitsioonide lisamine massiividesse.

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

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

Kontrollime, kas jaotised on 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ünkroonimist.

[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-i installimine uutele draividele

CentOS-i jaoks:

grub2-install /dev/sdX

Debian/Ubuntu versioon:

grub-install /dev/sdX

kus X — plokiseadme täht. Sel juhul peate installima GRUBi /dev/sdc и /dev/sdd.

6. Juurpartitsiooni failisüsteemi laiend (ext4).

Uutel ketastel /dev/sdc и /dev/sdd Saadaval on 931.5 GB. Seoses sellega, et partitsioonitabel kopeeriti väiksematelt ketastelt, partitsioonid /dev/sdc2 и /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]

On vaja:

  1. Laiendage partitsiooni 2 igal kettal,
  2. Laienda massiivi md127,
  3. Laiendage PV (füüsiline maht),
  4. Laienda LV (loogilise helitugevuse) vg0-juur,
  5. Laiendage failisüsteemi.

Utiliidi kasutamine lahus laiendame osa /dev/sdc2 maksimaalse väärtuseni. Täitke käsk parted /dev/sdc (1) ja vaadake praegust partitsioonitabelit käsuga p (2).

Väiksemate ketaste asendamine suuremate ketastega Linuxis

Nagu näete, lõpeb partitsiooni 2 lõpp 240 GB-ga. Laiendame partitsiooni käsuga resizepart 2, kus 2 on jaotise (3) number. Märgime väärtuse digitaalses vormingus, näiteks 1000 GB, või kasutame ketta jagamise tähist - 100%. Kontrollime uuesti, kas partitsioonil on uus suurus (4).

Korrake ülaltoodud samme ketta puhul /dev/sdd. Pärast vaheseinte laiendamist /dev/sdc2 и /dev/sdd2 sai võrdseks 930.5 GB-ga.

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

Pärast seda laiendame massiivi md127 maksimaalselt.

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

Kontrollime, kas massiiv on laienenud. Nüüd on selle suuruseks saanud 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]

Laienduse pikendamine füüsiline maht. Enne laiendamist kontrollime PV hetkeseisu.

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

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

Laiendame PV-d järgmise käsuga.

pvresize /dev/md127

PV laienemise tulemuse kontrollimine.

[

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   ]

Laienev loogiline maht. Enne laiendamist kontrollime LV (1) hetkeseisu.

[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 lõpetatud toimingut (3).

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

Nagu näete, muutus pärast LV laiendamist hõivatud kettaruumiks 914.39 GB.

Väiksemate ketaste asendamine suuremate ketastega Linuxis

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

1. Laiendame failisüsteemi.

resize2fs /dev/mapper/vg0-root

Pärast käsu täitmist kontrollime failisüsteemi suurust.

[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

Juurfailisüsteemi maht suureneb 900 GB-ni. Pärast toimingute sooritamist saate vanad kettad eemaldada.

Juhtum 2: väiksemate ketaste asendamine suuremate ketaste vastu (üle 2 TB)

Ülesanne: Asendage praegused kettad suuremate ketastega (2 x 3TB), säilitades samal ajal teabe. Sel juhul on meil 2 x 240 GB SSD (RAID-1) ketast koos installitud süsteemiga ja 2 x 3 TB SATA ketast, millele tuleb süsteem üle kanda. Praegused kettad kasutavad MBR-i partitsioonitabelit. Kuna uute ketaste maht on suurem kui 2 TB, peavad nad kasutama GPT tabelit, kuna MBR ei tööta suuremate kui 2 TB ketastega.

Vaatame praegust ketta paigutust.

[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 kasutatavat partitsioonitabelit /dev/sda.

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

Plaadil /dev/sdb kasutatakse sarnast partitsioonitabelit. Kontrollime kasutatud kettaruumi süsteemis.

[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

Nagu näete, võtab failisüsteemi juur 204 GB. Kontrollime tarkvara RAID-massiivi hetkeseisu.

1. GPT partitsioonitabeli ja ketta partitsioonide installimine

Kontrollime ketta paigutust sektorite kaupa.

[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

Uuel 3TB kettal peame looma 3 partitsiooni:

  1. Lõik bios_grub 2 MB suurus GPT BIOS-i ühilduvuse jaoks,
  2. Sektsioon RAID-massiivi jaoks, millesse paigaldatakse /boot.
  3. RAID-massiivi partitsioon, millel see asub LV juur и LV vahetus.

Utiliidi installimine lahus meeskond yum install -y parted (CentOS-i jaoks), apt install -y parted (Debiani/Ubuntu jaoks).

Kasutamine lahus Käivitame ketta partitsioonideks järgmised käsud.

Täitke käsk parted /dev/sdc ja minge ketta paigutuse redigeerimisrežiimi.

Looge GPT partitsioonitabel.

(parted) mktable gpt

Looge 1 jaotis bios_grub sektsiooni ja seadke sellele lipp.

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

Looge partitsioon 2 ja määrake sellele lipp. Sektsiooni kasutatakse RAID-massiivi plokina ja see ühendatakse /boot.

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

Loome 3. jaotise, mida kasutatakse ka massiiviplokina, milles LVM asub.

(parted) mkpart primary 1028MiB 100% 

Sel juhul pole lippu vaja seada, kuid vajadusel saab seda määrata järgmise käsuga.

(parted) set 3 raid on

Kontrollime loodud tabelit.

(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äärame kettale uue juhusliku GUID-i.

sgdisk -G /dev/sdd

2. Esimese ketta partitsioonide eemaldamine massiividest

Massiivi oleku kontrollimine

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

Süsteem kasutab 2 massiivi: md126 (ühenduspunkt /boot) - koosneb /dev/sda1 и /dev/sdb1, md127 (LVM jaoks swap ja failisüsteemi juur) - koosneb /dev/sda2 и /dev/sdb2.

Märgime igas massiivis kasutatavad esimese ketta partitsioonid halvaks.

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

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

Blokeeritud seadme partitsioonide eemaldamine /dev/sda massiividest.

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

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

Massiivi oleku kontrollimine pärast ketta 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: 2/2 pages [8KB], 65536KB chunk

unused devices: <none>

3. Uue ketta partitsioonide lisamine massiivi

Järgmine samm on uue ketta partitsioonide lisamine massiividesse sünkroonimiseks. Vaatame ketta paigutuse hetkeseisu.

[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  

Lõik /dev/sdc1 see on bios_grub jaotist ja ei osale massiivide loomises. Massiivid kasutavad ainult /dev/sdc2 и /dev/sdc3. Lisame need jaotised vastavatesse massiividesse.

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

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

Seejärel ootame massiivi sünkroonimist.

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

Ketta partitsioonid pärast massiivi partitsioonide lisamist.

[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. Teise ketta partitsioonide eemaldamine massiividest

Märgime igas massiivis kasutatavad teise ketta partitsioonid halvaks.

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

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

Blokeeritud seadme partitsioonide eemaldamine /dev/sda massiividest.

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

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

5. Kopeerige GPT paigutustabel ja sünkroonige massiiv

GPT märgistuse tabeli kopeerimiseks kasutame utiliiti sgdisk, mis sisaldub ketta partitsioonide ja GPT tabeliga töötamise paketis - gdisk.

Paigaldamine gdisk CentOS-i jaoks:

yum install -y gdisk

Paigaldamine gdisk Debiani/Ubuntu jaoks:

apt install -y gdisk

TÄHELEPANU!: GPT jaoks esiteks ketas on näidatud mille peal kopeerige märgistus teine ketas tähistab ketast millest kopeerige märgistus. Kui kettad segi ajada, kirjutatakse algselt hea partitsioon üle ja hävitatakse.

Kopeerige GPT märgistuse tabel.

sgdisk -R /dev/sdd /dev/sdc

Ketta jaotamine pärast tabeli kettale ülekandmist /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  

Järgmisena lisame kõik tarkvara RAID-massiivides osalevad partitsioonid.

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

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

Ootame massiivi sünkroonimist.

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

Pärast GPT-partitsiooni kopeerimist teisele uuele kettale näeb partitsioon välja selline.

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

Järgmisena installige uutele ketastele GRUB.

CentOS-i installimine:

grub2-install /dev/sdX

Installimine Debiani/Ubuntu jaoks:

grub-install /dev/sdX

kus X — draivitäht, meie puhul draivid /dev/sdc и /dev/sdd.

Uuendame massiivi teavet.

CentOS-i jaoks:

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

Debian/Ubuntu versioon:

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

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

Pildi värskendamine initrd:
CentOS-i jaoks:

dracut -f -v --regenerate-all

Debian/Ubuntu versioon:

update-initramfs -u -k all

Värskendame GRUB-i konfiguratsiooni.

CentOS-i jaoks:

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

Debian/Ubuntu versioon:

update-grub

Pärast toimingute sooritamist saab vanad kettad eemaldada.

6. Juurpartitsiooni failisüsteemi laiend (ext4).

Ketta jaotamine enne failisüsteemi laiendamist pärast süsteemi migreerimist 2 x 3TB kettale (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]

Nüüd lõigud /dev/sdc3 и /dev/sdd3 mahutab 2.7 TB. Kuna lõime uue kettapaigutuse GPT tabeliga, siis sai partitsiooni 3 suuruseks koheselt määratud maksimaalne võimalik kettaruum, sel juhul pole partitsiooni laiendamist vaja.

On vaja:

  1. Laienda massiivi md126,
  2. Laiendage PV (füüsiline maht),
  3. Laienda LV (loogilise helitugevuse) vg0-juur,
  4. Laiendage failisüsteemi.

1. Laiendage massiivi md126 maksimaalselt.

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

Pärast massiivi laiendamist md126 hõivatud ruumi suurus on kasvanud 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]

Laienev füüsiline maht.

Enne laiendamist kontrollige hõivatud ruumi praegust väärtust PV /dev/md126.

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

Laiendame PV-d järgmise käsuga.

pvresize /dev/md126

Kontrollime lõpetatud toimingut.

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

Laienev loogiline maht vg0-juur.

Pärast PV laiendamist kontrollime hõivatud ruumi VG-d.

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

Kontrollime LV poolt hõivatud ruumi.

[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-juurmaht võtab enda alla 206.41 GB.

Laiendame LV-d maksimaalse kettaruumini.

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

LV-ruumi kontrollimine 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

Failisüsteemi laiendamine (ext4).

Kontrollime failisüsteemi praegust suurust.

[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

Maht /dev/mapper/vg0-root võtab pärast LV laiendamist enda alla 204 GB.

Failisüsteemi laiendamine.

resize2fs /dev/mapper/vg0-root 

Failisüsteemi suuruse kontrollimine pärast selle laiendamist.

[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

Failisüsteemi suurust on suurendatud, et see kataks kogu helitugevuse.

Allikas: www.habr.com

Lisa kommentaar