УНИТе

Портал > Документация > Създаване на LVM2 структура, логическа група, логически дял и файлова система в дяла, под CentOS 7 и Scientific Linux 7, в команден ред

Създаване на LVM2 структура, логическа група, логически дял и файлова система в дяла, под CentOS 7 и Scientific Linux 7, в команден ред

Съдържание:

  1. Предварителна информация
  2. Форматиране на дисков дял за разполагане в него на LVM2 структура
  3. Създаване на LVM2 логическа група
  4. Създаване на логически дял в LVM2 група
  5. Създаване на файлова система в LVM2 логически дял
  6. Монтиране на LVM2 логически дял

 

1. Предварителна информация

Процедурата, описана по-долу, показва как да бъдат създадена LVM2 структура, логическа група, логически дял, файлова система в дяла и как този дял да бъде монтиран. Процедурата не би следвало да бъде строго специфична за дистрибуциите CentOS 7 и Scientific Linux 7 и най-вероятно е приложима за почти всички модерни Linux дистрибуции.

 

2. Форматиране на дисков дял за разполагане в него на LVM2 структура

За да създадете LVM2 структура (тя е вид файлова система) върху писаем дисков дял, локално достъпен в системата (върху SATA, SCSI, RAID и др. вид носител), може да използвате инструмента pvcreate по следния начин:

  • върху дял на физически диск (/dev/sda1):

    # pvcreate /dev/sda1
  • върху софтуерен RAID масив (/dev/md0):

    # pvcreate /dev/md0

Може да проверите дали създаването е завършило успешно, като изпълните pvdisplay и посочите като аргумент дяла, върху който сте дефинирали LVM2 структурата, например:

# pvcreate /dev/md0

При успешно изпълнение, ще бъде изведена информация, подобна на следната:

"/dev/md0" is a new physical volume of "2000.0 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/md0
  VG Name               
  PV Size               2000.0 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               86lheg-d8UF-pGT6-8dxa-VLpD-UyHb-izHcbL

Разбира се, в конкретния случай някои от числата ще са различни. Най-важното в този блок информация е съобщението "--- NEW Physical volume ---". То показва, че това е новосъздадена LVM2 структура в дяла. Също така, понеже в нея няма декларирана нито една логическа група, няма и оразмеряване на свободното и заето пространство и затова броячите срещу Total PE и Free PE са нули.

 

3. Създаване на LVM2 логическа група

LVM2 логическата група служи като работно дисково пространство на LVM2. В нея се дефинират логически дялове, който после се представят и използват в системата като дискови дялове. Т.е. логическата група може да се разглежда като сноп от дялове.

Логическата група се създава върху дисков дял, който е форматиран да поддържа в себе си LVM2 структура. В повечето случаи, в един дисков дял се дефинира една логическа група и в документацията по-долу това е възприето по подразбиране.

За да създадете логическа група, трябва да използвате инструмента vgcreate, като след него (като аргументи) укажете името на групата (за примера по-долу то е "storage") и пълния път до физическия дял със създадената LVM2 структура (за примера това /dev/md0):

# vgcreate storage /dev/md0

При успешно създаване на групата, ще бъде изведено следното съобщение:

  Volume group "storage" successfully created

След като видите това съобщение, може да проверите колко капацитет от дисково пространство има в групата и каква част от него е използваемо за създаване на логически дялове, като използвате инструмента vgdisplay (като аргумент укажете името на групата). Например, този команден ред:

# vgdisplay storage

ще изведе информация за LVM2 логическата група с име "storage":

  --- Volume group ---
  VG Name               storage
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.98 GiB
  PE Size               4.00 MiB
  Total PE              5115
  Alloc PE / Size       0 / 0   
  Free  PE / Size       5115 / 19.98 GiB
  VG UUID               gvWX7l-Vn3D-Ln9A-Ah2r-nYyx-wDkj-A4ooO7

В този резултат се вижда, че в LVM2 логическата група с име "storage" има 19.98GB свободни и нула заети.

Може да използвате инструмента pvdisplay, с аргумент пълния път до дисковия дял, в който се намира групата, за да видите как се е отразило в него създаването на новата група:

# pvdisplay /dev/md0

Ще получите резултат, който е подобен на следния

  --- Physical volume ---
  PV Name               /dev/md0
  VG Name               storage
  PV Size               19.98 GiB / not usable <1.94 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              5115
  Free PE               5115
  Allocated PE          0
  PV UUID               86lheg-d8UF-pGT6-8dxa-VLpD-UyHb-izHcbL

В примерния резултат се вижда, че цялото пространство е все още незаето (декларирането на група без логически дялове в нея не "заключва" автоматично пространството в дяла).

 

4. Създаване на логически дял в LVM2 група

Логически дял в LVM2 логическа група може да бъде създаден, ако има достъчно свободно място в нея. Може да проверите колко свободно място има, като използвате инструмента vgdisplay и зададете като аргумент името на групата (за примера по-долу това име е "storage"):

# vgdisplay storage

Ще получите резултат, който е подобен на следния:

  --- Volume group ---
  VG Name               storage
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.98 GiB
  PE Size               4.00 MiB
  Total PE              5115
  Alloc PE / Size       0 / 0   
  Free  PE / Size       5115 / 19.98 GiB
  VG UUID               gvWX7l-Vn3D-Ln9A-Ah2r-nYyx-wDkj-A4ooO7

Най-важната информация е тази след "Free PE / Size". Числата там не бива да са нули (иначе няма да може да създадете логическия дял, поради липса на свободно пространство).

Ако в групата има доатъчно свободно пространство, създаването на логически дял става чрез инструмента lvcreate, като за аргументи се посочават името на дяла, големината му и към коя LVM2 логическа група ще принадлежи. По-долу е даден пример, в който се създават два логически дяла - data1 и data2 - и те си поделят свободното място в логическата група "storage" по равно:

# lvcreate -n data1 -l 50%FREE storage
# lvcreate -n data2 -l 100%FREE storage

Забележете, че при създаването на втория дял, не указваме пак 50% от свободното пространство, а указваме цялото, защото вече има създаден един логически дял, който заема 50% от началното свободно пространство.

Създадените дялове ще се появят на две места:

  • като устройства в /dev/mapper:

    /dev/mapper/storage-data1
    /dev/mapper/storage-data2

    Отбележете, че в името на устройството първо стои името на LVM2 логическата група, а след това е името на логическия дял.

  • като устройства в /dev/storage:

    /dev/storage/data1
    /dev/storage/data2

От този момент нататък, може да създавате файлови системи в тези устройства и да ги монтирате локално (или отдалечено).

Може да изведете и информация за всеки от създадените логически дялове, като използвате инструмента lvdisplay. Например, изпълнението на:

# lvdisplay

ще изведе информация за всички логически дялове (без значение в коя LVM2 логическа група се намират):

  --- Logical volume ---
  LV Path                /dev/storage/data1
  LV Name                data1
  VG Name                storage
  LV UUID                ydF02D-iKj0-w9QS-S2w1-r8TA-Jn9s-JL3k85
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-05-28 04:48:25 +0000
  LV Status              available
  # open                 0
  LV Size                <9.99 GiB
  Current LE             2557
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3
   
  --- Logical volume ---
  LV Path                /dev/storage/data2
  LV Name                data2
  VG Name                storage
  LV UUID                uwVg97-VXwe-vFBp-yRna-w359-2PDt-Uy2xn1
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-05-28 04:48:30 +0000
  LV Status              available
  # open                 0
  LV Size                9.99 GiB
  Current LE             2558
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4

В случай, че искате да специфицирате информация за кой дял извеждате, може да направите това като зададете пълния път до устройството, с което този дял е представен в локалната система:

# lvdisplay /dev/storage/data1

 

5. Създаване на файлова система в LVM2 логически дял

За да създадете файлова система в LVM2 дял, този дял трябва да е видим в локалната система. Ако дялът се казва "data1" и е в логическата група с име "storage", той ще е представен в системата като /dev/storage/data1 и /dev/mapper/storage-data1 (едновремено).

В примера по-долу е показано как да се изгради файлова система от тип "xfs" в /dev/storage/data1:

# mkfs.xfs /dev/storage/data1

След създаването ѝ, файловата система ще бъде видима за ядрото. Може да проверите дали това е така, като изпълните:

$ blkid

и намерите там записа за нея.

 

6. Монтиране на LVM2 логически дял

За да монтирате вече създаден LVM2 логически дял, той трябва да съдържа файлова система, разпознаваема от ядрото.

Препоръчително е да монтирате LVM2 логически дял използвайки UUID идентиикатора на файловата система, изградена в дяла. По този начин не зависите от името на LVM2 дяла при зареждане на системата (то може да бъде сменено) или името на LVM2 групата (което също може да бъде сменено), и така няма да се налага да променяте записите в /etc/fstab.

Списъка с UUID идентификаторите на файловите системи, които ядрото вижда в момента, може да получите като изпълните blkid:

$ blkid

Проверете кой е UUID идентификатора на LVM2 дяла, който искате да монтирате. В примера по-долу е показано как може да изглежда информацията за LVM2 дяла "data1" от LVM2 група "storage" (в който има файлова система от тип "xfs"), както е представен в резултата от изпълнението на blkid:

/dev/mapper/storage-data1: UUID="e99fb2d6-bb40-45e9-aeac-fb816c8f6cea" TYPE="xfs"

UUID идентификатора е e99fb2d6-bb40-45e9-aeac-fb816c8f6cea. За да монтирате логическия LVM2 дял /dev/mapper/storage-data1 локално, като /data1, използвайте UUID идентификатора на файловата система в нето и добавете следния ред в /etc/fstab:

UUID="e99fb2d6-bb40-45e9-aeac-fb816c8f6cea"  xfs  defaults  0 0

След като запишете промените в /etc/fstab, създайте директорията /data1 (ако вече не съществува):

# mkdir /data1

и след това я монтирайте по един от следните два начина:

# mkdir /data1

или

# mount -a

Ако при монтирането не бъде изведено съобщение за грешка, то най-вероятно файловата система от LVM2 дяла е монтирана успешно. Може допълнително да проверите това така:

$ mount | grep \/data1

При успешно монтиране, ще видите следния резултат:

/dev/mapper/storage-data1 on /storage type xfs (rw)

 


Последна актуализация: 25 май 2019

2019 УНИТе, Веселин Колев