Skip to content

Как управлять файловой системой Linux?

Добавление нового диска в систему Linux

После добавления диска в сервис диск будет автоматически добавлен в виртуальную машину.
Команда lsblk в Linux выводит список блочных устройств.

До добавления:

[root@weathered-firefly-vs ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─fedora-root 253:0    0   48G  0 lvm  /
  └─fedora-swap 253:1    0    1G  0 lvm  [SWAP]
sdb               8:16   0   50G  0 disk 
sdc               8:32   0   50G  0 disk 
sr0              11:0    1 1024M  0 rom  
sr1              11:1    1  376K  0 rom  
zram0           252:0    0  1.9G  0 disk [SWAP]

После добавления:

[root@weathered-firefly-vs ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─fedora-root 253:0    0   48G  0 lvm  /
  └─fedora-swap 253:1    0    1G  0 lvm  [SWAP]
sdb               8:16   0   50G  0 disk 
sdc               8:32   0   50G  0 disk 
sdd               8:48   0   50G  0 disk 
sr0              11:0    1 1024M  0 rom  
sr1              11:1    1  376K  0 rom  
zram0           252:0    0  1.9G  0 disk [SWAP]

Создание нового раздела

  1. Используя fdisk, создайте новый раздел на устройстве /dev/sdc. Введите n, чтобы создать новый раздел:

    [root@weathered-firefly-vs ~]# fdisk /dev/sdc
    Welcome to fdisk (util-linux 2.36).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    Device does not contain a recognized partition table.
    Created a new DOS disklabel with disk identifier 0x58db5961.
    Command (m for help): n
    
  2. Теперь выберите p, чтобы создать новый основной раздел.

    Примечание

    В вашей системе может быть только 4 основных раздела на этом диске. Если вы уже достигли этого предела, создайте расширенный раздел.

    Partition type
      p   primary (0 primary, 0 extended, 4 free)
      e   extended (container for logical partitions)
    Select (default p): p
    Partition number (1-4, default 1): 1
    
  3. Выберите номер раздела и его первый и последний секторы, если вы нажмете Enter, то по умолчанию новый раздел будет использовать все доступное дисковое пространство.

    First sector (2048-104857599, default 2048): 
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-104857599, default 104857599): 
    Created a new partition 1 of type 'Linux' and of size 50 GiB.
    
  4. Наконец, вам нужно записать разделы на диск с помощью команды w.

    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.
    

    Проверьте, был ли создан раздел с помощью команды lsblk.

    [root@weathered-firefly-vs ~]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   50G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   49G  0 part 
      ├─fedora-root 253:0    0   98G  0 lvm  /
      └─fedora-swap 253:1    0    1G  0 lvm  [SWAP]
    sdb               8:16   0   50G  0 disk 
    └─sdb1            8:17   0   50G  0 part 
      └─fedora-root 253:0    0   98G  0 lvm  /
    sdc               8:32   0   50G  0 disk 
    └─sdc1            8:33   0   50G  0 part 
    sdd               8:48   0   50G  0 disk 
    sr0              11:0    1 1024M  0 rom  
    sr1              11:1    1  376K  0 rom  
    zram0           252:0    0  1.9G  0 disk [SWAP]
    

Расширение физического тома

Расширение физического тома, группы томов, логического тома и файловой системы XFS с помощью нового раздела.

  1. Сначала введите команду df -hT и выберите из списка системный раздел, который вы хотите расширить.
    Например, /dev/mapper/fedora-root.

    [root@weathered-firefly-vs ~]# df -hT
    Filesystem              Type      Size  Used Avail Use% Mounted on
    devtmpfs                devtmpfs  1.9G     0  1.9G   0% /dev
    tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
    tmpfs                   tmpfs     786M 1000K  785M   1% /run
    /dev/mapper/fedora-root xfs        98G  2.8G   96G   3% /
    tmpfs                   tmpfs     2.0G  4.0K  2.0G   1% /tmp
    /dev/sda1               xfs      1014M  248M  767M  25% /boot
    tmpfs                   tmpfs     393M  4.0K  393M   1% /run/user/0
    
  2. С помощью команды pvs вы можете узнать, как называется ваш физический том. Столбец PFree показывает количество свободного места.

    [root@weathered-firefly-vs ~]# pvs
      PV         VG     Fmt  Attr PSize   PFree
      /dev/sda2  fedora lvm2 a--  <49.00g    0 
      /dev/sdb1  fedora lvm2 a--  <50.00g    0
    
  3. Теперь создайте физический том как основу для вашего LVM. Здесь /dev/sdc1 - это созданный раздел.

    [root@weathered-firefly-vs ~]# pvcreate /dev/sdc1
      Physical volume "/dev/sdc1" successfully created.  
    [root@weathered-firefly-vs ~]# pvs
      PV         VG     Fmt  Attr PSize   PFree  
      /dev/sda2  fedora lvm2 a--  <49.00g      0 
      /dev/sdb1  fedora lvm2 a--  <50.00g      0 
      /dev/sdc1         lvm2 ---  <50.00g <50.00g
    
  4. С помощью команды vgs вы можете узнать, как называется ваша группа томов. Столбец VFree показывает количество свободного места.

    [root@weathered-firefly-vs ~]# vgs
      VG     #PV #LV #SN Attr   VSize  VFree
      fedora   2   2   0 wz--n- 98.99g    0
    
  5. Затем расширите эту группу томов Fedora, добавив к ней новый физический том с помощью команды vgextend, проверьте, можно ли применить изменения снова с помощью команды vgs.

    [root@weathered-firefly-vs ~]# vgextend fedora /dev/sdc1
      Volume group "fedora" successfully extended
    [root@weathered-firefly-vs ~]# vgs
      VG     #PV #LV #SN Attr   VSize    VFree  
      fedora   3   2   0 wz--n- <148.99g <50.00g
    
  6. С помощью команды lvs вы можете узнать, как называется ваша группа томов.

    [root@weathered-firefly-vs ~]# lvs
      LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      root fedora -wi-ao---- 97.99g                                                    
      swap fedora -wi-ao----  1.00g
    
  7. Чтобы расширить логический том, выполните команду: lvextend.

    [root@weathered-firefly-vs ~]# lvextend -l +100%FREE /dev/mapper/fedora-root
      Size of logical volume fedora/root changed from 97.99 GiB (25086 extents) to <147.99 GiB (37885 extents).
      Logical volume fedora/root successfully resized.
    [root@weathered-firefly-vs ~]# lvs
      LV   VG     Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      root fedora -wi-ao---- <147.99g                                                    
      swap fedora -wi-ao----    1.00g
    
  8. Наконец, измените размер файловой системы XFS на логический том с помощью команды xfs_growfs. Если вы используете файловую систему ext4, используйте утилиту resize2fs.

    [root@weathered-firefly-vs ~]# df -hT /dev/mapper/fedora-root
    Filesystem              Type  Size  Used Avail Use% Mounted on
    /dev/mapper/fedora-root xfs    98G  2.8G   96G   3% /
    [root@weathered-firefly-vs ~]# xfs_growfs /
    meta-data=/dev/mapper/fedora-root isize=512    agcount=15, agsize=1834752 blks
            =                       sectsz=512   attr=2, projid32bit=1
            =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1
    data     =                       bsize=4096   blocks=25688064, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=3583, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 25688064 to 38794240
    

    Выполните df -hT, чтобы убедиться, что для виртуальной машины доступен новый размер диска.

    [root@weathered-firefly-vs ~]# df -hT /dev/mapper/fedora-root
    Filesystem              Type  Size  Used Avail Use% Mounted on
    /dev/mapper/fedora-root xfs   148G  3.2G  145G   3% /
    

Расширение корневого раздела Ubuntu Server

Подходит для 18.04 LTS и 20.04 LTS

> \# growpart /dev/sda/ 3
> \# pvresize /dev/sda3/
> \# lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv/
> \# resize2fs /dev/ubuntu-vg/ubuntu-lv/

Расширение корневого раздела Ubuntu Desktop 20.04 LTS

> \# growpart /dev/sda/ 2
> \# growpart /dev/sda/ 5
> \# pvresize /dev/sda5/
> \# lvextend -l +100%FREE /dev/mapper/vgubuntu-root/
> \# resize2fs /dev/vgubuntu/root/

Расширение корневого раздела Ubuntu Desktop 18.04 LTS

> \# growpart /dev/sda/ 1
> \# pvresize /dev/sda1/
> \# lvextend -l +100%FREE /dev/mapper/ubuntu--vg-root/
> \# resize2fs /dev/ubuntu-vg/root/