Hej alla. Inför starten av den nya kursgruppen publicerar vi nyttigt material skrivet av vĂ„r student samt mentor pĂ„ kurserna, specialist inom teknisk support för företagsprodukter REG.RU â Roman Travin.
I den hÀr artikeln kommer vi att gÄ igenom 2 fall av diskbyte och överföring av information till nya större diskar med vidare utvidgning av arrayen och filsystemet. Det första fallet handlar om byte av diskar med samma partitionering MBR/MBR eller GPT/GPT, det andra fallet handlar om byte av diskar med MBR-partitionering mot diskar med mer Àn 2 TB, dÀr GPT-partitionering med biosboot-partition krÀvs. I bÄda fallen Àr diskarna som vi överför data till redan installerade i server. Filsystemet som anvÀnds för root-partitionen Àr ext4.
Fall 1: Byta ut mindre diskar mot större diskar (upp till 2TB)
Uppgift: Byt ut nuvarande diskar mot större diskar (upp till 2 TB) med överföring av information. HÀr har vi diskar 2 x 240 GB SSD (RAID-1) med installerat system och diskar 2 x 1 TB SATA, dit systemet ska överföras.
LÄt oss titta pÄ den aktuella partitioneringen av diskarna.
[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 Vi kontrollerar det anvÀnda utrymmet pÄ filsystemet just nu.
[root@localhost ~]# df -h
Filsystem Storlek AnvĂ€nt Ă
terstÄende AnvÀnt% Monterat pÄ
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 Storleken pÄ filsystemet innan diskbytet Àr 204 GB, 2 programvaruarayer md126 anvÀnds, som Àr monterade pÄ /boot och md127, som anvÀnds som fysiskt volym för VG-gruppen vg0.
1. Ta bort partitionerna frÄn diskarna i arrayerna
Kontrollera statusen för arrayen
[root@localhost ~]# cat /proc/mdstat
Personligheter : [raid1]
md126 : aktiv raid1 sda1[0] sdb1[1]
1047552 block super 1.2 [2/2] [UU]
bitmap: 0/1 sidor [0KB], 65536KB chunk
md127 : aktiv raid1 sda2[0] sdb2[1]
233206784 block super 1.2 [2/2] [UU]
bitmap: 0/2 sidor [0KB], 65536KB chunk
oanvĂ€nda enheter: Systemet anvĂ€nder 2 matriser: md126 (monteringspunkt /boot) â bestĂ„r av partition /dev/sda1 och /dev/sdb1, md127 (LVM för swap och rotfilsystemet) â bestĂ„r av /dev/sda2 och /dev/sdb2.
Vi markerar partitioner pÄ den första disken som anvÀnds i varje matris som misslyckade.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Vi tar bort partitionerna frÄn blockenheten /dev/sda frÄn matriserna.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2Efter att vi har tagit bort disken frÄn matrisen kommer informationen om blockenheterna att se ut som följer.
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSPUNKT
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 Status för matriserna efter att diskar har tagits bort.
[root@localhost ~]# cat /proc/mdstat
Personligheter : [raid1]
md126 : aktiv raid1 sdb1[1]
1047552 block super 1.2 [2/1] [_U]
bitmap: 0/1 sidor [0KB], 65536KB chunk
md127 : aktiv raid1 sdb2[1]
233206784 block super 1.2 [2/1] [_U]
bitmap: 1/2 sidor [4KB], 65536KB chunk
oanvÀnda enheter:2. Kopiering av partitionstabellen till en ny disk
Du kan kontrollera den anvÀnda partitionstabellen pÄ disken med följande kommando.
fdisk -l /dev/sdb | grep 'Disk label type'
Utdatan för MBR kommer att vara:
Disk label type: dosför GPT:
Disk label type: gpt Kopiering av partitionstabellen för MBR:
sfdisk -d /dev/sdb | sfdisk /dev/sdcI detta kommando första anger du disken med vars partitionering kopieras, den andra â vart kopiera.
UPPMRKSAMHET: För GPT första anger du disken dÀr partitioneringen kopieras, den andra disken anger disken frÄn vilken partitioneringen kopieras. Om du blandar ihop diskarna kommer den ursprungligen korrekta partitioneringen att skrivas över och förstöras.
Kopiering av partitionstabellen för GPT:
sgdisk -R /dev/sdc /dev/sdbDÀrefter tilldelar vi disken ett slumpmÀssigt UUID (för GPT).
sgdisk -G /dev/sdc Efter att kommandot har körts bör partitionerna dyka upp pÄ disken /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 Om partitionerna pÄ disken inte har identifierats efter att ÄtgÀrden har genomförts /dev/sdc utför kommandot för att lÀsa om partitionsignaturen.
sfdisk -R /dev/sdcOm MBR-partitionstabellen anvÀnds pÄ de aktuella diskarna och informationen behöver flyttas till diskar större Àn 2 TB, mÄste GPT-partitioner skapas manuellt pÄ de nya diskarna med hjÀlp av biosboot-partitionen. Detta fall kommer att behandlas i del 2 av denna artikel.
3. TillsÀttning av partitioner frÄn den nya disken till arrayen
Vi lÀgger till partitionerna frÄn disken i motsvarande arrayer.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2Vi kontrollerar att partitionerna har lagts till.
[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 Efter detta vÀntar vi pÄ att arrayerna ska synkroniseras.
[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: FortsÀtt övervaka synkroniseringsprocessen med hjÀlp av verktyget övervaka.
watch -n 2 cat /proc/mdstat Parameter -n angiver hur ofta, i sekunder, kommandot ska utföras för att kontrollera framsteg.
Upprepa punkterna 1â3 för den nĂ€sta bytta disken.
Markera partitionerna pÄ den andra disken som anvÀnds i varje array som misslyckade.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Ta bort partitionerna i blockenheten /dev/sdb frÄn matriser.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2Efter att vi har tagit bort disken frÄn matrisen kommer informationen om blockenheterna att se ut som följer.
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSPUNKT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 del
ââsda2 8:2 0 222,5G 0 del
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 del
ââsdb2 8:18 0 222,5G 0 del
sdc 8:32 0 931,5G 0 disk
ââsdc1 8:33 0 1G 0 del
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 222,5G 0 del
ââ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
Status för matriserna efter att diskar har tagits bort.
[root@localhost ~]# cat /proc/mdstat
Personligheter : [raid1]
md126 : aktiv raid1 sdc1[2]
1047552 block super 1.2 [2/1] [U_]
bitmap: 0/1 sidor [0KB], 65536KB chunk
md127 : aktiv raid1 sdc2[2]
233206784 block super 1.2 [2/1] [U_]
bitmap: 1/2 sidor [4KB], 65536KB chunk
anvĂ€nda enheter: Kopierar MBR-partitionstabellen frĂ„n disken /dev/sdŃ till disk /dev/sdd.
sfdisk -d /dev/sdc | sfdisk /dev/sdd Efter att kommandot har körts bör partitionerna dyka upp pÄ disken /dev/sdd.
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSPUNKT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 del
ââsda2 8:2 0 222,5G 0 del
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 del
ââsdb2 8:18 0 222,5G 0 del
sdc 8:32 0 931,5G 0 disk
ââsdc1 8:33 0 1G 0 del
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 222,5G 0 del
ââ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 del
ââsdd2 8:50 0 222,5G 0 del LĂ€gger till diskpartitioner i matriserna.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2Vi kontrollerar att partitionerna har lagts till.
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSPUNKT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 del
ââsda2 8:2 0 222,5G 0 del
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 del
ââsdb2 8:18 0 222,5G 0 del
sdc 8:32 0 931,5G 0 disk
ââsdc1 8:33 0 1G 0 del
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 222,5G 0 del
ââ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 del
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdd2 8:50 0 222,5G 0 del
ââ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]Efter detta vĂ€ntar vi pĂ„ att arrayerna ska synkroniseras.
[root@localhost ~]# cat /proc/mdstat
Personligheter : [raid1]
md126 : aktiv raid1 sdd1[3] sdc1[2]
1047552 block super 1.2 [2/2] [UU]
bitmap: 0/1 sidor [0KB], 65536KB chunk
md127 : aktiv raid1 sdd2[3] sdc2[2]
233206784 block super 1.2 [2/1] [U_]
[>....................] Äterskapande = 0.5% (1200000/233206784) avsluta=35.4min hastighet=109090K/sek
bitmap: 2/2 sidor [8KB], 65536KB chunk
anvÀnda enheter:
5. Installera GRUB pÄ nya diskar
För CentOS:
grub2-install /dev/sdXFör Debian/Ubuntu:
grub-install /dev/sdX w X â bokstav för blockenheten. I detta fall mĂ„ste GRUB installeras pĂ„ /dev/sdc och /dev/sdd.
6. Utvidgning av filsystemet (ext4) pÄ rotpartitionen
PÄ nya diskar /dev/sdc och /dev/sdd finns 931,5 GB tillgÀngligt. Eftersom partitionstabellen kopierades frÄn disk med mindre kapacitet, Àr det pÄ partitionerna /dev/sdc2 och /dev/sdd2 finns 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]Behövs:
- Utvidga partition 2 pÄ varje disk,
- Utvidga arrayen md127,
- Utvidga PV (physical volume),
- Utvidga LV (logical-volume) vg0-root,
- Utvidga filsystemet.
Genom att anvÀnda verktyget parted utvidgar vi partitionen /dev/sdc2 till maximalt vÀrde. Vi kör kommandot parted /dev/sdc (1) och granskar den aktuella partitionstabellen med kommandot p (2).

Som syns slutar partition 2 pĂ„ 240 GB. Vi utvidgar partitionen med kommandot resizepart 2, dĂ€r 2 Ă€r partitionsnumret (3). Vi anger vĂ€rdet i numeriskt format, till exempel 1000 GB, eller anvĂ€nder en angivelse av del av disken â 100%. Vi kontrollerar Ă„terigen att partitionen har den nya storleken (4).
Vi upprepar ovanstÄende steg för disken /dev/sdd. Efter att partitionerna har utvidgats /dev/sdc2 och /dev/sdd2 har de blivit lika med 930,5 GB.
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSSTEG
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]Efter detta kör vi utvidgning av arrayen md127 till maximalt.
mdadm --grow /dev/md127 --size=maxVi kontrollerar att arrayen har utvidgats. Nu har den storleken blivit 930,4 GB.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM STORLEK RO TYPE MONTERINGSPUNKT
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]Utför utvidgning fysiskt volym. Innan utvidgningen kontrollerar vi det nuvarande tillstĂ„ndet för PV.
[root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [222,40 GiB / 0 ledig]
Totalt: 1 [222,40 GiB] / i anvÀndning: 1 [222,40 GiB] / i ingen VG: 0 [0 ]
Som vi ser anvÀnder PV /dev/md127 222,4 GB utrymme.
Vi utökar PV med följande kommando.
pvresize /dev/md127Kontrollerar resultatet av utvidgningen av PV.
[
root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [930,38 GiB / 707,98 GiB ledig]
Totalt: 1 [930,38 GiB] / i anvÀndning: 1 [930,38 GiB] / i ingen VG: 0 [0 ]Utökar logiskt volym. Innan utvidgningen kontrollerar vi det nuvarande tillstÄndet för LV (1).
[root@localhost ~]# lvscan
AKTIV '/dev/vg0/swap' [<16,00 GiB] Àrva
AKTIV '/dev/vg0/root' [<206,41 GiB] Àrva LV /dev/vg0/root anvÀnder 206,41 GB.
Vi utökar LV med följande kommando (2).
lvextend -l +100%FREE /dev/mapper/vg0-rootKontrollerar den utförda ÄtgÀrden (3).
[root@localhost ~]# lvscan
AKTIV '/dev/vg0/swap' [<16,00 GiB] Àrva
AKTIV '/dev/vg0/root' [<914,39 GiB] Àrva
Som vi ser efter utvidgningen av LV har den upptagna diskutrymmet ökat till 914,39 GB.

Volymen av LV har ökat (4), men filsystemet upptar fortfarande 204 GB (5).
1. Vi utför utvidgningen av filsystemet.
resize2fs /dev/mapper/vg0-rootKontrollerar storleken pÄ filsystemet efter det utförda kommandot.
[root@localhost ~]# df -h
Filsystem Storlek AnvÀndt Dostat AnvÀndt% Monterat i
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/0Storleken pÄ rotfilsystemet ökar till 900 GB. Efter genomförda ÄtgÀrder kan de gamla diskarna tas bort.
Fall 2: Byta ut mindre diskar mot större diskar (mer Àn 2TB)
Uppgift: Byt ut de aktuella diskarna mot diskar av större volym (2 x 3TB) och behÄll informationen. I det hÀr fallet har vi diskarna 2 x 240 GB SSD (RAID-1) med installerat system och diskarna 2 x 3 TB SATA som systemet ska flyttas till. PÄ de aktuella diskarna anvÀnds MBR-partitionering. Eftersom de nya diskarna har en volym över 2 TB, behöver vi anvÀnda GPT-partitionering, eftersom MBR inte kan hantera diskar större Àn 2 TB.
LÄt oss titta pÄ den aktuella diskinformationen.
[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 Vi kontrollerar den anvÀnda partitioneringen pÄ disken. /dev/sda.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos PÄ disken /dev/sdb anvÀnds en liknande partitionering. Vi kontrollerar det anvÀnda diskutrymmet i systemet.
[root@localhost ~]# df -h
Filsystem Storlek AnvÀnt Disponibelt Anv % Monterat pÄ
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/0Som vi kan se, tar rotfilsystemet upp 204 GB. LÄt oss kontrollera det aktuella tillstÄndet för RAID-arrayen.
1. Installera GPT-partitionering och partitionera disken.
Vi kontrollerar diskarna för sektorpÄverkan.
[root@localhost ~]# parted /dev/sda print
Modell: ATA KINGSTON SVP200S (scsi)
Disk /dev/sda: 240GB
Sektor storlek (logisk/fysisk): 512B/512B
Partitionering: msdos
Diskflaggor:
Nummer Start Slut Storlek Typ Filsystem Flaggor
1 1049kB 1076MB 1075MB primÀr bootbar, raid
2 1076MB 240GB 239GB primÀr raid
PÄ den nya 3TB-disken behöver vi skapa 3 partitioner:
- Avsnitt
bios_grubmed en storlek av 2MiB för kompatibilitet mellan GPT och BIOS. - Partition för RAID-arrayen, som kommer att monteras pÄ
/boot. - Partition för RAID-arrayen, dÀr LV root och LV swap.
Vi installerar verktyget parted med kommandot yum install -y parted (för CentOS), apt install -y parted (för Debian/Ubuntu).
Genom att anvÀnda parted utför följande kommandon för att partitionera disken.
Vi kör kommandot parted /dev/sdc och gÄr över till redigeringslÀge för partitioneringen.
Skapa en GPT-partitionstabell.
(parted) mktable gpt Skapa 1 partition bios_grub partition och sÀtt flagga för den.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on Skapa 2 partition och sÀtt flagga för den. Partitionen kommer att anvÀndas som en block för RAID-arrayen och monteras i /boot.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot onSkapa 3 partition som ocksÄ kommer att anvÀndas som en blockmassa, i vilken LVM kommer att finnas.
(parted) mkpart primary 1028MiB 100% I detta fall Àr det inte nödvÀndigt att sÀtta flaggan, men om det behövs kan den sÀttas med följande kommando.
(parted) set 3 raid onKontrollera den skapade tabellen.
(parted) p
Modell: ATA TOSHIBA DT01ACA3 (scsi)
Disk /dev/sdc: 3001GB
Sektorstorlek (logisk/fysisk): 512B/4096B
Partitionstabell: gpt
Diskflaggor:
Nummer Start Slut Storlek Filsystem Namn Flaggor
1 1049kB 3146kB 2097kB primary bios_grub
2 3146kB 1077MB 1074MB primary bootbar
3 1077MB 3001GB 3000GB primary
Tilldela disken ett nytt slumpmÀssigt GUID.
sgdisk -G /dev/sdd
2. Ta bort partitioner frÄn den första disken frÄn arrayerna
Kontrollera statusen för arrayen
[root@localhost ~]# cat /proc/mdstat
Personligheter : [raid1]
md126 : aktiv raid1 sda1[0] sdb1[1]
1047552 block super 1.2 [2/2] [UU]
bitmap: 0/1 sidor [0KB], 65536KB chunk
md127 : aktiv raid1 sda2[0] sdb2[1]
233206784 block super 1.2 [2/2] [UU]
bitmap: 0/2 sidor [0KB], 65536KB chunk
oanvĂ€nda enheter: Systemet anvĂ€nder 2 arrayer: md126 (monteringspunkt /boot) â bestĂ„r av /dev/sda1 och /dev/sdb1, md127 (LVM för swap och rotfilsystemet) â bestĂ„r av /dev/sda2 och /dev/sdb2.
Vi markerar partitioner pÄ den första disken som anvÀnds i varje matris som misslyckade.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2 Ta bort partitionerna i blockenheten /dev/sda frÄn matriser.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Kontrollera tillstÄndet för arrayen efter att ha tagit bort disken.
[root@localhost ~]# cat /proc/mdstat
Personligheter: [raid1]
md126: aktiv raid1 sdb1[1]
1047552 block super 1.2 [2/1] [_U]
bitmap: 0/1 sidor [0KB], 65536KB chunk
md127: aktiv raid1 sdb2[1]
233206784 block super 1.2 [2/1] [_U]
bitmap: 2/2 sidor [8KB], 65536KB chunk
anvÀnda enheter: <inga>
3. TillsÀttning av partitioner frÄn den nya disken till arrayen
NÀsta steg Àr att lÀgga till partitionerna frÄn den nya disken i arrayerna för synkronisering. Kontrollera det aktuella tillstÄndet för diskpartitionerna.
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSPLATS
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 Avsnitt /dev/sdc1 denna funktion ett omslag runt modulen Crypt::UnixCrypt och utgör ingen fara, men i det levererade arkivet pÄ Sourceforge anropas kod som direkt refererar till \/etc\/shadow, men gör det genom en shell-konstruktion. För att genomföra attacken rÀcker det med att ange tecknet "|" i fÀltet för det gamla lösenordet och koden efter detta kommer att köras med root-behörighet pÄ servern. bios_grub partition och deltar inte i skapandet av arrayen. I arrayerna kommer bara /dev/sdc2 och /dev/sdc3. LÀgger till dessa partitioner i motsvarande arrayer.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3Efter vilket vi vÀntar pÄ att arrayen ska synkroniseras.
[root@localhost ~]# cat /proc/mdstat
Personligheter : [raid1]
md126 : aktiv raid1 sdc2[2] sdb1[1]
1047552 block super 1.2 [2/2] [UU]
bitmap: 0/1 sidor [0KB], 65536KB chunk
md127 : aktiv raid1 sdc3[2] sdb2[1]
233206784 block super 1.2 [2/1] [_U]
[>....................] ÄterstÀllning = 0.2% (619904/233206784) avslut=31.2min hastighet=123980K/sek
bitmap: 2/2 sidor [8KB], 65536KB chunk
oanvÀnda enheter:Disklayout efter att partitioner har lagts till i arrayen.
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSPUNKT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 del
ââsda2 8:2 0 222,5G 0 del
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 del
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdb2 8:18 0 222,5G 0 del
ââ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 del
ââsdc2 8:34 0 1G 0 del
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc3 8:35 0 2,7T 0 del
ââ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. Ta bort partitioner frÄn den andra disken frÄn arrayerna
Markera partitionerna pÄ den andra disken som anvÀnds i varje array som misslyckade.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Ta bort partitionerna i blockenheten /dev/sda frÄn matriser.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. Vi kopierar GPT-partitionstabellen och synkroniserar arrayen
För att kopiera GPT-partitionstabellen anvĂ€nder vi verktyget sgdisk, som ingĂ„r i paketet för att arbeta med partitioner och GPT-tabellen â gdisk.
Installation gdisk för CentOS:
yum install -y gdisk Installation gdisk för Debian/Ubuntu:
apt install -y gdiskUPPMRKSAMHET: För GPT första anger du disken dÀr kopierar layouten, den andra disken anger disken frÄn vilken kopierar layouten. Om diskarna förvÀxlas kommer den ursprungligen korrekta layouten att skrivas över och förstöras.
Kopiera GPT-partitionstabellen.
sgdisk -R /dev/sdd /dev/sdc Disklayout efter att tabellen har överförts till disken /dev/sdd.
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSPUNKT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 del
ââsda2 8:2 0 222,5G 0 del
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 del
ââsdb2 8:18 0 222,5G 0 del
sdc 8:32 0 2,7T 0 disk
ââsdc1 8:33 0 2M 0 del
ââsdc2 8:34 0 1G 0 del
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc3 8:35 0 2,7T 0 del
ââ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 del
ââsdd2 8:50 0 1G 0 del
ââsdd3 8:51 0 2,7T 0 del DĂ€refter lĂ€gger vi till varje av partitionerna som deltar i de programvaru RAID-arrayerna.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3Vi vÀntar pÄ att arrayen ska synkroniseras.
[root@localhost ~]# cat /proc/mdstat
Personligheter : [raid1]
md126 : aktiv raid1 sdd2[3] sdc2[2]
1047552 block super 1.2 [2/2] [UU]
bitmap: 1/1 sidor [4KB], 65536KB chunk
md127 : aktiv raid1 sdd3[3] sdc3[2]
233206784 block super 1.2 [2/1] [U_]
[>....................] ÄterhÀmtning = 0,0% (148224/233206784) klart=26,2min hastighet=148224K/sek
bitmap: 2/2 sidor [8KB], 65536KB chunk
oanvÀnda enheter:Efter att ha kopierat GPT-partitionen till den andra nya disken, kommer partitionen att se ut som följer.
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSSTĂLLE
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 del
ââsda2 8:2 0 222,5G 0 del
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 del
ââsdb2 8:18 0 222,5G 0 del
sdc 8:32 0 2,7T 0 disk
ââsdc1 8:33 0 2M 0 del
ââsdc2 8:34 0 1G 0 del
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc3 8:35 0 2,7T 0 del
ââ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 del
ââsdd2 8:50 0 1G 0 del
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdd3 8:51 0 2,7T 0 del
ââ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]DĂ€refter installerar vi GRUB pĂ„ de nya diskarna.
Installation för CentOS:
grub2-install /dev/sdXInstallation för Debian/Ubuntu:
grub-install /dev/sdX w X â diskens bokstav, i vĂ„rt fall diskar /dev/sdc och /dev/sdd.
Uppdaterar informationen om matrisen.
För CentOS:
mdadm --detail --scan --verbose > /etc/mdadm.confFör Debian/Ubuntu:
echo "DEVICE partitioner" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf Uppdaterar bilden initrd:
För CentOS:
dracut -f -v --regenerate-allFör Debian/Ubuntu:
update-initramfs -u -k allUppdaterar GRUB-konfigurationen.
För CentOS:
grub2-mkconfig -o /boot/grub2/grub.cfg
För Debian/Ubuntu:
update-grubEfter utförda ÄtgÀrder kan de gamla diskarna tas ut.
6. Utvidgning av filsystemet (ext4) pÄ rotpartitionen
Partitionen av diskar före utvidgning av filsystem efter flytt av systemet till diskar 2 x 3TB (RAID-1).
[root@localhost ~]# lsblk
NAMN MAJ:MIN RM STORLEK RO TYP MONTERINGSSTĂLLE
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 del
ââsdc2 8:34 0 1G 0 del
â ââmd127 9:127 0 1023M 0 raid1 /boot
ââsdc3 8:35 0 2,7T 0 del
ââ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 del
ââsdd2 8:50 0 1G 0 del
â ââmd127 9:127 0 1023M 0 raid1 /boot
ââsdd3 8:51 0 2,7T 0 del
ââ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] Just nu upptar partitionerna 2,7 TB. Eftersom vi skapade en ny diskpartition med en GPT-tabell, sĂ„ har storleken pĂ„ 3 partitioner omedelbart angetts till den maximalt möjliga diskens utrymme, sĂ„ det behövs ingen utvidgning av partitionen i detta fall. /dev/sdc3 och /dev/sdd3 2,7 TB. Eftersom vi skapade en ny diskpartition med GPT-tabell, sĂ„ har storleken pĂ„ de 3 partitionerna omedelbart angivits till den maximala möjliga diskytan, det krĂ€vs ingen expansion av partitionen i detta fall.
Behövs:
- Utöka array md126,
- Utvidga PV (physical volume),
- Utvidga LV (logical-volume) vg0-root,
- Utvidga filsystemet.
1. Vi utökar arrayen md126 till maximalt.
mdadm --grow /dev/md126 --size=max
Efter att arrayen har utökats md126 har den allokerade storleken ökat till 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]
Utökar fysiskt volym.
Innan vi utökar, kontrollerar vi det aktuella vÀrdet av den allokerade platsen för PV /dev/md126.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0 Vi utökar PV med följande kommando.
pvresize /dev/md126
Vi kontrollerar den utförda ÄtgÀrden.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51tUtökar logiskt volym vg0-root.
Efter att ha utökat PV kontrollerar vi den allokerade platsen för VG.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51tVi kontrollerar den allokerade LV-platsen.
[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 Volymen vg0-root tar upp 206,41 GB.
Vi utökar LV till den maximala diskkapaciteten.
lvextend -l +100%FREE /dev/mapper/vg0-root Vi kontrollerar LV-utrymmet efter utvidgningen.
[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,00gVi utökar filsystemet (ext4).
Vi kontrollerar den nuvarande storleken pÄ filsystemet.
[root@localhost ~]# df -h
Filsystem Storlek AnvÀnt AnvÀnd% Monterat pÄ
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/0Volymen /dev/mapper/vg0-root tar upp 204 GB efter utvidgningen av LV.
Vi utökar filsystemet.
resize2fs /dev/mapper/vg0-root
Vi kontrollerar storleken pÄ filsystemet efter dess utvidgning.
[root@localhost ~]# df -h
Filsystem Storlek AnvĂ€ndt Ă
terstÄende AnvÀndt% Monterat pÄ
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 Filsystemets storlek har ökat till hela volymens kapacitet.
KĂ€lla: habr.com
