Баарына салам. Жацы курстун группасынын башталышынын алдында
Бул макалада дисктерди алмаштыруунун жана массивди жана файлдык системаны андан ары кеңейтүү менен маалыматты чоңураак жаңы дисктерге өткөрүп берүүнүн 2 учуру каралат. Биринчи жагдай дисктерди бир эле MBR/MBR же GPT/GPT бөлүү менен алмаштырууга тиешелүү, экинчиси MBR бөлүү менен дисктерди 2 ТБдан ашык сыйымдуулуктагы дисктерге алмаштырууга тиешелүү, ага орнотуу керек. biosboot бөлүмү менен GPT бөлүмү. Эки учурда тең, биз маалыматтарды өткөрүп жаткан дисктер серверде мурунтан эле орнотулган. Түпкү бөлүм үчүн колдонулган файл системасы ext4.
1-жагдай: Кичирээк дисктерди чоңураак дисктерге алмаштыруу (2 ТБ чейин)
Тапшырма: Учурдагы дисктерди чоңураак дисктерге (2 ТБга чейин) маалымат берүү менен алмаштырыңыз. Бул учурда, бизде тутуму орнотулган 2 x 240 ГБ SSD (RAID-1) дисктери жана системаны өткөрүү керек болгон 2 x 1 ТБ SATA дисктери бар.
Келгиле, учурдагы дисктин түзүлүшүн карап көрөлү.
[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
Учурда колдонулган файл тутумунун мейкиндигин текшерип көрөлү.
[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
Дисктерди алмаштыруудан мурун файл тутумунун көлөмү 204 ГБ, 2 md126 программалык массивдери колдонулат, алар орнотулган /boot
и md127
катары колдонулат физикалык көлөмү VG тобу үчүн vg0.
1. Массивдерден диск бөлүктөрүн алып салуу
Массивдин абалын текшерүү
[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>
Система 2 массивди колдонот: md126
(тоо чекити /boot
) - бөлүмдөн турат /dev/sda1
и /dev/sdb1
, md127
(LVM үчүн алмашуу жана файлдык системанын тамыры) - турат /dev/sda2
и /dev/sdb2
.
Ар бир массивде колдонулган биринчи дисктин бөлүмдөрүн начар деп белгилейбиз.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Биз массивдерден /dev/sda блок түзмөгүнүн бөлүктөрүн алып салабыз.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Дискти массивден алып салгандан кийин блок түзмөгүнүн маалыматы ушундай болот.
[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
Дисктерди алып салгандан кийин массивдердин абалы.
[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. Бөлүмдүн таблицасын жаңы дискке көчүрүңүз
Дисктеги колдонулган бөлүү таблицасын төмөнкү буйрук менен текшере аласыз.
fdisk -l /dev/sdb | grep 'Disk label type'
MBR үчүн чыгаруу төмөнкүдөй болот:
Disk label type: dos
GPT үчүн:
Disk label type: gpt
MBR үчүн бөлүү таблицасын көчүрүү:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
Бул командада биринчи диск көрсөтүлгөн с кимге белги көчүрүлөт, экинчи - кайда көчүрүү.
сАК БОЛУЪУЗ: GPT үчүн биринчи диск көрсөтүлгөн кайсы боюнча белгини көчүрүү экинчи диск дискти көрсөтөт кайдан белгини көчүрүү. Эгер сиз дисктерди аралаштырсаңыз, алгач жакшы болгон бөлүм кайра жазылып, жок кылынат.
GPT үчүн жайгашуу таблицасын көчүрүү:
sgdisk -R /dev/sdс /dev/sdb
Андан кийин, дискке туш келди UUID дайындаңыз (GPT үчүн).
sgdisk -G /dev/sdc
Буйрук аткарылгандан кийин, дискте бөлүмдөр пайда болушу керек /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
Эгерде иш-аракет аткарылгандан кийин, дисктеги системадагы бөлүмдөр /dev/sdc
чечкинсиз болсо, анда бөлүү таблицасын кайра окуу буйругун аткарабыз.
sfdisk -R /dev/sdc
Эгерде учурдагы дисктер MBR таблицасын колдонсо жана маалыматты 2 ТБдан чоңураак дисктерге өткөрүп берүү керек болсо, анда жаңы дисктерде biosboot бөлүмүн колдонуп GPT бөлүүнү кол менен түзүшүңүз керек болот. Бул окуя ушул макаланын 2-бөлүгүндө талкууланат.
3. Жаңы дисктин бөлүктөрүн массивге кошуу
Тиешелүү массивдерге диск бөлүктөрүн кошолу.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2
Бөлүмдөрдүн кошулганын текшеребиз.
[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
Андан кийин, массивдердин синхрондошун күтөбүз.
[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>
Утилитаны колдонуп, синхрондоштуруу процессин үзгүлтүксүз көзөмөлдөй аласыз watch
.
watch -n 2 cat /proc/mdstat
параметр -n
прогрессти текшерүү үчүн буйрук канча секунданын ичинде аткарылышы керектигин белгилейт.
Кийинки алмаштыруу диск үчүн 1 - 3 кадамдарды кайталаңыз.
Ар бир массивде колдонулган экинчи дисктин бөлүмдөрүн начар деп белгилейбиз.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Блок түзмөгүнүн бөлүктөрүн алып салуу /dev/sdb
массивдерден.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
Дискти массивден алып салгандан кийин блок түзмөгүнүн маалыматы ушундай болот.
[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
Дисктерди алып салгандан кийин массивдердин абалы.
[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 бөлүү таблицасын көчүрүү /dev/sdс
дискке /dev/sdd
.
sfdisk -d /dev/sdс | sfdisk /dev/sdd
Буйрук аткарылгандан кийин, дискте бөлүмдөр пайда болушу керек /dev/sdd
.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 1G 0 part
└─sda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1G 0 part
│ └─md126 9:126 0 1023M 0 raid1 /boot
└─sdc2 8:34 0 222,5G 0 part
└─md127 9:127 0 222,4G 0 raid1
├─vg0-root 253:0 0 206,4G 0 lvm /
└─vg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
├─sdd1 8:49 0 1G 0 part
└─sdd2 8:50 0 222,5G 0 part
Массивдерге диск бөлүктөрүн кошуу.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2
Бөлүмдөрдүн кошулганын текшеребиз.
[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]
Андан кийин, массивдердин синхрондошун күтөбүз.
[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ди жаңы дисктерге орнотуу
CentOS үчүн:
grub2-install /dev/sdX
Debian/Ubuntu үчүн:
grub-install /dev/sdX
кайда X
— блоктук түзүлүштүн тамгасы. Бул учурда, сиз GRUB орнотуу керек /dev/sdc
и /dev/sdd
.
6. Түпкү бөлүмдүн файл тутумунун кеңейтүүсү (ext4).
Жаңы дисктерде /dev/sdc
и /dev/sdd
931.5 ГБ жеткиликтүү. Бөлүм таблицасы кичине дисктерден көчүрүлгөндүктөн, бөлүмдөр /dev/sdc2
и /dev/sdd2
222.5 ГБ жеткиликтүү.
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]
зарыл:
- Дисктердин ар биринде 2-бөлүмдү кеңейтүү,
- md127 массивин кеңейтүү,
- PV кеңейтүү (физикалык көлөм),
- LV (логикалык көлөм) vg0-тамырын кеңейтүү,
- Файл системасын кеңейтүү.
Утилитаны колдонуу бөлүп бөлүмдү кеңейтели /dev/sdc2
максималдуу мааниге чейин. Буйрукту аткарыңыз parted /dev/sdc
(1) жана буйрук менен учурдагы бөлүм таблицасын көрүү p
(2).
Көрүнүп тургандай, 2-бөлүмдүн аягы 240 ГБ менен аяктайт. Келгиле, бөлүмдү буйрук менен кеңейтели resizepart
2
, мында 2 - бөлүмдүн саны (3). Биз санарип форматында маанини көрсөтөбүз, мисалы 1000 ГБ, же дисктин үлүшүнүн көрсөткүчүн колдонобуз - 100%. Бөлүмдүн жаңы өлчөмү бар экенин дагы бир жолу текшеребиз (4).
Диск үчүн жогорудагы кадамдарды кайталаңыз /dev/sdd
. Бөлүмдөрдү кеңейтүүдөн кийин /dev/sdc2
и /dev/sdd2
930.5 ГБ барабар болуп калды.
[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]
Андан кийин массивди кеңейтебиз md127 максимумга чейин.
mdadm --grow /dev/md127 --size=max
Массив кеңейгенин текшеребиз. Азыр анын көлөмү 930.4 ГБ болуп калды.
[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]
Кеңейтүүнү узартуу физикалык көлөмү. Кеңейтүүдөн мурун, келгиле, 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 ]
Көрүнүп тургандай, PV /dev/md127
222.4 ГБ мейкиндикти колдонот.
Биз төмөнкү буйрук менен PV кеңейтебиз.
pvresize /dev/md127
PV кеңейүү натыйжасын текшерүү.
[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 ]
Кеңейтүү логикалык көлөм. Кеңейтүүдөн мурун, 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
206.41 ГБ колдонот.
Биз төмөнкү буйрук менен LV кеңейтебиз (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
Аткарылган аракетти текшеребиз (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Көрүнүп тургандай, LV кеңейтилгенден кийин, ээлеген диск мейкиндигинин көлөмү 914.39 ГБ болду.
LV көлөмү көбөйдү (4), бирок файл системасы дагы эле 204 ГБ (5) ээлейт.
1. Файлдык системаны кеңейтели.
resize2fs /dev/mapper/vg0-root
Буйрук аткарылгандан кийин, биз файл тутумунун өлчөмүн текшеребиз.
[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
Тамыр файл тутумунун көлөмү 900 ГБ чейин көбөйөт. Кадамдарды аткаргандан кийин, эски дисктерди алып салсаңыз болот.
2-жагдай: Кичирээк дисктерди чоңураак дисктерге алмаштыруу (2 ТБдан ашык)
Setting: Маалыматты сактоо менен учурдагы дисктерди чоңураак дисктерге (2 x 3TB) алмаштырыңыз. Бул учурда, бизде тутуму орнотулган 2 x 240 ГБ SSD (RAID-1) дисктери жана системаны өткөрүү керек болгон 2 x 3 ТБ SATA дисктери бар. Учурдагы дисктер MBR бөлүү таблицасын колдонушат. Жаңы дисктердин сыйымдуулугу 2 ТБдан жогору болгондуктан, MBR 2 ТБдан чоңураак дисктер менен иштей албагандыктан, алар GPT таблицасын колдонушу керек болот.
Келгиле, учурдагы дисктин түзүлүшүн карап көрөлү.
[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
Дискте колдонулган бөлүү таблицасын текшерип көрөлү /dev/sda
.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos
Дискте /dev/sdb
окшош бөлүү таблицасы колдонулат. Системада колдонулган диск мейкиндигин текшерип көрөлү.
[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
Көрүнүп тургандай, файл тутумунун тамыры 204 ГБ ээлейт. Келгиле, программалык камсыздоонун RAID массивинин учурдагы абалын текшерип көрөлү.
1. GPT бөлүү таблицасын жана дискти бөлүүнү орнотуу
Дисктин түзүлүшүн секторлор боюнча текшерип көрөлү.
[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 дискте биз 3 бөлүмдү түзүшүбүз керек:
- бөлүм
bios_grub
GPT BIOS шайкештиги үчүн 2MiB өлчөмү, - Орнотула турган RAID массиви үчүн бөлүм
/boot
. - RAID массиви үчүн бөлүм боло турган LV тамыры и LV алмашуу.
Утилитаны орнотуу бөлүп команда yum install -y parted
(CentOS үчүн), apt install -y parted
(Debian/Ubuntu үчүн).
колдонуу бөлүп Дискти бөлүү үчүн төмөнкү буйруктарды аткаралы.
Буйрукту аткарыңыз parted /dev/sdc
жана дисктин жайгашуусун оңдоо режимине өтүңүз.
GPT бөлүү таблицасын түзүңүз.
(parted) mktable gpt
1 бөлүм түзүү bios_grub
бөлүм жана ага желек коюу.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on
2-бөлүм түзүңүз жана ага желек орнотуңуз. Бөлүм RAID массиви үчүн блок катары колдонулат жана ага орнотулат /boot
.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot on
Биз 3-бөлүктү түзөбүз, ал LVM жайгаша турган массив блогу катары да колдонулат.
(parted) mkpart primary 1028MiB 100%
Бул учурда, желекти коюунун кереги жок, бирок керек болсо, төмөнкү буйрук менен орнотсо болот.
(parted) set 3 raid on
Биз түзүлгөн таблицаны текшеребиз.
(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
Биз дискке жаңы кокус GUID дайындайбыз.
sgdisk -G /dev/sdd
2. Массивдерден биринчи дисктин бөлүмдөрүн алып салуу
Массивдин абалын текшерүү
[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>
Система 2 массивди колдонот: md126 (монтаждоо чекити / жүктөө) - төмөнкүлөрдөн турат /dev/sda1
и /dev/sdb1
, md127
(LVM үчүн swap
жана файлдык системанын тамыры) - турат /dev/sda2
и /dev/sdb2
.
Ар бир массивде колдонулган биринчи дисктин бөлүмдөрүн начар деп белгилейбиз.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Блок түзмөгүнүн бөлүктөрүн алып салуу /dev/sda
массивдерден.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Дискти алып салгандан кийин массивдин абалын текшерүү.
[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. Жаңы дисктин бөлүктөрүн массивге кошуу
Кийинки кадам синхрондоштуруу үчүн массивдерге жаңы дисктин бөлүктөрүн кошуу болуп саналат. Дисктин учурдагы абалын карап көрөлү.
[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
бөлүм /dev/sdc1
Ал bios_grub
бөлүм жана массивдерди түзүүгө катышпайт. Массивдер гана колдонулат /dev/sdc2
и /dev/sdc3
. Бул бөлүмдөрдү тиешелүү массивдерге кошобуз.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3
Андан кийин массив синхрондоштурууну күтөбүз.
[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>
Массивге бөлүктөрдү кошкондон кийин дискти бөлүү.
[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. Массивдерден экинчи дисктин бөлүмдөрүн алып салуу
Ар бир массивде колдонулган экинчи дисктин бөлүмдөрүн начар деп белгилейбиз.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Блок түзмөгүнүн бөлүктөрүн алып салуу /dev/sda
массивдерден.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. GPT жайгашуу таблицасын көчүрүңүз жана массивди синхрондоңуз
GPT белгилөө таблицасын көчүрүү үчүн биз утилитаны колдонобуз sgdisk
диск бөлүмдөрү жана GPT таблицасы менен иштөө үчүн пакетте камтылган - gdisk
.
жөндөө gdisk
CentOS үчүн:
yum install -y gdisk
жөндөө gdisk
Debian/Ubuntu үчүн:
apt install -y gdisk
сАК БОЛУЪУЗ: GPT үчүн биринчи диск көрсөтүлгөн кайсы боюнча белгини көчүрүү, экинчи диск дискти көрсөтөт кайдан белгини көчүрүү. Эгер сиз дисктерди аралаштырсаңыз, алгач жакшы болгон бөлүм кайра жазылып, жок кылынат.
GPT белгилөө таблицасын көчүрүңүз.
sgdisk -R /dev/sdd /dev/sdc
Таблицаны дискке өткөргөндөн кийин дискти бөлүү /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
Андан кийин, программалык камсыздоонун RAID массивдерине катышкан бөлүмдөрдүн ар бирин кошобуз.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3
Биз массив синхрондоштурууну күтүп жатабыз.
[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 бөлүмүн экинчи жаңы дискке көчүргөндөн кийин, бөлүм ушундай болот.
[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]
Андан кийин, GRUBди жаңы дисктерге орнотуңуз.
CentOS үчүн орнотуу:
grub2-install /dev/sdX
Debian/Ubuntu үчүн орнотуу:
grub-install /dev/sdX
кайда X
— айдоочу кат, биздин учурда айдайт /dev/sdc
и /dev/sdd
.
Массив тууралуу маалыматты жаңыртабыз.
CentOS үчүн:
mdadm --detail --scan --verbose > /etc/mdadm.conf
Debian/Ubuntu үчүн:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
Сүрөт жаңыртылууда initrd
:
CentOS үчүн:
dracut -f -v --regenerate-all
Debian/Ubuntu үчүн:
update-initramfs -u -k all
GRUB конфигурациясын жаңыртабыз.
CentOS үчүн:
grub2-mkconfig -o /boot/grub2/grub.cfg
Debian/Ubuntu үчүн:
update-grub
Кадамдарды аткаргандан кийин, эски дисктерди алып салууга болот.
6. Түпкү бөлүмдүн файл тутумунун кеңейтүүсү (ext4).
Системаны 2 x 3TB дисктерге (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]
Азыр бөлүмдөр /dev/sdc3
и /dev/sdd3
2.7 ТБ ээлейт. Биз GPT таблицасы менен жаңы диск макетін түзгөндүктөн, 3-бөлүмдүн өлчөмү дароо эле мүмкүн болгон максималдуу диск мейкиндигине орнотулду, бул учурда бөлүмдү кеңейтүүнүн кереги жок.
зарыл:
- md126 массивин кеңейтүү,
- PV кеңейтүү (физикалык көлөм),
- LV (логикалык көлөм) vg0-тамырын кеңейтүү,
- Файл системасын кеңейтүү.
1. Массивди кеңейтиңиз md126
максимумга чейин.
mdadm --grow /dev/md126 --size=max
Массивди кеңейтүүдөн кийин md126
ээлеген мейкиндиктин өлчөмү 2.7 ТБ чейин көбөйдү.
[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]
Кеңейтүү физикалык көлөмү.
Кеңейтүүдөн мурун, ээлеген PV мейкиндигинин учурдагы маанисин текшериңиз /dev/md126
.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0
Биз төмөнкү буйрук менен PV кеңейтебиз.
pvresize /dev/md126
Аткарылган иш-аракетти текшеребиз.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51t
Кеңейтүү логикалык көлөм vg0-root.
PV кеңейтилгенден кийин, VG ээлеген мейкиндигин текшерели.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51t
LV ээлеген мейкиндикти текшерип көрөлү.
[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-тамыр көлөмү 206.41 ГБ ээлейт.
Биз LVди максималдуу диск мейкиндигине чейин кеңейтебиз.
lvextend -l +100%FREE /dev/mapper/vg0-root
Кеңейтүүдөн кийин LV мейкиндигин текшерүү.
[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
Файл системасын кеңейтүү (ext4).
Келгиле, файл тутумунун учурдагы өлчөмүн текшерип көрөлү.
[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 LV кеңейгенден кийин 204 ГБ ээлейт.
Файлдык системаны кеңейтүү.
resize2fs /dev/mapper/vg0-root
Файлдык тутумдун көлөмүн аны кеңейтүүдөн кийин текшерүү.
[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
Файл тутумунун көлөмү толук көлөмдү жабуу үчүн көбөйтүлдү.
Source: www.habr.com