Разширяване на файловата система в Linux

Много дискове - една файлова системаЦелта на тази статия е да демонстрирам разширяване на съществуваща файлова система под Linux без да е необходимо прекъсване на нормалния работен процес на системата.

За целта ще използваме една доста известна и добре развита технология за управление на дисковото пространство под Linux – Logical Volume Manager (LVM).  Ако сте инсталирали вашият CentOS по подразбиране, то вие вече използвате LVM.

Първо ще направя кратко описание на LVM по принцип. След това с конкретни команди ще разлгедаме разпределението на дисковото пространство на инсталираната система и накрая ще разширим файлова система, като използваме свободен (нов) диск.

Какво е LVM:

LVM – Logical Volume Manager е междинен слой, между диска и файловата система, който дава допълнителна гъвкавост и удобсто при управлението на дисковото пространство. За нашия случай този слой ни позволява да създадем файлова система, която е разпростряна на повече от един твърд диск.

Как да създадем LVM:

Ако инсталирате CentOS по подразбиране, то определено вече имате файлова система. За нашия случай ще добавим още два твърди диска,  с които ще направим това упражнение. Ето какво ще направим в това упражнение:

  1. Създаване на нова файлова система върху нов празен диск (/dev/sdb)
  2. Разширяване на файловата система върху втория диск (/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 # А сега … колко голяма е файловата система?

Коментари закрити.