LVM Π½Π° raspberry pi 4: созданиС логичСского диска ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дисков

LVM (Logical Volume Manager) β€” это ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для управлСния дисками ΠΈ Ρ‚ΠΎΠΌΠ°ΠΌΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Linux. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… устройствах, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Raspberry Pi, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ пространство хранСния ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌ.

1) Установка ПО:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ LVM Π½Π° Raspberry Pi, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ lvm2 установлСн Π½Π° вашСм устройствС:

sudo apt-get update
sudo apt-get install lvm2

Активация модуля ядра: ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ LVM, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Linux LVM ядра Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

sudo modprobe dm_mod

2) ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ доступныС диски:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ доступноС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ свободноС Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ устройство для создания физичСского Ρ‚ΠΎΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ LVM, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. Π’ΠΎΡ‚ инструкции ΠΏΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ доступных Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств:

  • a. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ список Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств: ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ lsblk Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ список всСх Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств Π² вашСй систСмС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ диски ΠΈ ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° lsblk:
     NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
     sda      8:0    0   20G  0 disk
     └─sda1   8:1    0   10G  0 part /
     sdb      8:16   0   50G  0 disk
    

    Π—Π΄Π΅ΡΡŒ sda ΠΈ sdb - это ΠΈΠΌΠ΅Π½Π° Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½Π΅Ρ€Π°Π·ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ диск, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания физичСского Ρ‚ΠΎΠΌΠ°.

  • b. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ устройство Π½Π΅Ρ€Π°Π·ΠΌΠ΅Ρ‡Π΅Π½ΠΎ: Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ sudo fdisk -l для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройствах ΠΈ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅. НСразмСчСнный диск ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° sudo fdisk -l:
    Disk /dev/sdb: 50 GiB, 53687091200 bytes, 104857600 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    

3) УдаляСм ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ дисков:

Если Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ устройство ΡƒΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‡Π΅Π½ΠΎ ΠΈ содСрТит Ρ€Π°Π·Π΄Π΅Π»Ρ‹, Π²Π°ΠΌ придСтся ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для создания физичСского Ρ‚ΠΎΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ LVM. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ:

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ОсвобоТдСниС Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° этих Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ всСх Π²Π°ΠΆΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ.

  • a. ЗапуститС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ дисков: ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства. НапримСр:
     sudo fdisk /dev/sdb
    
  • b. Π£Π΄Π°Π»ΠΈΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹: Π’Π½ΡƒΡ‚Ρ€ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ дисков Π²Π²Π΅Π΄ΠΈΡ‚Π΅ d для удалСния Ρ€Π°Π·Π΄Π΅Π»Π°. Если диск содСрТит нСсколько Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ этот шаг для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….
  • c. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ измСнСния ΠΈ Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅: ПослС удалСния всСх Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π½Π°ΠΆΠΌΠΈΡ‚Π΅ w, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹.
  • d. ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ систСму: ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π²Π°ΡˆΡƒ систСму, Ρ‡Ρ‚ΠΎΠ±Ρ‹ обновлСния Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ дисков вступили Π² силу.
  • e. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ измСнСния: ПослС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ lsblk ΠΈΠ»ΠΈ sudo fdisk -l снова, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ устройство Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ содСрТит Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ использованию.

    4) Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²:

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ parted ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ инс_Ρ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ для создания Ρ€Π°Π·Π΄Π΅Π»Π°:

    sudo parted /dev/sda
    (parted) mklabel disk01  # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Π΄Π΅Π»Π° disk01 (Ссли Π΅Π΅ Π΅Ρ‰Π΅ Π½Π΅Ρ‚)
    (parted) mkpart primary 1MiB 100%  # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π°, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ всё пространство
    (parted) print  # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π΄Π΅Π» создан
    

Для использования LVM Π½Π° Raspberry Pi (ΠΈΠ»ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ устройствС) Π²Π°ΠΌ потрСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ физичСскиС Ρ‚ΠΎΠΌΠ° (Physical Volumes - PVs), Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… Π² Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ‚ΠΎΠΌΠΎΠ² (Volume Groups - VGs), ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ логичСскиС Ρ‚ΠΎΠΌΠ° (Logical Volumes - LVs) Π²Π½ΡƒΡ‚Ρ€ΠΈ этих Π³Ρ€ΡƒΠΏΠΏ. Π’ΠΎΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ порядок дСйствий:

  • a. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ физичСский Ρ‚ΠΎΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ дискС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² вашС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΡƒΒ pvcreate для этого.
    sudo pvcreate /dev/sdX  # Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ /dev/sdX Π½Π° вашС устройство, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /dev/sda
    
  • b. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΏΡƒ Ρ‚ΠΎΠΌΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ созданныС физичСскиС Ρ‚ΠΎΠΌΠ°. НазовитС Π²Π°ΡˆΡƒ Π³Ρ€ΡƒΠΏΠΏΡƒ Ρ‚ΠΎΠΌΠΎΠ² (Volume Group - VG) ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π΅ физичСскиС Ρ‚ΠΎΠΌΠ°.
    sudo vgcreate my_vg /dev/sdX /dev/sdY  # Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ /dev/sdX ΠΈ /dev/sdY Π½Π° ваши физичСскиС Ρ‚ΠΎΠΌΠ°
    
  • c. Π’Π΅ΠΏΠ΅Ρ€ΡŒ создайтС логичСский Ρ‚ΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ вашСй Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ‚ΠΎΠΌΠΎΠ². Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ мСсто монтирования для Π½ΠΎΠ²ΠΎΠ³ΠΎ логичСского Ρ‚ΠΎΠΌΠ°.
    sudo lvcreate -L 10G -n my_lv my_vg  # создаст логичСский Ρ‚ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 10 Π“Π‘ Π² вашСй Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ‚ΠΎΠΌΠΎΠ²
    
  • d. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ваш Π½ΠΎΠ²Ρ‹ΠΉ логичСский Ρ‚ΠΎΠΌ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой ΠΈ смонтируйтС Π΅Π³ΠΎ Π² систСмС.
    sudo mkfs.ext4 /dev/my_vg/my_lv  # Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ логичСского Ρ‚ΠΎΠΌΠ°
    sudo mkdir /mnt/my_lv            # созданиС Ρ‚ΠΎΡ‡ΠΊΠΈ монтирования
    sudo mount /dev/my_vg/my_lv /mnt/my_lv  # ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ логичСского Ρ‚ΠΎΠΌΠ°
    

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ этих шагов, ваш логичСский Ρ‚ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ² ΠΊ использованию Π½Π° Raspberry Pi.