Бәріңе сәлем. Жаңа курс тобының басталу қарсаңында
Бұл мақалада дискілерді ауыстырудың және массив пен файлдық жүйені одан әрі кеңейте отырып, ақпаратты үлкенірек жаңа дискілерге тасымалдаудың 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 ТБ-тан көп)
Тапсырма: Ақпаратты сақтай отырып, ағымдағы дискілерді үлкенірек дискілерге (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
Жаңа 3 ТБ дискіде бізге 3 бөлім жасау керек:
- Бөлім
bios_grub
GPT BIOS үйлесімділігі үшін 2МБ өлшемі, - Орнатылатын 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-түбір.
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
Файлдық жүйе өлшемі бүкіл көлемді қамту үшін үлкейтілді.
Ақпарат көзі: www.habr.com