Vervang kleiner skywe met groter skywe in Linux

Hi almal. Op die vooraand van die begin van 'n nuwe kursusgroep "Linux Administrateur" Ons publiseer nuttige materiaal geskryf deur ons student, sowel as kursusmentor, tegniese ondersteuningspesialis vir REG.RU korporatiewe produkte - Roman Travin.

Hierdie artikel sal 2 gevalle van die vervanging van skywe en die oordrag van inligting na nuwe skywe met groter kapasiteit oorweeg met verdere uitbreiding van die skikking en lêerstelsel. Die eerste geval gaan oor die vervanging van skywe met dieselfde MBR/MBR of GPT/GPT partisionering, die tweede geval handel oor die vervanging van skywe met MBR partisionering met skywe met 'n kapasiteit van meer as 2 TB, waarop jy sal moet installeer 'n GPT-partisie met 'n biosboot-partisie. In beide gevalle is die skywe waarna ons die data oordra reeds op die bediener geïnstalleer. Die lêerstelsel wat vir die wortelpartisie gebruik word, is ext4.

Geval 1: Vervanging van kleiner skywe met groter skywe (tot 2TB)

'N Taak: Vervang huidige skywe met groter skywe (tot 2 TB) met inligtingoordrag. In hierdie geval het ons 2 x 240 GB SSD (RAID-1)-skywe met die stelsel geïnstalleer en 2 x 1 TB SATA-skywe waarna die stelsel oorgedra moet word.

Kom ons kyk na die huidige skyfuitleg.

[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  

Kom ons kyk na die lêerstelselspasie wat tans gebruik word.

[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

Die grootte van die lêerstelsel voor die vervanging van skywe is 204 GB, 2 md126 sagteware skikkings word gebruik, wat gemonteer is in /boot и md127, wat gebruik word as fisiese volume vir VG groep vg0.

1. Verwydering van skyfpartisies van skikkings

Kontroleer die toestand van die skikking

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

Die stelsel gebruik 2 skikkings: md126 (monteerpunt /boot) - bestaan ​​uit 'n afdeling /dev/sda1 и /dev/sdb1, md127 (LVM vir ruil en die wortel van die lêerstelsel) - bestaan ​​uit /dev/sda2 и /dev/sdb2.

Ons merk die partisies van die eerste skyf wat in elke skikking gebruik word as sleg.

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

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

Ons verwyder die /dev/sda blok toestel partisies uit die skikkings.

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

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

Nadat ons die skyf uit die skikking verwyder het, sal die bloktoestelinligting so lyk.

[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  

Toestand van skikkings na die verwydering van skywe.

[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. Kopieer die partisietabel na 'n nuwe skyf

U kan die gebruikte partisietabel op die skyf nagaan met die volgende opdrag.

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

Die uitset vir MBR sal wees:

Disk label type: dos

vir GPT:

Disk label type: gpt

Kopieer die partisietabel vir MBR:

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

In hierdie span eerste skyf word aangedui с waarvan die opmaak word gekopieer, tweede - waar kopieer.

VERSIGTIG: Vir GPT eerste skyf word aangedui waarop kopieer opmaak tweede skyf dui die skyf aan waaruit kopieer opmaak. As jy die skywe meng, sal die aanvanklik goeie partisie oorskryf en vernietig word.

Kopieer die uitlegtabel vir GPT:

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

Ken dan 'n ewekansige UUID aan die skyf toe (vir GPT).


sgdisk -G /dev/sdc

Nadat die opdrag uitgevoer is, moet die partisies op die skyf verskyn /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  

As, nadat die aksie uitgevoer is, die partisies in die stelsel op die skyf /dev/sdc onbeslis, dan voer ons die opdrag uit om die partisietabel te herlees.

sfdisk -R /dev/sdc

As die huidige skywe die MBR-tabel gebruik en inligting moet oorgedra word na skywe groter as 2 TB, dan sal jy op nuwe skywe met die hand GPT-partisionering moet skep deur die biosboot-partisie te gebruik. Hierdie saak sal in Deel 2 van hierdie artikel bespreek word.

3. Voeg partisies van die nuwe skyf by die skikking

Kom ons voeg skyfpartisies by die ooreenstemmende skikkings.

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

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

Ons kyk of die afdelings bygevoeg is.

[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  

Hierna wag ons vir die skikkings om te sinchroniseer.

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

U kan die sinchronisasieproses deurlopend monitor deur die hulpprogram te gebruik watch.

watch -n 2 cat /proc/mdstat

Parameter -n spesifiseer met watter intervalle in sekondes die opdrag uitgevoer moet word om vordering na te gaan.

Herhaal stappe 1 - 3 vir die volgende vervangingsskyf.

Ons merk die partisies van die tweede skyf wat in elke skikking gebruik word as sleg.

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

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

Verwyder blok toestel partisies /dev/sdb van skikkings.

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

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

Nadat ons die skyf uit die skikking verwyder het, sal die bloktoestelinligting so lyk.

[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  

Toestand van skikkings na die verwydering van skywe.

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

Kopieer die MBR-partisietabel vanaf die skyf /dev/sdс skyf toe /dev/sdd.

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

Nadat die opdrag uitgevoer is, moet die partisies op die skyf verskyn /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  

Voeg skyfpartisies by skikkings.

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

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

Ons kyk of die afdelings bygevoeg is.

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

Hierna wag ons vir die skikkings om te sinchroniseer.

[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. Installeer GRUB op nuwe dryf

Vir CentOS:

grub2-install /dev/sdX

By Debian/Ubuntu:

grub-install /dev/sdX

waar X - letter van die blok toestel. In hierdie geval moet jy GRUB installeer op /dev/sdc и /dev/sdd.

6. Lêerstelseluitbreiding (ext4) van die wortelpartisie

Op nuwe skywe /dev/sdc и /dev/sdd 931.5 GB beskikbaar. As gevolg van die feit dat die partisietabel van kleiner skywe gekopieer is, is die partisies /dev/sdc2 и /dev/sdd2 222.5 GB beskikbaar.

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]

Dit is nodig:

  1. Brei partisie 2 op elk van die skywe uit,
  2. Brei skikking md127 uit,
  3. Brei PV uit (fisiese volume),
  4. Brei LV (logiese volume) vg0-root uit,
  5. Brei die lêerstelsel uit.

Die gebruik van die nut geskei kom ons brei die afdeling uit /dev/sdc2 tot die maksimum waarde. Voer die opdrag uit parted /dev/sdc (1) en bekyk die huidige partisietabel met die opdrag p (2).

Vervang kleiner skywe met groter skywe in Linux

Soos u kan sien, eindig die einde van partisie 2 op 240 GB. Kom ons brei die partisie uit met die opdrag resizepart 2, waar 2 die nommer van afdeling (3) is. Ons dui die waarde in digitale formaat aan, byvoorbeeld 1000 GB, of gebruik die aanduiding van die skyfaandeel - 100%. Ons kyk weer dat die partisie die nuwe grootte (4) het.

Herhaal die bogenoemde stappe vir die skyf /dev/sdd. Na die uitbreiding van partisies /dev/sdc2 и /dev/sdd2 gelyk aan 930.5 GB geword het.

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

Hierna brei ons die skikking uit md127 tot die maksimum.

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

Ons kyk of die skikking uitgebrei het. Nou het sy grootte 930.4 GB geword.

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

Verleng die uitbreiding fisiese volume. Voordat ons uitbrei, kom ons kyk na die huidige toestand van die PV.

[root@localhost ~]# pvscan
  PV /dev/md127   VG vg0             lvm2 [222,40 GiB / 0    free]
  Total: 1 [222,40 GiB] / in use: 1 [222,40 GiB] / in no VG: 0 [0   ]

Soos gesien kan word, het PV /dev/md127 gebruik 222.4 GB spasie.

Ons brei PV uit met die volgende opdrag.

pvresize /dev/md127

Kontroleer die resultaat van PV-uitbreiding.

[

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   ]

Brei uit logiese volume. Voordat ons uitbrei, kom ons kyk na die huidige toestand van LV (1).

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

LV /dev/vg0/root gebruik 206.41 GB.

Ons brei LV uit met die volgende opdrag (2).

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

Ons kontroleer die voltooide aksie (3).

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

Soos u kan sien, het die hoeveelheid besette skyfspasie 914.39 GB geword nadat u LV uitgebrei het.

Vervang kleiner skywe met groter skywe in Linux

Die LV-volume het toegeneem (4), maar die lêerstelsel beslaan steeds 204 GB (5).

1. Kom ons brei die lêerstelsel uit.

resize2fs /dev/mapper/vg0-root

Nadat die opdrag uitgevoer is, gaan ons die grootte van die lêerstelsel na.

[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

Die grootte van die wortellêerstelsel sal tot 900 GB toeneem. Nadat u die stappe voltooi het, kan u die ou skywe verwyder.

Geval 2: Vervanging van kleiner skywe met groter skywe (meer as 2 TB)

Kader: Vervang die huidige skywe met groter skywe (2 x 3TB) terwyl die inligting bewaar word. In hierdie geval het ons 2 x 240 GB SSD (RAID-1)-skywe met die stelsel geïnstalleer en 2 x 3 TB SATA-skywe waarna die stelsel oorgedra moet word. Huidige skywe gebruik die MBR partisie tabel. Aangesien nuwe skywe 'n kapasiteit groter as 2 TB het, sal hulle 'n GPT-tabel moet gebruik, aangesien MBR nie met skywe groter as 2 TB kan werk nie.

Kom ons kyk na die huidige skyfuitleg.

[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  

Kom ons kyk na die partisietabel wat op die skyf gebruik word /dev/sda.

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

Op skyf /dev/sdb 'n soortgelyke partisietabel word gebruik. Kom ons kyk na die gebruikte skyfspasie op die stelsel.

[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

Soos u kan sien, neem die wortel van die lêerstelsel 204 GB op. Kom ons kyk na die huidige toestand van die sagteware RAID-skikking.

1. Installering van 'n GPT partisie tabel en skyf partisionering

Kom ons kyk na die skyfuitleg volgens sektor.

[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

Op die nuwe 3TB-skyf sal ons 3 partisies moet skep:

  1. artikel bios_grub 2MiB grootte vir GPT BIOS verenigbaarheid,
  2. Die partisie vir die RAID-skikking waarin gemonteer sal word /boot.
  3. Die partisie vir die RAID-skikking waarop daar sal wees LV wortel и LV ruil.

Die installering van die hulpprogram geskei per span yum install -y parted (vir CentOS), apt install -y parted (vir Debian/Ubuntu).

Die gebruik van geskei Kom ons voer die volgende opdragte uit om die skyf te partisieer.

Voer die opdrag uit parted /dev/sdc en gaan na skyfuitleg redigeermodus.

Skep 'n GPT partisie tabel.

(parted) mktable gpt

Skep 1 afdeling bios_grub afdeling en stel 'n vlag daarvoor.

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

Skep partisie 2 en stel 'n vlag daarvoor. Die partisie sal as 'n blok vir 'n RAID-skikking gebruik word en in gemonteer word /boot.

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

Ons skep partisie 3, wat ook gebruik sal word as 'n skikkingsblok waarin LVM geleë sal wees.

(parted) mkpart primary 1028MiB 100% 

In hierdie geval is dit nie nodig om die vlag te stel nie, maar indien nodig, kan dit met die volgende opdrag gestel word.

(parted) set 3 raid on

Ons kyk na die geskepde tabel.

(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

Ons ken 'n nuwe ewekansige GUID aan die skyf toe.

sgdisk -G /dev/sdd

2. Verwydering van partisies van die eerste skyf uit skikkings

Kontroleer die toestand van die skikking

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

Die stelsel gebruik 2 skikkings: md126 (mount point /boot) - bestaan ​​uit /dev/sda1 и /dev/sdb1, md127 (LVM vir swap en die wortel van die lêerstelsel) - bestaan ​​uit /dev/sda2 и /dev/sdb2.

Ons merk die partisies van die eerste skyf wat in elke skikking gebruik word as sleg.

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

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

Verwyder blok toestel partisies /dev/sda van skikkings.

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

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

Kontroleer die toestand van die skikking nadat die skyf verwyder is.

[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. Voeg partisies van die nuwe skyf by die skikking

Die volgende stap is om partisies van die nuwe skyf by die skikkings te voeg vir sinchronisasie. Kom ons kyk na die huidige stand van skyfuitleg.

[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  

artikel /dev/sdc1 is bios_grub afdeling en is nie betrokke by die skep van skikkings nie. Die skikkings sal slegs gebruik /dev/sdc2 и /dev/sdc3. Ons voeg hierdie afdelings by die ooreenstemmende skikkings.

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

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

Dan wag ons vir die skikking om te sinchroniseer.

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

Skyfuitleg nadat partisies by die skikking gevoeg is.

[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. Verwydering van partisies van die tweede skyf uit skikkings

Ons merk die partisies van die tweede skyf wat in elke skikking gebruik word as sleg.

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

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

Verwyder blok toestel partisies /dev/sda van skikkings.

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

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

5. Kopieer die GPT-uitlegtabel en sinchroniseer die skikking

Om die GPT-opmerktabel te kopieer, sal ons die nut gebruik sgdisk, wat by die pakket ingesluit is om met skyfpartisies en 'n GPT-tabel te werk - gdisk.

installasie gdisk vir CentOS:

yum install -y gdisk

installasie gdisk vir Debian/Ubuntu:

apt install -y gdisk

VERSIGTIG: Vir GPT eerste skyf word aangedui waarop kopieer die opmaak tweede skyf dui die skyf aan waaruit kopieer die opmaak. As jy die skywe meng, sal die aanvanklik goeie partisie oorskryf en vernietig word.

Kopieer die GPT-opmerktabel.

sgdisk -R /dev/sdd /dev/sdc

Skyfpartisionering nadat 'n tabel na skyf oorgedra is /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  

Vervolgens voeg ons elkeen van die partisies by wat aan sagteware RAID-skikkings deelneem.

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

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

Ons wag vir die skikking om te sinchroniseer.

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

Nadat die GPT-partisie na die tweede nuwe skyf gekopieer is, sal die partisie so lyk.

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

Installeer dan GRUB op die nuwe skywe.

Installasie vir CentOS:

grub2-install /dev/sdX

Installasie vir Debian/Ubuntu:

grub-install /dev/sdX

waar X - dryfletter, in ons geval dryf /dev/sdc и /dev/sdd.

Ons werk inligting oor die skikking op.

Vir CentOS:

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

By Debian/Ubuntu:

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

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

Dateer tans die prent op initrd:
Vir CentOS:

dracut -f -v --regenerate-all

By Debian/Ubuntu:

update-initramfs -u -k all

Ons werk die GRUB-konfigurasie op.

Vir CentOS:

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

By Debian/Ubuntu:

update-grub

Nadat u die stappe voltooi het, kan die ou skywe verwyder word.

6. Lêerstelseluitbreiding (ext4) van die wortelpartisie

Skyfpartisionering voor lêerstelseluitbreiding na migreer van die stelsel na 2 x 3TB-skywe (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]

Nou afdelings /dev/sdc3 и /dev/sdd3 beslaan 2.7 TB. Aangesien ons 'n nuwe skyfuitleg met 'n GPT-tabel geskep het, is die grootte van partisie 3 onmiddellik op die maksimum moontlike skyfspasie gestel; in hierdie geval is dit nie nodig om die partisie uit te brei nie.

Dit is nodig:

  1. Brei skikking md126 uit,
  2. Brei PV uit (fisiese volume),
  3. Brei LV (logiese volume) vg0-root uit,
  4. Brei die lêerstelsel uit.

1. Brei die skikking uit md126 tot die maksimum.

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

Na skikking uitbreiding md126 die grootte van die besette ruimte het toegeneem tot 2.7 TB.

[root@localhost ~]# lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda              8:0    0 223,6G  0 disk  
sdb              8:16   0 223,6G  0 disk  
sdc              8:32   0   2,7T  0 disk  
├─sdc1           8:33   0     2M  0 part  
├─sdc2           8:34   0     1G  0 part  
│ └─md127        9:127  0  1023M  0 raid1 /boot
└─sdc3           8:35   0   2,7T  0 part  
  └─md126        9:126  0   2,7T  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]
sdd              8:48   0   2,7T  0 disk  
├─sdd1           8:49   0     2M  0 part  
├─sdd2           8:50   0     1G  0 part  
│ └─md127        9:127  0  1023M  0 raid1 /boot
└─sdd3           8:51   0   2,7T  0 part  
  └─md126        9:126  0   2,7T  0 raid1 
    ├─vg0-root 253:0    0 206,4G  0 lvm   /
    └─vg0-swap 253:1    0    16G  0 lvm   [SWAP]

Brei uit fisiese volume.

Voordat u uitbrei, kontroleer die huidige waarde van die besette ruimte PV /dev/md126.

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

Ons brei PV uit met die volgende opdrag.

pvresize /dev/md126

Ons kontroleer die voltooide aksie.

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

Brei uit logiese volume vg0-root.

Nadat ons PV uitgebrei het, kom ons kyk na die besette ruimte VG.

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

Kom ons kyk na die spasie wat LV beset.

[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            

Die vg0-wortelvolume beslaan 206.41 GB.

Ons brei LV uit na die maksimum skyfspasie.

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

Kontroleer die LV-spasie na uitbreiding.

[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

Brei die lêerstelsel uit (ext4).

Kom ons kyk na die huidige grootte van die lêerstelsel.

[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

Die volume /dev/mapper/vg0-root beslaan 204 GB na LV-uitbreiding.

Brei die lêerstelsel uit.

resize2fs /dev/mapper/vg0-root 

Kontroleer die grootte van die lêerstelsel nadat dit uitgebrei is.

[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

Die lêerstelselgrootte is vergroot om die hele volume te dek.

Bron: will.com

Voeg 'n opmerking