Kaixo guztioi. Ikastaro talde berri baten hasieraren bezperan
Artikulu honek 2 kasu hartuko ditu kontuan diskoak ordezkatzeko eta informazioa edukiera handiagoko disko berrietara transferitzeko, array eta fitxategi sistema gehiago hedatuz. Lehenengo kasua MBR/MBR edo GPT/GPT partizio berdina duten diskoak ordezkatzeari buruzkoa izango da, bigarren kasua MBR partizioa duten diskoak 2 TB baino gehiagoko edukiera duten diskoekin ordezkatzeari buruzkoa da, eta horietan instalatu beharko duzu. GPT partizioa biosboot partizio batekin. Bi kasuetan, datuak transferitzen ditugun diskoak dagoeneko instalatuta daude zerbitzarian. Erro partiziorako erabiltzen den fitxategi-sistema ext4 da.
1. kasua: disko txikiagoak disko handiagoekin ordezkatzea (2TB arte)
Helburua: Ordeztu egungo diskoak disko handiagoekin (gehienez 2 TB) informazio transferentziarekin. Kasu honetan, 2 x 240 GB SSD (RAID-1) disko ditugu sistema instalatuta eta 2 x 1 TB SATA disko, zeinetara sistema transferitu behar den.
Ikus dezagun egungo diskoaren diseinua.
[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
Egiaztatu dezagun une honetan erabiltzen den fitxategi-sistemaren espazioa.
[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
Diskoak ordezkatu aurretik fitxategi-sistemaren tamaina 204 GB-koa da, 2 md126 software-matrize erabiltzen dira, hau da, /boot
и md127
gisa erabiltzen dena bolumen fisikoa VG taldearentzat vg0.
1. Disko partizioak arrayetatik kentzea
Array-aren egoera egiaztatzea
[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>
Sistemak 2 array erabiltzen ditu: md126
(muntatzeko puntua /boot
) - atal batez osatuta dago /dev/sda1
и /dev/sdb1
, md127
(LVMrako aldatu eta fitxategi-sistemaren erroa) - osatzen dute /dev/sda2
и /dev/sdb2
.
Array bakoitzean erabiltzen diren lehen diskoaren partizioak txartzat markatzen ditugu.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
/dev/sda blokeko gailuen partizioak arrayetatik kentzen ditugu.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Diskoa arraytik kendu ondoren, bloke gailuaren informazioa honela izango da.
[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
Diskoak kendu ondoren matrizeen egoera.
[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. Kopiatu partizio-taula disko berri batera
Erabilitako partizio-taula diskoan egiaztatu dezakezu komando honekin.
fdisk -l /dev/sdb | grep 'Disk label type'
MBRrako irteera hau izango litzateke:
Disk label type: dos
GPTrako:
Disk label type: gpt
MBRrako partizio-taula kopiatzen:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
Talde honetan lehenengo diskoa adierazten da с horietako marka kopiatzen da, bigarren - non kopiatu.
KONTUZ: GPTrako lehenengo diskoa adierazten da zeinaren gainean kopiatu markaketa, bigarrena diskoak diskoa adierazten du bertatik kopiatu markaketa. Diskoak nahasten badituzu, hasiera batean ona den partizioa gainidatzi eta suntsitu egingo da.
GPTrako diseinu-taula kopiatzen:
sgdisk -R /dev/sdс /dev/sdb
Ondoren, esleitu ausazko UUID bat diskoari (GPTrako).
sgdisk -G /dev/sdc
Komandoa exekutatu ondoren, partizioak diskoan agertu behar dira /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
Bada, ekintza egin ondoren, sistemako partizioak diskoan /dev/sdc
erabaki gabe, orduan partizio-taula berrirakurtzeko komandoa exekutatuko dugu.
sfdisk -R /dev/sdc
Uneko diskoek MBR taula erabiltzen badute eta informazioa 2 TB baino handiagoak diren diskoetara transferitu behar bada, disko berrietan eskuz GPT partizioa sortu beharko duzu biosboot partizioa erabiliz. Kasu hau artikulu honen 2. zatian aztertuko da.
3. Disko berriaren partizioak gehitzea array-ra
Gehi ditzagun disko-partizioak dagozkien arrayetara.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2
Atalak gehitu direla egiaztatzen dugu.
[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
Horren ostean, arrayak sinkronizatzeko itxarongo dugu.
[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>
Sinkronizazio-prozesua etengabe kontrola dezakezu utilitatea erabiliz watch
.
watch -n 2 cat /proc/mdstat
Parametroa -n
aurrerapena egiaztatzeko komandoa segundotan zein tartetan exekutatu behar den zehazten du.
Errepikatu 1 - 3 urratsak hurrengo ordezko diskorako.
Array bakoitzean erabiltzen diren bigarren diskoaren partizioak txartzat markatzen ditugu.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Bloke-gailuen partizioak kentzea /dev/sdb
arrayetatik.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
Diskoa arraytik kendu ondoren, bloke gailuaren informazioa honela izango da.
[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
Diskoak kendu ondoren matrizeen egoera.
[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 partizio-taula diskotik kopiatzen /dev/sdс
diskora /dev/sdd
.
sfdisk -d /dev/sdс | sfdisk /dev/sdd
Komandoa exekutatu ondoren, partizioak diskoan agertu behar dira /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
Disko partizioak gehitzea arrayetan.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2
Atalak gehitu direla egiaztatzen dugu.
[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]
Horren ostean, arrayak sinkronizatzeko itxarongo dugu.
[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 instalatzea disko berrietan
CentOSerako:
grub2-install /dev/sdX
Debian/Ubunturako:
grub-install /dev/sdX
non X
— bloke-gailuaren letra. Kasu honetan, GRUB instalatu behar duzu /dev/sdc
и /dev/sdd
.
6. Erro partizioaren fitxategi-sistemaren luzapena (ext4).
Disko berrietan /dev/sdc
и /dev/sdd
931.5 GB eskuragarri. Izan ere, partizio-taula disko txikiagoetatik kopiatu zen, partizioak /dev/sdc2
и /dev/sdd2
222.5 GB eskuragarri.
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]
Beharrezkoa da:
- Zabaldu 2. partizioa disko bakoitzean,
- Zabaldu array md127,
- Zabaldu PV (bolumen fisikoa),
- Zabaldu LV (bolumen logikoa) vg0-root,
- Zabaldu fitxategi-sistema.
Utilitatea erabiliz parted zabal dezagun atala /dev/sdc2
gehienezko balioraino. Exekutatu komandoa parted /dev/sdc
(1) eta ikusi uneko partizio-taula komandoarekin p
(2).
Ikus dezakezunez, 2. partizioaren amaiera 240 GBtan amaitzen da. Zabal dezagun partizioa komandoarekin resizepart
2
, non 2 atalaren (3) kopurua den. Balioa formatu digitalean adierazten dugu, adibidez 1000 GB, edo diskoaren partekatzearen adierazlea erabili -% 100. Berriro egiaztatzen dugu partizioak tamaina berria duela (4).
Errepikatu goiko urratsak diskorako /dev/sdd
. Partizioak zabaldu ondoren /dev/sdc2
и /dev/sdd2
930.5 GB-ren berdina bihurtu zen.
[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]
Honen ostean array zabaltzen dugu md127 gehienez.
mdadm --grow /dev/md127 --size=max
Array-a zabaldu dela egiaztatzen dugu. Orain bere tamaina 930.4 GB bihurtu da.
[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]
Luzapena luzatzea bolumen fisikoa. Zabaldu aurretik, egiaztatu dezagun PVren egungo egoera.
[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 ]
Ikus daitekeenez, PV /dev/md127
222.4 GB-ko espazioa erabiltzen du.
PV zabaltzen dugu hurrengo komandoarekin.
pvresize /dev/md127
PV hedapenaren emaitza egiaztatzea.
[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 ]
Zabaltzen bolumen logikoa. Zabaldu aurretik, egiazta dezagun LVren egungo egoera (1).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<206,41 GiB] inherit
LV /dev/vg0/root
206.41 GB erabiltzen ditu.
LV zabaltzen dugu hurrengo komandoarekin (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
Egindako ekintza egiaztatzen dugu (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Ikus dezakezunez, LV zabaldu ondoren, okupatutako diskoko espazioaren kopurua 914.39 GB bihurtu zen.
LV bolumena handitu egin da (4), baina fitxategi-sistemak 204 GB okupatzen ditu oraindik (5).
1. Zabal dezagun fitxategi-sistema.
resize2fs /dev/mapper/vg0-root
Komandoa exekutatu ondoren, fitxategi-sistemaren tamaina egiaztatuko dugu.
[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
Erro fitxategi-sistemaren tamaina 900 GB-ra igoko da. Urratsak amaitu ondoren, disko zaharrak kendu ditzakezu.
2. kasua: disko txikiagoak disko handiagoekin ordezkatzea (2TB baino gehiago)
Ariketa: Ordeztu uneko diskoak disko handiagoekin (2 x 3TB), informazioa gordez. Kasu honetan, 2 x 240 GB SSD (RAID-1) disko ditugu sistema instalatuta eta 2 x 3 TB SATA disko, zeinetara sistema transferitu behar den. Uneko diskoek MBR partizio-taula erabiltzen dute. Disko berriek 2 TB baino gehiagoko edukiera dutenez, GPT taula bat erabili beharko dute, MBR-k ezin baitu funtzionatu 2 TB baino handiagoak diren diskoekin.
Ikus dezagun egungo diskoaren diseinua.
[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
Egiaztatu dezagun diskoan erabiltzen den partizio-taula /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
Diskoan /dev/sdb
antzeko partizio-taula erabiltzen da. Egiaztatu dezagun sisteman erabilitako disko-lekua.
[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
Ikus dezakezunez, fitxategi sistemaren erroak 204 GB hartzen ditu. Egiaztatu dezagun software RAID array-aren uneko egoera.
1. GPT partizio-taula eta disko-partizioa instalatzea
Egiaztatu dezagun diskoaren diseinua sektoreka.
[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
3TB disko berrian 3 partizio sortu beharko ditugu:
- atala
bios_grub
2 MiB tamaina GPT BIOS bateragarrirako, - Bertan muntatuko den RAID arrayaren partizioa
/boot
. - egongo den RAID arrayaren partizioa LV erroa и LV trukea.
Utilitatea instalatzea parted taldeak yum install -y parted
(CentOS-erako), apt install -y parted
(Debian/Ubunturako).
Erabiltzea parted Exekutatu ditzagun komando hauek diskoa partitzeko.
Exekutatu komandoa parted /dev/sdc
eta joan diskoaren diseinua editatzeko modura.
Sortu GPT partizio-taula bat.
(parted) mktable gpt
Sortu 1 atal bios_grub
atala eta ezarri hari bandera bat.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
Sortu 2. partizioa eta ezarri harentzat bandera. Partizioa RAID array baterako bloke gisa erabiliko da eta bertan muntatuko da /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
3. atal bat sortzen dugu, LVM kokatuko den array bloke gisa ere erabiliko dena.
(parted) mkpart primary 1028MiB 100%
Kasu honetan, ez da beharrezkoa bandera ezartzea, baina beharrezkoa bada, hurrengo komandoarekin ezar daiteke.
(parted) set 3 raid on
Sortutako taula egiaztatzen dugu.
(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
Ausazko GUID berri bat esleitzen diogu diskoari.
sgdisk -G /dev/sdd
2. Lehenengo diskoaren partizioak arrayetatik kentzea
Array-aren egoera egiaztatzea
[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>
Sistemak 2 array erabiltzen ditu: md126 (muntatze puntua /boot) - osatzen dute /dev/sda1
и /dev/sdb1
, md127
(LVMrako swap
eta fitxategi-sistemaren erroa) - osatzen dute /dev/sda2
и /dev/sdb2
.
Array bakoitzean erabiltzen diren lehen diskoaren partizioak txartzat markatzen ditugu.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Bloke-gailuen partizioak kentzea /dev/sda
arrayetatik.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Diskoa kendu ondoren array-aren egoera egiaztatzea.
[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. Disko berriaren partizioak gehitzea array-ra
Hurrengo urratsa disko berriaren partizioak gehitzea da sinkronizaziorako matrizei. Ikus dezagun diskoaren diseinuaren egungo egoera.
[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
atala /dev/sdc1
da bios_grub
atalean eta ez da matrizeen sorreran parte hartzen. Arrayak bakarrik erabiliko dira /dev/sdc2
и /dev/sdc3
. Atal hauek dagozkien arrayetara gehitzen ditugu.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
Ondoren, array sinkronizatu arte itxarongo dugu.
[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>
Diskoaren partizioa arrayari partizioak gehitu ondoren.
[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. Bigarren diskoaren partizioak arrayetatik kentzea
Array bakoitzean erabiltzen diren bigarren diskoaren partizioak txartzat markatzen ditugu.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Bloke-gailuen partizioak kentzea /dev/sda
arrayetatik.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. Kopiatu GPT diseinu-taula eta sinkronizatu array
GPT markatze-taula kopiatzeko utilitatea erabiliko dugu sgdisk
, disko partizioekin eta GPT taula batekin lan egiteko paketean sartzen dena - gdisk
.
Instalazio- gdisk
CentOSerako:
yum install -y gdisk
Instalazio- gdisk
Debian/Ubunturako:
apt install -y gdisk
KONTUZ: GPTrako lehenengo diskoa adierazten da zeinaren gainean kopiatu marka, bigarrena diskoak diskoa adierazten du bertatik kopiatu marka. Diskoak nahasten badituzu, hasiera batean ona den partizioa gainidatzi eta suntsitu egingo da.
Kopiatu GPT markaketa taula.
sgdisk -R /dev/sdd /dev/sdc
Diskoaren partizioa taula bat diskora transferitu ondoren /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
Ondoren, software RAID arrayetan parte hartzen duten partizio bakoitza gehitzen dugu.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
Array-a sinkronizatzeko zain gaude.
[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>
GPT partizioa bigarren disko berrian kopiatu ondoren, partizioak itxura hau izango du.
[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]
Ondoren, instalatu GRUB disko berrietan.
CentOSerako instalazioa:
grub2-install /dev/sdX
Debian/Ubunturako instalazioa:
grub-install /dev/sdX
non X
— drive letter, gure kasuan drives /dev/sdc
и /dev/sdd
.
Array-ari buruzko informazioa eguneratzen dugu.
CentOSerako:
mdadm --detail --scan --verbose > /etc/mdadm.conf
Debian/Ubunturako:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Irudia eguneratzen initrd
:
CentOSerako:
dracut -f -v --regenerate-all
Debian/Ubunturako:
update-initramfs -u -k all
GRUB konfigurazioa eguneratzen dugu.
CentOSerako:
grub2-mkconfig -o /boot/grub2/grub.cfg
Debian/Ubunturako:
update-grub
Urratsak amaitu ondoren, disko zaharrak kendu daitezke.
6. Erro partizioaren fitxategi-sistemaren luzapena (ext4).
Fitxategi-sistemaren hedapenaren aurretik diskoaren partizioa sistema 2 x 3TB diskotara (RAID-1) migratu ondoren.
[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]
Orain atalak /dev/sdc3
и /dev/sdd3
2.7 TB okupatzen ditu. GPT taula batekin disko-diseinu berri bat sortu genuenez, 3. partizioaren tamaina berehala ezarri zen ahalik eta diskoko espaziorik handiena; kasu honetan, ez dago partizioa zabaldu beharrik.
Beharrezkoa da:
- Zabaldu array md126,
- Zabaldu PV (bolumen fisikoa),
- Zabaldu LV (bolumen logikoa) vg0-root,
- Zabaldu fitxategi-sistema.
1. Zabaldu matrizea md126
gehienez.
mdadm --grow /dev/md126 --size=max
Array hedapenaren ondoren md126
okupatutako espazioaren tamaina 2.7 TBra igo da.
[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]
Zabaltzen bolumen fisikoa.
Zabaldu aurretik, egiaztatu okupatutako espazioaren egungo balioa PV /dev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
PV zabaltzen dugu hurrengo komandoarekin.
pvresize /dev/md126
Egindako ekintza egiaztatzen dugu.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
Zabaltzen bolumen logikoa vg0-root.
PV zabaldu ondoren, egiaztatu dezagun okupatutako VG espazioa.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
Ikus dezagun LVk hartzen duen espazioa.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi-ao---- <206,41g
swap vg0 -wi-ao---- <16,00g
vg0-root bolumenak 206.41 GB okupatzen ditu.
LV diskoaren gehienezko espaziora zabaltzen dugu.
lvextend -l +100%FREE /dev/mapper/vg0-root
Hedatu ondoren LV espazioa egiaztatzea.
[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
Fitxategi-sistema zabaltzea (ext4).
Egiaztatu dezagun fitxategi-sistemaren uneko tamaina.
[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
/dev/mapper/vg0-root bolumenak 204 GB okupatzen ditu LV hedapenaren ondoren.
Fitxategi-sistema zabaltzea.
resize2fs /dev/mapper/vg0-root
Zabaldu ondoren fitxategi-sistemaren tamaina egiaztatzea.
[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
Fitxategi-sistemaren tamaina handitu da bolumen osoa estaltzeko.
Iturria: www.habr.com