Целта на тази статия е да демонстрирам разширяване на съществуваща файлова система под Linux без да е необходимо прекъсване на нормалния работен процес на системата.
За целта ще използваме една доста известна и добре развита технология за управление на дисковото пространство под Linux – Logical Volume Manager (LVM). Ако сте инсталирали вашият CentOS по подразбиране, то вие вече използвате LVM.
Първо ще направя кратко описание на LVM по принцип. След това с конкретни команди ще разлгедаме разпределението на дисковото пространство на инсталираната система и накрая ще разширим файлова система, като използваме свободен (нов) диск.
Какво е LVM:
LVM – Logical Volume Manager е междинен слой, между диска и файловата система, който дава допълнителна гъвкавост и удобсто при управлението на дисковото пространство. За нашия случай този слой ни позволява да създадем файлова система, която е разпростряна на повече от един твърд диск.
Как да създадем LVM:
Ако инсталирате CentOS по подразбиране, то определено вече имате файлова система. За нашия случай ще добавим още два твърди диска, с които ще направим това упражнение. Ето какво ще направим в това упражнение:
- Създаване на нова файлова система върху нов празен диск (/dev/sdb)
- Разширяване на файловата система върху втория диск (/dev/sdc)
И така, запозваме със „Създаване на нова файлова система върху нов празен диск„.
LVM може да бъде разположен както върху отделна част на диска (partition), така и върху целия диск, без да се налага допълнително разделяне на диска. В нашия случай, ще се демонстрираме как да се инсталира LVM върху отделна част на диска (partition). За целта и на двата диска ще бъде създаден по един логически диск (partition).
- Създаваме на логически диск върху физическия твърд диск (partitioning):
$ fdisk /dev/sdb # Влизате в интерактивен инструмент за разделяне на диска Command (m for help): n # n – създаване на нов логически диск (ЛД)
Command action
e extended
p primary partition (1-4)
p # p – Нека новия логически диск да бъди Primary Partition Partition number (1-4): 1 # 1 - Пореден номер. Тъй като диска е празен и нямаме други логически дискове – избираме 1.
Command (m for help): t # Задаваме какъв тип е логичиския диск
Partition number (1-4): 1 # На кой ЛД искаме да зададем типа (1 – този който създадохме с горните команди)
Hex code (type L to list codes): 8e # 8е – типа на ЛД е „Linux LVM“, т.е. върху него ще поствим LVM
Command (m for help): w # w -Записваме промените
- Създаваме „Physical Volume“ върху който ще поставим „Volume Group“ -ата.
След като вече сме създали ЛД, пристъпваме към създаването на Physical Volume – основата за LVM.
$ pvcreate /dev/sdb1
- Създаваме „Volume Group“
$ vgcreate vg_test /dev/sdb1 Където: vg_test – име което ще използваме за да обозначим нашата група. Това име просто наименование, което трябва да улесни администратора
/dev/sdb1 – Physical Volume върху което разполагаме групата $ vgscan # Сканира всички volume group -и до които операционната система има достпъп
$ vgchange -a y /dev/vg_test # прави групата достъпна за файловата система
- Създаваме „Logical Volume“ – тази част върху която ще направим файловата систем
Създаваме „Logical Volume“ – група, върху която ще създадем файловата система
$ lvcreate -n lv_store /dev/vg_test
- Създаваме файловата система
$ mke2fs -j /dev/vg_test/lv_store
- Монтиране на файловата система
$ mkdir /storage $ mount /dev/vg_test/lv_store /storage
Командата vgs ще ви покаже информация за свободното пространство на което може да се разполага групата, например:
$ vgs VG #PV #LV #SN Attr VSize VFree
vg_test 1 1 0 wz–n- 10.0g 0
А командата pvs ще ви покаже информация за Physical Volume -то на което направихме Volume Group -ата
$ pvs PV VG Fmt Attr PSize PFree
/dev/sdb vg_test lvm2 a- 10g 0g
Следващата стъпка е „Разширяване на файловата система върху втория диск„:
- Създаваме на логически диск върху втория физическия твърд диск (partitioning):
$ fdisk /dev/sdc # Влизате в интерактивен инструмент за разделяне на диска
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 8e
Command (m for help): w
- Създаваме „Physical Volume“ който ще добавим към Volume Group -ата
$ pvcreate /dev/sdc1
- Добавяме диска към Volume Group -ата
$ vgextend vg_test /dev/sdc1 # Това ще добави място към вашата Volume Ggroup -а
- Разширяване на Logical Group -ата
$ lvextend -L +10G /dev/vg_test/lv_store
- Разширяване на файловата система
$ df -h /dev/vg_test/lv_store # Тази команда ще ви покаже текущата големина на файловата система
$ resize2fs /dev/vg_test/lv_store # С тази команда разширявате файловата система без да демонтирате и монтирате отново
$ df -h /dev/vg_test/lv_store # А сега … колко голяма е файловата система?
Comments are closed.