Дерево страниц

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

Исходная конфигурация файловых систем

  • Операционная система (ОС) установлена с использованием LVM.
  •  При установке ОС созданы дисковые разделы на накопителе (диске) /dev/vda:
    • /dev/vda1 — физический дисковый раздел для загрузочной информации (каталога /boot). Данный дисковый радел не управляется LVM (обязательное требование к дисковым разделам с загрузочной информацией). Тип файловой системы - ext2.
    • /dev/vda2 — физический дисковый раздел под управлением LVM. На уровне абстракции LVM это физический том LVM . В этом физическом томе LVM размещена группа логических томов LVM VG, содержащая два логических тома LVM:
      • /dev/vda2/VG-lv_home (/dev/VG/lv_home, /dev/mapper/VG-lv_home)— логический том LVM, содержащий поддерево файловой системы /home. Тип файловой системы - ext4.
      • /dev/vda2/VG-lv_root (/dev/VG/lv_root, /dev/mapper/VG-lv_root) — логический том LVM, содержащий корневой каталог файловой системы. Тип файловой системы - ext4.
    • не размеченное (свободное) место на диске, располагающееся непосредственно после дискового раздела /dev/vda2. 
  • /dev/vdb — подключенный после установки ОС не размеченный жесткий диск.

Получить актуальную конфигурацию дисков и файловых систем можно следующими командами:

  • Состав дисков и дисковых разделов:

    lsblk
    Пример вывода команды для описанной выше конфигурации:

    NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
    vda            252:0    0   60G  0 disk 
    ├─vda1         252:1    0    1G  0 part /boot
    └─vda2         252:2    0   39G  0 part 
      ├─VG-lv_home 253:0    0 27,3G  0 lvm  /home
      └─VG-lv_root 253:1    0 11,7G  0 lvm  /
    vdb            252:16   0   40G  0 disk 
  • Наличие свободного места на дисках:

    sudo parted /dev/vda print free

    Пример вывода команды:

    Model: Virtio Block Device (virtblk)
    Disk /dev/vda: 64,4GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags: 
    
    Number  Start   End     Size    Type     File system  Flags
            1024B   1049kB  1048kB           Free Space
     1      1049kB  1075MB  1074MB  primary  ext2         boot
     2      1075MB  42,9GB  41,9GB  primary               lvm
            42,9GB  64,4GB  21,5GB           Free Space

    Последняя строка в выводе команды показывает наличие не размеченного места 21.5GB.
    Для не размеченного диска /dev/vdb команда выдаст сообщение об ошибке и размер самого диска:

    sudo parted /dev/vdb print free

    Вывод команды:

    Error: /dev/vdb: unrecognised disk label
    Model: Virtio Block Device (virtblk)                                      
    Disk /dev/vdb: 42,9GB
    Sector size (logical/physical): 512B/512B
    Partition Table: unknown
    Disk Flags: 
  • Информация о конфигурации LVM:
    • группы физических томов LVM:

      sudo pvs
      пример вывода команды:

        PV         VG Fmt  Attr PSize   PFree
        /dev/vda2  VG lvm2 a--  <39,00g    0 
    • группы логических томов LVM:

      sudo vgs
      пример вывода команды:

        VG #PV #LV #SN Attr   VSize   VFree
        VG   1   2   0 wz--n- <39,00g    0 
    • логические тома LVM:

      sudo lvs
      пример вывода команды:

        LV      VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
        lv_home VG -wi-ao---- <27,28g                                                    
        lv_root VG -wi-ao---- <11,72g


Целевая конфигурация файловых систем

Целью описанных далее действий является расширение файловой системы /home на все не размеченное дисковое пространство, включая:

  • не размеченное пространство на диске /dev/vda;
  • весь не размеченный диск /dev/vdb.

Для этого:

  1. Не размеченное пространство на физическом диске /dev/vda присоединить к существующему физическому дисковому разделу /dev/vda2.
  2. Присоединенное к физическому дисковому разделу пространство присоединить к группе физических томов LVM VG.
  3. Присоединенное к группе физических томов LVM пространство присоединить к существующему логическому тому LVM lv_home.
  4. Присоединенное к логическому тому LVM пространство присоединить к файловой системе, размещенной в этом логическом томе.
  5. Не размеченный физический диск /dev/vdb передать под управление LVM, после чего выполнить указанные выше действия по присоединению доступного пространства к группе физических томов LVM, логическому тому LVM и файловой системе.

Увеличение размера физических дисковых разделов и файловых систем ext2/ext3/ext4/xfs возможно без размонтирования. Если требуются более сложные операции (перемещение дисковых разделов, уменьшение размеров) то необходимо будет размонтировать файловую систему, для чего, возможно, необходимо будет использовать загрузку c Live-CD. Файловая система xfs не поддерживает операцию уменьшения.

Порядок действий по увеличению размера файловой системы

Присоединение не размеченного пространства на физическом диске к существующему физическому дисковому разделу

Описанное далее расширение физического дискового раздела является частным случаем увеличения размера физического дискового раздела и применимо только тогда, когда свободное пространство расположено непосредственно после увеличиваемого раздела. Эта операция не требует использования LVM. Если свободное пространство расположено иначе, то можно:

  • без использования LVM — переместить физический дисковый раздел (разделы) для получения нужного размещения свободного пространства;
  • при использовании LVM - создать в свободном пространстве физический том LVM и далее использовать его для расширения логического тома LVM.

Присоединение не размеченного дискового пространства к существующему дисковому разделу можно выполнить с помощью графического менеджера дисковых разделов gparted. Порядок действий при использовании gparted:

  • Войти в систему под учетной записью администратора с высоким уровнем целостности;
  • Запустить редактор разделов (Пуск  Системные  Редактор разделов Gparted);
  • Выбрать раздел, который необходимо увеличить, и нажать кнопку "Изменить размер или переместить" (1);
  • Увеличить с помощью мыши размер раздела (2), контролируя значения в полях "Новый размер (МиБ)" и "Свободное место после (МиБ)":
  • Нажать кнопку "Изменить размер" (3);
  • Применить изменения, используя пункт меню Правка  Применить все операции:
  • Используя пункт меню Раздел  Информация, посмотреть значения в полях "Группа томов" (1) и "Логические тома" (2)

Использование графического менеджера (gparted) не позволяет работать с объектами LVM, поэтому далее приводится вариант действий из командной строки с помощью инструмента parted. Для краткости команды приводятся совместно с их выводом.

Исходное состояние:

sudo parted /dev/vda unit B print free

Model: Virtio Block Device (virtblk)
Disk /dev/vda: 64424509440B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number Start         End           Size          Type     File system  Flags
       1024B         1048575B      1047552B               Free Space
 1     1048576B      1074790399B   1073741824B   primary  ext2         boot
 2     1074790400B   42949672959B  41874882560B  primary               lvm
       42949672960B  64424509439B  21474836480B           Free Space

В данной команде и далее используется опция unit B, задающая единицы изменения — байты. 
Для присоединения к физическому дисковому разделу свободного пространства, расположенного непосредственно после раздела, можно использовать инструкцию resizepart команды parted, указав номер раздела (2) и новую границу раздела (в данном примере это 64424509439 в столбце End, не путать с размером пространства 21474836480 в столбце Size):
sudo parted /dev/vda unit B resizepart 2 64424509439

Information: You may need to update /etc/fstab.
Новое состояние:
sudo parted /dev/vda unit B print free

Model: Virtio Block Device (virtblk)
Disk /dev/vda: 64424509440B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start        End           Size          Type     File system  Flags
        1024B        1048575B      1047552B               Free Space
 1      1048576B     1074790399B   1073741824B   primary  ext2         boot
 2      1074790400B  64424509439B  63349719040B  primary               lvm


Присоединенное к физическому тому LVM свободного пространства в физическом дисковом разделе

Исходное состояние:

sudo pvs

  PV         VG Fmt  Attr PSize   PFree
  /dev/vda2  VG lvm2 a--  <39,00g    0 
Команда:
sudo pvresize /dev/vda2

  Physical volume "/dev/vda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
Новое состояние:
sudo pvs

  PV         VG Fmt  Attr PSize   PFree 
  /dev/vda2  VG lvm2 a--  <59,00g 20,00g

Присоединение к логическому тому LVM свободного пространства в физическом томе LVM

Исходное состояние:

sudo lvs

  LV      VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_home VG -wi-ao---- <27,28g                                                    
  lv_root VG -wi-ao---- <11,72g                                                    
Команда:
sudo lvextend -l +100%Free /dev/VG/lv_home

  Size of logical volume VG/lv_home changed from <27,28 GiB (6983 extents) to <47,28 GiB (12103 extents).
  Logical volume VG/lv_home successfully resized.
Новое состояние:
sudo lvs

  LV      VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_home VG -wi-ao---- <47,28g                                                    
  lv_root VG -wi-ao---- <11,72g         
По сравнению с исходным состоянием размер логического тома LVM lv_home увеличился с 27.28G до 47.28G.

Присоединение к файловой системе свободного пространства в содержащем её логическом томе LVM или физическом дисковом разделе

Исходное состояние:

df -h /home

Файловая система          Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/VG-lv_home    27G             35M   26G            1% /home
Команда для файловых систем ext2/ext3/ext4:
sudo resize2fs /dev/VG/lv_home

resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/VG/lv_home is mounted on /home; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 6
The filesystem on /dev/VG/lv_home is now 12393472 (4k) blocks long.
Команда для файловой системы xfs (требуется установка пакета xfsprogs):
sudo xfs_grows <имя_точки_монтирования>
Новое состояние:
df -h | grep /home

Файловая система            Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/VG-lv_home      47G                  35M   45G                       1% /home
Размер доступного (свободного) места в файловой системе увеличился с 26G до 45G.

Передача под управление LVM не размеченного физического диска (не размеченного физического дискового раздела)

Далее приводятся примеры команд для выполнения следующих действий:

  1. Не размеченный физический диск /dev/vdb передать под управление LVM, для чего создать на нем физический том LVM.
  2. Физический том LVM включить в группу физических томов LVM как свободное пространство.
  3. Свободное пространство присоединить к логическому тому LVM.
  4. Расширить файловую систему на все присоединенное пространство.

Операции выполняются с физическим диском, для физических дисковых разделов операции аналогичны.

Исходное состояние:

sudo lvmdiskscan

  /dev/vda1 [       1,00 GiB] 
  /dev/vda2 [     <59,00 GiB] LVM physical volume
  /dev/vdb  [      40,00 GiB] 
  1 disk
  1 partition
  0 LVM physical volume whole disks
  1 LVM physical volume
Создание физического тома LVM на физическом диске /dev/vdb:
sudo pvcreate /dev/vdb

  Physical volume "/dev/vdb" successfully created.
Новое состояние:
sudo lvmdiskscan

  /dev/vda1 [       1,00 GiB] 
  /dev/vda2 [     <59,00 GiB] LVM physical volume
  /dev/vdb  [      40,00 GiB] LVM physical volume
  0 disks
  1 partition
  1 LVM physical volume whole disk
  1 LVM physical volume

В новом состоянии добавлен физический том LVM /dev/vdb, свободное пространство в группе томов LVM VG отсутствует:

sudo vgs

  VG #PV #LV #SN Attr   VSize   VFree
  VG   1   2   0 wz--n- <59,00g    0 
Добавление созданного физического тома LVM в группу томов VG:
sudo vgextend VG /dev/vdb

  Volume group "VG" successfully extended
Новое состояние:
sudo vgs

  VG #PV #LV #SN Attr   VSize  VFree 
  VG   2   2   0 wz--n- 98,99g <40,00g

В группу томов LVM VG добавлено свободное пространство 40G.
Состояние логических томов LVM:

sudo lvs

  LV      VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_home VG -wi-ao---- <47,28g                                                    
  lv_root VG -wi-ao---- <11,72g                                                    
Присоединение свободного пространства к логическому тому /dev/VG/lv_home:
sudo lvm lvextend -l +100%FREE /dev/VG/lv_home

  Size of logical volume VG/lv_home changed from <47,28 GiB (12103 extents) to 87,27 GiB (22342 extents).
  Logical volume VG/lv_home successfully resized.
Новое состояние:
sudo lvs

    LV      VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_home VG -wi-ao----  87,27g                                                    
  lv_root VG -wi-ao---- <11,72g       
Размер логического тома LVM lv_home увеличился до 87.27G.

Исходное состояние файловой системы:

df -h /home

Файловая система        Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/VG-lv_home    47G           35M   45G            1% /home
Расширение файловой системы на весь логический том LVM:
sudo resize2fs /dev/VG/lv_home

resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/VG/lv_home is mounted on /home; on-line resizing required
old_desc_blocks = 6, new_desc_blocks = 11
The filesystem on /dev/VG/lv_home is now 22878208 (4k) blocks long.
Новое состояние:
df -h /home

Файловая система        Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/VG-lv_home     86G          35M   82G            1% /home
Размер файловой системы увеличился с 47G до 86G, размер свободного места в файловой системе увеличился с 45G до 82G.


  • Нет меток