• Главная
  • Документация

АГИС Администрирование

Главная/Документация/АГИС Администрирование
Развернуть все Свернуть все
  • О разделе АГИС Администрирование
  •  Установка АГИС
    • Инсталяция Ubuntu
    • Установка LVM
    • Установка Docker
    • Установка модулей АГИС
    • Резервные копии
  • Запуск, перезапуск и останов АГИС
  •  Администрирование
    •   Ubuntu
      •   LVM&Snapshot
        • Snapshot
        • agis_backup_lvm_xfs
        • Ошибки
      •   Nginx, ssl, letsencrypt
        • Сертификат ssl
        • Letsencrypt
      •   NAS
        • Synology
        • Qnap
      •   SSH
        • SSH доступ без пароля по ключу
        • Клиент ssh
      •   Разные команды
        • Основные команды Linux
        • Расширенные команды
        • Работа с сервером
      • FTP server
      • VPN server
    •   Базы данных
      • Запуск базы данных АГИС
      •   Mongo
        • mongodump-mongorestore
        • Основы
        • Test mongo db
        • Запросы mongodb
        • Запуск mongodb
        • Studio 3T for Mongo DB
        • Тестовый контейнер mongodb
        • mongodb формат даты
        • Replica set
      •   PostgreSQL
        • Test postgis
        • Dump&Restore PostgreSQL
        • Установка и запуск
        • PostgreSQL разное
      •   Elastic search
        • Команды elasticsearch
        • Tools to backup and restore ElasticSearch indices
      • Troubleshooting базы данных АГИС
      • MySql
    •   Docker
      • Команды Docker
      • Команды Docker (admin)
      • docker ps
      • .env
      • docker images save load
    •   Troubleshhoting
      • Mobaxterm
      • Проблема с дисками после raid
    •   Pfsense
      • Установка
      • Openvpn client
    •   Разное
      • Сколько байт(бит) в килобайте, мегабайте, гигабайте
      • Save bookmarks Studio 3T Mobaxterm
      • Acronis true image
      • Кодировки
  •  АГИС ГИС сервер
    • Запуск и остановка Tile сервера
    • Экспорт шейпа из АГИС ГИС
    • Импорт шейпа в АГИС ГИС
    • Backup&restore postgis(postgres)
    • Запуск pgAdmin4
    • Troubleshooting postgis
  •  АГИС Администрирование
    •   Пользователи
      • Добавление нового пользователя
    •   Роли
      • Добавление новой роли
    •   Перевод
      • Добавления перевода
    • АДС (Автоматизированная дисп служба)

Установка LVM

402 просмотров 0

LVM – менеджер, позволяющий управлять логическими томами в системах Linux. Сами логические тома можно собрать из нескольких дисков или разделов дисков. LVM расшифровывается как Logical Volume Manager или по-русски — менеджер логических томов.

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

  • Возможность изменения емкости
    При использовании логических томов размер файловых систем не ограничивается одним диском, так как вы объединяете диски и разделы в один логический том.
  • Возможность изменения размера пула хранилища
    С помощью простых команд можно увеличивать или уменьшать размер логических томов без необходимости переформатирования или переразбиения дисков.
  • Живое перемещение данных
    Для создания новых, более быстрых и более устойчивых подсистем хранения вы теперь можете перемещать данные, в то время как система активна. Данные можно перемещать, даже если к дискам выполняется обращение. Например, можно на ходу освободить заменяемый диск перед его удалением.
  • Удобство присвоения имен устройствам
    Логические тома могут объединяться в группы для облегчения их управления. Группам, в свою очередь, могут присваиваться любые имена.
  • Чередование дисков
    Возможно создать логический том с чередованием данных на двух или нескольких дисках. Это может значительно улучшить производительность.
  • Зеркалирование томов
    Используя логические тома, можно легко настроить зеркало для ваших данных.
  • Снимки томов
    Используя логические тома, можно создавать снимки устройств с целью создания резервных копий или тестирования результата внесенных изменений, не рискуя действительными данными.

Недостатки:

  • Только Linux
  • Более сложный процесс восстановления данных в случае сбоя LVM

Настройка (коротко)

# fdisk /dev/sda
# pvcreate /dev/sda3
# vgcreate vg /dev/sda3
# lvcreate -L 1750G -n lv1 vg
# mkfs.xfs /dev/vg/lv1 -n ftype=1
# vgs -o +lv_size,lv_name
# nano /etc/fstab
. . .
/dev/vg/lv1 /data xfs defaults,nofail 0 0

# mkdir -p /data
# mount /dev/vg/lv1 /data
# chown agis:agis /data

Настройка (детально)

Работа с томами с помощью LVM происходит на 3-х уровнях:

Физический уровень (PV). Сначала диск инициализируется командой pvcreate — в начале диска создается дескриптор группы томов. При этом важно заметить, что диск не обязательно должен быть физическим — мы можно отметить на использование обычный раздел диска.
Группа томов (VG). С помощью команды vgcreate создается группа томов из инициализированных на предыдущем этапе дисков.
Логический том (LV). Группы томов нарезаются на логические тома командой lvcreate.

Для отображения информации о физических томах LVM используются команды pvs, pvdisplay и pvscan.

Команды vgs и vgdisplay позволяют отобразить информацию о группах томов LVM.

Для отображения сведений о логических томах используются команды lvs, lvdisplay и lvscan.

Шаг 1. Подготовка дисков и разделов для LVM

Установили ubuntu на /dev/sda

Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 269486079 268435456 128G Linux swap
/dev/sda3 269486080 898631679 629145600 300G Linux filesystem

На /dev/sda есть свободное место.
Создаем новый Partition(4) максимальный по размеру. Тип – Linux filesystem (fdisk /dev/sda)

Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 269486079 268435456 128G Linux swap
/dev/sda3 269486080 898631679 629145600 300G Linux filesystem
/dev/sda4 898631680 3513671646 2615039967 1.2T Linux filesystem

Шаг 2 Создание блочных устройств.

Команда выведет все доступные блочные устройства, с которыми может взаимодействовать LVM:

# lvmdiskscan
/dev/loop0 [ <27.09 MiB]
/dev/loop1 [ <54.95 MiB]
/dev/sda1 [ 512.00 MiB]
/dev/loop2 [ <68.97 MiB]
/dev/sda2 [ 128.00 GiB]
/dev/loop3 [ 96.98 MiB]
/dev/sda3 [ 300.00 GiB]
/dev/loop4 [ <125.85 MiB]
/dev/sda4 [ <1.22 TiB]
/dev/sdb [ <1.64 TiB]
/dev/sdc1 [ 931.51 GiB]
/dev/sdd4 [ <28.87 GiB]
1 disk
11 partitions
0 LVM physical volume whole disks
0 LVM physical volumes

Как видите, на данный момент существует
один свободный раздел (partition) /dev/sda4 <1.22 TiB (остался свободный после установки)
один свободный диск, не разбитый на partition /dev/sdb <1.64 TiB
один свободный раздел (partition) /dev/sdc1 931.51 GiB (это внешний usb диск)
один свободный раздел (partition) /dev/sdd4 <28.87 GiB (эта установочная флешка)

Важно! Убедитесь, что устройства, которые вы собираетесь использовать в LVM, не содержат важных данных. Использование этих устройств в LVM перезапишет текущее содержимое. Если на устройствах уже есть важные данные, сделайте их резервные копии.

Для отображения информации о физических томах LVM используются команды pvs, pvdisplay и pvscan.

Команда pvchange позволяет запретить выделение физических экстентов или дополнительных физических томов, что может потребоваться в случае возникновения ошибок диска или при удалении физического тома.
Команда, запрещающая выделение физических экстентов на /dev/sdk1:

# pvchange -x n /dev/sdk1

При указании опций -xy выделение экстентов будет разрешено там, где раньше оно было запрещено.

Команда pvresize позволяет изменить размер блочного устройства. Ее можно выполнить, если LVM использует физический том.

Шаг 3 Создание физических томов.

Вы получили информацию о физических устройствах, и теперь их можно отметить как физические тома.
Выбираем раздел (partition) sda4. Эта команда присвоит устройствам заголовок LVM, чтобы указать, что их можно добавить в группу томов.

# pvcreate /dev/sda4
Physical volume “/dev/sda4” successfully created.

Проверяем

# lvmdiskscan
/dev/loop0 [ <27.09 MiB]
/dev/loop1 [ <54.95 MiB]
/dev/sda1 [ 512.00 MiB]
/dev/loop2 [ <68.97 MiB]
/dev/sda2 [ 128.00 GiB]
/dev/loop3 [ 96.98 MiB]
/dev/sda3 [ 300.00 GiB]
/dev/loop4 [ <125.85 MiB]
/dev/sda4 [ <1.22 TiB] LVM physical volume
/dev/sdb [ <1.64 TiB]
/dev/sdc1 [ 931.51 GiB]
/dev/sdd4 [ <28.87 GiB]
1 disk
10 partitions
0 LVM physical volume whole disks
1 LVM physical volume

Чтобы просмотреть физические тома, зарегистрированные в LVM, наберите:

# pvs
PV VG Fmt Attr PSize PFree
/dev/sda4 lvm2 — <1.22t <1.22t

Добавим диск /dev/sdb как физический том

# pvcreate /dev/sdb
Physical volume “/dev/sdb” successfully created.
# lvmdiskscan
/dev/loop0 [ <27.09 MiB]
/dev/loop1 [ <54.95 MiB]
/dev/sda1 [ 512.00 MiB]
/dev/loop2 [ <68.97 MiB]
/dev/sda2 [ 128.00 GiB]
/dev/loop3 [ 96.98 MiB]
/dev/sda3 [ 300.00 GiB]
/dev/loop4 [ <125.85 MiB]
/dev/sda4 [ <1.22 TiB] LVM physical volume
/dev/sdb [ <1.64 TiB] LVM physical volume
/dev/sdc1 [ 931.51 GiB]
/dev/sdd4 [ <28.87 GiB]
0 disks
10 partitions
1 LVM physical volume whole disk
1 LVM physical volume

Если pvcreate выдает ошибку

Device /dev/sda4 excluded by a filter

То удалить раздел /dev/sda4 и заново создать

pvcreate /dev/sda4

Можно удалить ненужные физические тома – pvremove

# pvremove /dev/sdb
Labels on physical volume “/dev/sdb” successfully wiped.
# lvmdiskscan
/dev/loop0 [ <27.09 MiB]
/dev/loop1 [ <54.95 MiB]
/dev/sda1 [ 512.00 MiB]
/dev/loop2 [ <68.97 MiB]
/dev/sda2 [ 128.00 GiB]
/dev/loop3 [ 96.98 MiB]
/dev/sda3 [ 300.00 GiB]
/dev/loop4 [ <125.85 MiB]
/dev/sda4 [ <1.22 TiB] LVM physical volume
/dev/sdb [ <1.64 TiB]
/dev/sdc1 [ 931.51 GiB]
/dev/sdd4 [ <28.87 GiB]
1 disk
10 partitions
0 LVM physical volume whole disks
1 LVM physical volume

Шаг 4 Добавление физического тома в группу томов

Теперь, когда у вас есть физические тома, можно создать группу томов. Для группы томов нужно выбрать имя. В большинстве случаев для максимальной гибкости в каждой системе находится одна группа томов. Будем называть группу томов vg
Чтобы создать группу томов и добавить в неё физические тома, введите:

# vgcreate vg /dev/sda4
Volume group “vg” successfully created
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda4 vg lvm2 a– <1.22t <1.22t

Чтобы получить краткую информацию о каждой группе томов, введите – vgs

# vgs
VG #PV #LV #SN Attr VSize VFree
vg 1 0 0 wz–n- <1.22t <1.22t

Теперь группа томов включает в себя один физический том и ни одного логического тома

Добавить физ том в группу томов

# vgextend vg /dev/sdb

Удалить физ том из группы томов

vgreduce vg /dev/sdb

Можно удалить группы томов vgremove

root@billsrv:~# vgremove vg
Volume group “vg” successfully removed
root@billsrv:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda4 lvm2 — <1.22t <1.22t

Видно, что отметка VG теперь пустая

Дополнительно пример, если добавим два физических тома – vgcreate vg /dev/sda4 /dev/sdb

# pvs
PV VG Fmt Attr PSize PFree
/dev/sda4 lvm2 — <1.22t <1.22t
/dev/sdb lvm2 — <1.64t <1.64t
# vgcreate vg /dev/sda4 /dev/sdb
Volume group “vg” successfully created
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda4 vg lvm2 a– <1.22t <1.22t
/dev/sdb vg lvm2 a– <1.64t <1.64t
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 0 0 wz–n- 2.85t 2.85t

Команды vgs и vgdisplay позволяют отобразить информацию о группах томов LVM.

Шаг 5 Создание логического тома из группы томов

Для отображения сведений о логических томах используются команды lvs, lvdisplay и lvscan.

# lvcreate -L 950G -n lv1 vg
Logical volume “lv1” created.
# vgs -o +lv_size,lv_name
VG #PV #LV #SN Attr VSize VFree LSize LV
vg 1 1 0 wz–n- <1.22t <296.95g 950.00g lv1

И осталось свободного( не распределленого простнства) <296.95g. Будем его использовать для создания snapshot

# pvs
PV VG Fmt Attr PSize PFree
/dev/sda4 vg lvm2 a– <1.22t <296.95g

Чтобы создать логические тома, используйте команду lvcreate. Укажите в команде группу томов и выберите имя логического тома с помощью параметра –n. Чтобы создать два логических тома, используйте –L:

# lvcreate -L 30G -n lv1 vg1
Logical volume “lv1” created.
# lvcreate -L 40G -n lv2 vg1
Logical volume “lv2” created.

Чтобы просмотреть логические тома и их связь с группой томов, введите:

# vgs -o +lv_size,lv_name
VG #PV #LV #SN Attr VSize VFree LSize LV
vg1 1 2 0 wz–n- 931.51g 861.51g 30.00g lv1
vg1 1 2 0 wz–n- 931.51g 861.51g 40.00g lv2

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

Оставшееся пространство можно присвоить последнему тому lv3 с помощью флага –l, который работает с экстентами. Чтобы передать тому всё оставшееся пространство, укажите в команде 100%FREE:

# lvcreate -l 100%FREE -n lv3 vg1
Logical volume “lv3” created.

Далее приведенная команда создаст логический том mylv, использующий 60% общего объема группы томов testvg.

# lvcreate -l 60%VG -n mylv testvg

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

# vgs -o +lv_size,lv_name
VG #PV #LV #SN Attr VSize VFree LSize LV
vg1 1 3 0 wz–n- 931.51g 0 30.00g lv1
vg1 1 3 0 wz–n- 931.51g 0 40.00g lv2
vg1 1 3 0 wz–n- 931.51g 0 861.51g lv3

Как видите, теперь оставшееся пространство принадлежит тому lv3. Группа томов vg1 полностью распределена.

Чтобы создать логический том на основе определенных физических томов, необходимо их указать в командной строке lvcreate. Так, следующая команда создаст логический том testlv на основе физического тома /dev/sdg1 в группе testvg.

# lvcreate -L 1500 -ntestlv testvg /dev/sdg1

Можно указать, какие экстенты физического тома будут использованы для образования логического тома. В следующем примере будет создан линейный логический том, в состав которого войдут экстенты физического тома /dev/sda1 с 0 по 25 и /dev/sdb1 c 50 по 125. Оба физических тома входят в состав группы testvg.

# lvcreate -l 100 -n testlv testvg /dev/sda1:0-25 /dev/sdb1:50-125

Следующий пример демонстрирует создание линейного логического тома на основе экстентов с 0 по 25 физического тома /dev/sda1 и затем продолжит, начиная с экстента 100.

# lvcreate -l 100 -n testlv testvg /dev/sda1:0-25:100-

Удалить логический том

# lvremove /dev/vg/lv1

Группы томов LVM и их логические тома включены в дерево каталогов специальных файлов устройств в /dev. Путь к ним:
/dev/vg/lv/
Например, если вы создали две группы томов myvg1 и myvg2 с томами lvo1, lvo2 и lvo3 в составе каждой группы, то при этом будет создано шесть специальных файлов:
/dev/myvg1/lv01
/dev/myvg1/lv02
/dev/myvg1/lv03
/dev/myvg2/lv01
/dev/myvg2/lv02
/dev/myvg2/lv03

Шаг 6 Форматирование и монтирование логических томов

Docker настоятельно рекомендует использваоть файловую систему XFS
xfs filesystems must have been created with d_type=true, which can be verified by using xfs_info and searching for ftype=1

Соотвественно форматировать будем под XFS. Проверяем, что у нас есть

# vgs -o +lv_size,lv_name
VG #PV #LV #SN Attr VSize VFree LSize LV
vg 1 1 0 wz–n- <1.22t <296.95g 950.00g lv1

Создаем файловую систему mkfs.xfs /dev/vg/lv1 -n ftype=1. Или форсированно, если не получилась предыдущая команда mkfs.xfs -f /dev/vg/lv1 -n ftype=1

# mkfs.xfs /dev/vg/lv1 -n ftype=1
meta-data=/dev/vg/lv1 isize=512 agcount=4, agsize=62259200 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=249036800, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=121600, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

Создаем точку монтирование

# mkdir -p /data

Монтируем

# mount /dev/vg/lv1 /data

Смотрим подробности

# blkid /dev/vg/lv1
/dev/vg/lv1: UUID=”c74444f5-bdc3-4e95-a68b-4192e461674b” TYPE=”xfs”
# ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Aug 1 07:47 1ef27f33-e6f1-40df-bad2-f589a4369142 -> ../../sda2
lrwxrwxrwx 1 root root 10 Aug 1 07:47 25168242-3aa6-4109-b563-79b04748ea59 -> ../../sda3
lrwxrwxrwx 1 root root 10 Aug 1 07:47 7B63-3625 -> ../../sda1
lrwxrwxrwx 1 root root 10 Aug 1 07:37 B4FE-5315 -> ../../sdd4
lrwxrwxrwx 1 root root 10 Aug 1 07:37 D4523C68523C520A -> ../../sdc1
lrwxrwxrwx 1 root root 10 Aug 1 08:58 c74444f5-bdc3-4e95-a68b-4192e461674b -> ../../dm-0

Прописываем строку в fstab

nano /etc/fstab
. . .

/dev/vg/lv1 /data xfs defaults,nofail 0 0

или

/dev/vg/lv1 /data xfs defaults,errors=remount-ro 0 1

# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use ‘blkid’ to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# /dev/disk/by-uuid/1ef27f33-e6f1-40df-bad2-f589a4369142 none swap sw 0 0
# / was on /dev/sda3 during curtin installation
/dev/disk/by-uuid/25168242-3aa6-4109-b563-79b04748ea59 / ext4 defaults 0 0
# /boot/efi was on /dev/sda1 during curtin installation
/dev/disk/by-uuid/7B63-3625 /boot/efi vfat defaults 0 0
/swap.img none swap sw 0 0
/dev/vg/lv1 /data xfs defaults,nofail 0 0

Дополнительно:
Логические тома можно использовать как обычные блочные устройства.

Логические устройства (как и другие устройства хранения) находятся в каталоге /dev. Вы можете получить к ним доступ двумя путями:

/dev/vg/lv1
/dev/mapper/vg-lv1

Чтобы отформатировать логическиt тома с файловой системой Ext4, введите:

# mkfs.ext4 /dev/vg/lv1
# mkfs.ext4 /dev/vg/lv2
# mkfs.ext4 /dev/vg/lv1
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 7864320 4k blocks and 1966080 inodes
Filesystem UUID: b8aacc0b-8fcc-48e3-94be-6cbd88228f02
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

# mkfs.ext4 /dev/vg/lv2
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 10485760 4k blocks and 2621440 inodes
Filesystem UUID: c8593b23-5662-495c-8f54-3f2840c71df3
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624

Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done

Или:

# mkfs.ext4 /dev/mapper/vg-lv1
# mkfs.ext4 /dev/mapper/vg-lv2

После этого можно создать точки монтирования:

# mkdir -p /mnt/{lv1,lv2}

Чтобы смонтировать логические тома, введите:

# mount /dev/vg/lv1 /mnt/lv1
# mount /dev/vg/lv1 /mnt/lv2

Чтобы настроить постоянную поддержку смонтированных томов, добавьте их в /etc/fstab:

# nano /etc/fstab
. . .
/dev/vg/lv1 /mnt/lv1 ext4 defaults,nofail 0 0
/dev/vg/lv2 /mnt/lv2 ext4 defaults,nofail 0 0

Теперь операционная система будет автоматически монтировать логические тома LVM во время загрузки.

# blkid /dev/vg/lv1
/dev/vg/lv1: UUID=”4bcb6b06-7f23-4aca-ae93-06b8fbd13552″ TYPE=”xfs”

Шаг 7 Создание томов-снимков shapshot

Для того чтобы создать том-снимок, используйте команду lvcreate с опцией -s.

Приведенная ниже команда создаст снимок исходного тома /dev/vg00/lvol1 размером 100 Мбайт с именем /dev/vg00/snap. Если исходный том содержит файловую систему, то можно смонтировать снимок в любую точку, тем самым получив доступ к содержимому файловой системы для создания резервной копии, в то время как исходная файловая система будет продолжать получать обновления.

lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1

Выполнив команду lvdisplay для исходных логических томов, можно отобразить список всех снимков и их статус (активный или неактивный).
В следующем примере вывод будет отображать состояние логического тома /dev/new_vg/lvol0, для которого ранее был создан снимок /dev/new_vg/newvgsnap.

# lvdisplay /dev/new_vg/lvol0
--- Logical volume ---
LV Name /dev/new_vg/lvol0
VG Name new_vg
LV UUID LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
LV Write Access read/write
LV snapshot status source of
/dev/new_vg/newvgsnap1 [active]
LV Status available
# open 0
LV Size 52.00 MB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:2

Команда lvs по умолчанию отображает исходный том и процентную часть тома-снимка. Следующий пример демонстрирует стандартный вывод команды lvs для системы с логическим томом /dev/new_vg/lvol0 с соотвествующим ему томом-снимком /dev/new_vg/newvgsnap.

# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
lvol0 new_vg owi-a- 52.00M
newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20

Так как размер снимка увеличивается с изменением исходного тома, достаточно важно следить за заполнением снимка. Для этого можно использовать команду lvs. При заполнении снимка на 100% он будет потерян, так как запись в неизменяемые участки исходного ресурса разрушит сам снимок.

Удаление

Прежде чем удалить физический том из группы, сначала убедитесь, что он не используется логическими томами. Для этого используйте команду pvdisplay.

# pvdisplay /dev/hda1

— Physical volume —
PV Name /dev/hda1
VG Name myvg
PV Size 1.95 GB / NOT usable 4 MB [LVM: 122 KB]
PV# 1
PV Status available
Allocatable yes (but full)
Cur LV 1
PE Size (KByte) 4096
Total PE 499
Free PE 0
Allocated PE 499
PV UUID Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7

Если физический том все еще используется, необходимо перенести данные на другой том (с помощью команды pvmove). И уже затем можно уменьшить размер физического тома, выполнив команду vgreduce:
Следующая команда удаляет физический том /dev/hda1 из группы my_volume_group:

# vgreduce my_volume_group /dev/hda1

АКТИВАЦИЯ И ДЕАКТИВАЦИЯ ГРУПП ТОМОВ

При создании группы томов она активирована по умолчанию. Это означает, что логические тома в составе этой группы доступны и могут изменяться.
Существует множество причин, по которым может понадобиться деактивировать группу томов. Для деактивации и активации группы томов используется опция -a (–available) команды vgchange.
Пример деактивации группы томов с именем my_volume_group:

# vgchange -a n my_volume_group

РАЗДЕЛЕНИЕ ГРУППЫ ТОМОВ

Чтобы разделить физические тома в группе с целью создания новой группы, используется команда vgsplit.
Логические тома не могут быть разделены между различными группами. Каждый существующий логический том должен полностью принадлежать физическим томам, входящим в состав либо уже существующей, либо новой группы томов. Для принуждения разбиения можно применить команду pvmove.
Следующий пример отделяет новую группу томов smallvg от исходной группы bigvg.

# vgsplit bigvg smallvg /dev/ram15
Volume group "smallvg" successfully split from "bigvg"

ОБЪЕДИНЕНИЕ ГРУПП ТОМОВ

Two combine two volume groups into a single volume group, use the vgmerge command. You can merge an inactive “source” volume with an active or an inactive “destination” volume if the physical extent sizes of the volume are equal and the physical and logical volume summaries of both volume groups fit into the destination volume groups limits.
Следующая команда включает неактивную группу томов my_vg в активную или неактивную группу databases с отображением подробных сведений о процессе выполнения.

vgmerge -v databases my_vg

ПЕРЕИМЕНОВАНИЕ ГРУППЫ ТОМОВ

Для переименования существующей группы томов используется команда vgrename.
Обе приведенные далее команды изменяют имя группы vg02 на my_volume_group.

# vgrename /dev/vg02 /dev/my_volume_group
# vgrename vg02 my_volume_group

ПЕРЕНОС ГРУППЫ ТОМОВ В ДРУГУЮ СИСТЕМУ

С помощью команд vgexport и vgimport можно осуществлять перемещение целой группы томов LVM между системами.
vgexport запрещает доступ к неактивной группе томов, чтобы можно было отключить ее физические тома. vgimport снова разрешает доступ к группе томов.
Последовательность действий при переносе группы томов между системами:
Убедитесь, что пользователи не обращаются к файлам в пределах активных томов в группе, затем демонтируйте логические тома.
Для того чтобы отметить группу томов как неактивную, используйте команду vgchange с аргументом -a n.
Команда vgexport позволяет экспортировать группы томов, что запрещает к доступ к этой группе из системы, откуда она будет удалена.
После завершения экспортирования группы томов, когда вы запустите команду pvscan, будет видно, что физический том принадлежит экспортируемой группе. Пример:

# pvscan
PV /dev/sda1 is in exported VG myvg [17.15 GB / 7.15 GB free]
PV /dev/sdc1 is in exported VG myvg [17.15 GB / 15.15 GB free]
PV /dev/sdd1 is in exported VG myvg [17.15 GB / 15.15 GB free]
...

Если система ожидает отключения, то можно отключить диски, заменяющие группу томов, и переподключить их в новую систему.
Когда диски уже подключены в новую систему, используйте команду vgimport для импорта группы томов, тем самым открывая к ней доступ из системы.
Опция -a y команды vgchange позволяет активировать группу томов.
Смонтируйте файловую систему.

ВОССТАНОВЛЕНИЕ КАТАЛОГА ГРУППЫ ТОМОВ

Чтобы воссоздать каталог группы томов и специальные файлы логических томов, используется команда vgmknodes. Она проверяет специальные файлы LVM2 в каталоге /dev, которые необходимы для работы активных логических томов. При этом будут созданы недостающие специальные файлы и удалены лишние файлы.
Функциональность vgmknodes можно включить в vgscan, указав опцию –mknodes.

Создание томов с чередованием

При создании логического тома с чередованием число сегментов задается с помощью опции -i команды lvcreate, что определяет число физических томов, используемых при чередовании. Это значение не может превышать число физических томов в группе (за исключением использования опции –alloc anywhere).
Если размеры физических устройств, на основе которых создан логический том, различаются, то максимальный объем тома с чередованием будет определяться размером наименьшего устройства. Например, если для организации чередования используются два физических тома, то максимальный размер логического тома будет равен удвоенному размеру наименьшего устройства. Если же используются три тома, максимальный размер будет равен утроенному размеру наименьшего устройства.
Следующая команда создаст логический том с чередованием на основе двух физических томов в составе группы vg0, при этом размер сегмента будет равен 64 Кб. Самому логическому тому будет присвоено имя gfslv, его размер будет равен 50 Гб.
# lvcreate -L 50G -i2 -I64 -n gfslv vg0
Так же как и в случае с линейными томами, можно специально указать определенные экстенты физического тома, которые будут заняты сегментами. В приведенном далее примере будет создан том с чередованием (с именем stripelv) на основе двух физических томов, размер которого будет составлять 100 экстентов. Новый том будет входить в состав группы testvg и занимать секторы 0-50 тома /dev/sda1 и 50-100 тома /dev/sdb1.
# lvcreate -l 100 -i2 -nstripelv testvg /dev/sda1:0-50 /dev/sdb1:50-100
Using default stripesize 64.00 KB
Logical volume "stripelv" created

Создание зеркальных томов

При создании зеркального логического тома необходимо указать число копий, для чего служит опция -m команды lvcreate. Так, если указать -m1, будет создано одно зеркало, что, в сущности, создаст две копии данных в файловой системе — линейный логический том и его копию. Аналогичным образом, если указать -m2, будут созданы два зеркала (всего три копии).
Ниже приведен пример создания зеркального логического тома размером 50 Гб с одним зеркалом. Ему будет присвоено имя mirrorlv, пространство для его создания будет выделено из группы vg0.
# lvcreate -L 50G -m1 -n gfslv vg0
Зеркало LVM разбивает копируемое устройство на регионы, размер которых по умолчанию равен 512 Кб. Чтобы задать другой размер (в мегабайтах), используйте опцию -R. LVM поддерживает краткий журнал синхронизации регионов с зеркалами. По умолчанию журнал хранится на диске, поэтому он не теряется при перезагрузке. Если же вы хотите, чтобы журнал находился в памяти, используйте опцию –corelog, что отменяет необходимость в устройстве журналирования, но в то же время требует, чтобы зеркало полностью синхронизировалось при каждой перезагрузке.
Приведенная ниже команда создаст логический том ondiskmirvol с одним зеркалом в группе bigvg. Размер тома равен 12 Мбайт, а журнал зеркала хранится в памяти.
# lvcreate -L 12MB -m1 --corelog -n ondiskmirvol bigvg
Logical volume "ondiskmirvol" created
Журнал зеркала будет создан на отдельном устройстве. Возможно создание журнала на том же устройстве, что и секция зеркала, — для этого служит ключ –alloc anywhere команды vgcreate. Это может отрицательно сказаться на производительности, но позволит создать зеркало, даже если в основу положено всего лишь два устройства.
Ниже приведен пример создания зеркального логического тома mirrorlv размером 50 Мбайт с одним зеркалом на основе группы томов vg0. При этом журнал зеркала расположен на том же устройстве, что и составляющая зеркала. В этом примере группа томов vg0 состоит из двух устройств.
# lvcreate -L 500M -m1 -n mirrorlv -alloc anywhere vg0
В момент создания зеркала выполняется синхронизация регионов зеркала. Если компоненты зеркала достаточно велики, процесс синхронизации может занять некоторое время. Если вы создаете новое зеркало, синхронизация которого необязательна, укажите опцию nosync.
Можно задать, на каких устройствах будут сохраняться журналы и какие экстенты устройств будут использоваться зеркалом. Чтобы ограничить журналирование определенным диском, укажите ТОЛЬКО один экстент на том диске, где должен располагаться журнал. LVM игнорирует порядок, в котором перечислены устройства. Если в списке присутствуют физические устройства, то только они и будут использоваться для выделения пространства; уже занятые физические будут проигнорированы.
Далее приведен пример команды создания зеркального логического тома mirrorlv размером 500 Мбайт с одним зеркалом. Том будет создан в составе группы vg0. Одна часть зеркала будет располагаться на устройстве /dev/sda1, вторая — на /dev/sdb1, а журнал будет храниться на /dev/sdc1.
#lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1 /dev/sdb1 /dev/sdc1
Следующая команда создаст логический том mirrorlv размером 500 Мбайт с одним зеркалом. Том будет создан в составе группы vg0. Одна часть зеркала будет занимать экстенты с 0 по 499 устройства /dev/sda1, вторая — экстенты с 0 по 499 устройства /dev/sdb1, а журнал будет храниться на /dev/sdc1, начиная с нулевого экстента. Размер экстента равен 1 Мбайт. Если заданные физические экстенты уже заняты, они будут просто проигнорированы.
# lvcreate -L 500M -m1 -n mirrorlv vg0 /dev/sda1:0-499 /dev/sdb1:0-499 /dev/sdc1:0

Изменение конфигурации зеркальных томов

С помощью команды lvconvert можно преобразовать тип логического тома из зеркального в линейный или из линейного в зеркальный. Эту команду также можно использовать для изменения параметров зеркала существующих логических томов (например, corelog).
При преобразовании логического тома в зеркальный, в сущности, вы просто создаете составляющие зеркала для уже существующего тома. Это значит, что группа томов должна иметь достаточно пространства и устройств для организации зеркал и хранения журнала.
Следующая команда преобразует линейный логический том vg00/lvol1 в зеркальный.
# lvconvert -m1 vg00/lvol1
Команда преобразования зеркального логического тома vg00/lvol1 в линейный с удалением зеркального компонента будет выглядеть так:
# lvconvert -m0 vg00/lvol1

ПЕРЕИМЕНОВАНИЕ ЛОГИЧЕСКИХ ТОМОВ

Чтобы переименовать существующий логический том, используйте команду lvrename.
Обе приведенные ниже команды изменят имя логического тома lvold в группе vg02 на lvnew.

# lvrename /dev/vg02/lvold /dev/vg02/lvnew
# lvrename vg02 lvold lvnew

УДАЛЕНИЕ ЛОГИЧЕСКИХ ТОМОВ

Удалить неактивный логический том можно с помощью команды lvremove. Сначала демонтируйте логический том (umount). В кластерном окружении необходимо деактивировать том перед его удалением.
Необходимо сначала демонтировать том.
Приведенная далее команда удалит логический том /dev/testvg/testlv из группы testvg. В этом примере логический том не был деактивирован заранее.

# lvremove /dev/testvg/testlv
Do you really want to remove active logical volume "testlv"? [y/n]: y
Logical volume "testlv" successfully removed

Том можно деактивировать отдельно с помощью команды lvchange -an, тогда предупреждение об удалении активного логического тома не будет отображено.

Error. Device /dev/sdc excluded by a filter.

Если мы получим следующее сообщение:

# pvcreate /dev/sdc
Device /dev/sdc excluded by a filter.

Посмотрим подробнее, в чем проблема:

# pvcreate /dev/sdc -vvv
…
/dev/sdc: size is 4194304 sectors
Closed /dev/sdc
/dev/sdc: Skipping: Partition table signature found
…

Сотрем таблицу разделов:

# dd if=/dev/zero of=/dev/sdc bs=1k count=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.000687572 s, 1.5 MB/s

Перечитаем таблицу разделов:

# blockdev --rereadpt /dev/sdc
# sfdisk -l /dev/sdc
Disk /dev/sdc: 261 cylinders, 255 heads, 63 sectors/track

Инициализируем Physical Volume на диске.

# pvcreate /dev/sdc

LVM

Шпаргалка. Список команд для работы с LVM

lvchange
Изменить атрибуты логического тома
lvcreate
Создать логический том
lvdisplay
Показать информацию о логическом томе
lvextend
Добавить места в логический том
lvmchange
(команда устарела, её лучше не использовать)
lvmdiskscan
Показать список устройств, которые могут быть использованы как физический том
lvmsadc
Собрать данные об активности использования LVM
lvmsar
Создать отчёт об активности использования LVM
lvreduce
Уменьшить размер логического тома
lvremove
Удалить логический том из системы
lvrename
Переименовать логический том
lvresize
Изменить размер логического тома
lvs
Показать информацию о логическом томе
lvscan
Показать список логических томов во всех группах томов
pvchange
Изменить атрибуты физического тома
pvcreate
Инициализировать физический том для использования в LVM
pvdata
Показать информацию (из метаданных на диске) о физическом томе
pvdisplay
Показать информацию о физическом томе
pvmove
Переместить эстенты с одного физического тома на другой
pvremove
Удалить метку LVM с физического тома
pvresize
Изменить размер физического тома, использующегося в группе томов
pvs
Показать информацию о физическом томе
pvscan
Показать список всех физических томов
vgcfgbackup
Сделать резервную копию конфигурации группы томов
vgcfgrestore
Восстановить из резервной копии конфигурацию группы томов
vgchange
Изменить атрибуты группы томов
vgck
Проверить целостность группы томов
vgconvert
Изменить формат метаданных группы томов
vgcreate
Создать группу томов
vgdisplay
Показать информацию о группе томов
vgexport
Разрегистрировать группу томов в системе
vgextend
Добавить физический том в группу томов
vgimport
Зарегистрировать эскпортированную группу томов в системе
vgmerge
Объединить группы томов
vgmknodes
Создать файлы устройств для групп томов в каталоге /dev/
vgreduce
Удалить физический том из группы томов
vgremove
Удалить группу томов
vgrename
Переименовать группу томов
vgs
Показать информацию о группах томов
vgscan
Выполнить поиск групп томов
vgsplit
Переместить физический том в новую группу томов

Теория

https://www.8host.com/blog/vvedenie-v-lvm-osnovnye-ponyatiya-i-operacii/

LVM (Logical Volume Management), или управление логическими томами – это технология управления устройствами хранения, позволяющая объединять области различных физических устройств в один логический том. С помощью подсистемы device mapper текущая версия LVM2 может объединять физические устройства хранения в группы и по мере необходимости выделять логические единицы из полученного тома.

Основными преимуществами LVM являются повышенная абстракция, гибкость и высокий контроль. Логическим томам можно присваивать описательные и понятные имена (например, databases или root-backup). Кроме того, по мере изменения требований к пространству том можно динамически изменять и перемещать между физическими устройствами в пуле текущей системы или легко экспортировать в другую систему. LVM также предлагает продвинутые функции: снепшоты, страйпинг и зеркалирование.

Терминология и архитектура LVM
Для начала нужно ознакомиться с базовыми понятиями и терминами LVM. Также важно иметь общее представление о том, как LVM организовывает запоминающие устройства.

Структуры управления хранилищами LVM
Работа LVM основана на иерархии физических устройств хранения. Рассмотрим основные уровни абстракции в этой иерархии LVM, начиная с самого простого.

Физические тома (physical volumes, префикс pv) – физические блочные устройства или другие устройства, подобные дискам (например, созданные device mapper устройства, такие как RAID-массивы). Они используются LVM в качестве исходного строительного материала для более высоких уровней абстракции. Физические тома – это обычные устройства хранения.
Группа томов (volume groups, префикс vg) – пул хранения, состоящий из нескольких физических томов. Группы томов абстрагируют характеристики базовых устройств и функционируют как единое логическое устройство (при этом объемы компонентов пула объединяются).
Логический том (logical volumes, префикс lv или lvm) – это логический раздел, который выделяется из единого пространства группы томов. Логические тома эквивалентны разделам на физическом диске, но они гораздо более гибкие. Логические тома являются основным компонентом, с которым будут взаимодействовать пользователи и приложения.
Таким образом, LVM может объединять физические тома в группы томов и получить общий пул памяти, доступной в системе. В дальнейшем этот пул можно делить на произвольные логические тома, которые функционируют как гибкие разделы.

Что такое экстенты?
Каждый том в группе томов сегментируется на небольшие куски фиксированного размера, называемые экстентами. Размер экстентов определяется группой томов (все тома в группе соответствуют одному размеру экстента).

Экстенты на физических устройствах называются экстентами. Экстенты в логическом томе называются логическими экстентами. Логический том получается в результате преобразования физических экстентов в логические. Поэтому размер экстента представляет собой наименьший объем пространства, который может быть выделен в LVM.

В значительной степени гибкость и производительность LVM обеспечивается экстентами. Логические экстенты, которые LVM представляет в виде единого устройства, не должны сопоставляться с непрерывными физическими экстентами. LVM может копировать и реорганизовывать физические экстенты, которые составляют логический том, без прерывания работы пользователей. Логические тома также можно легко расширить или уменьшить, просто добавив или удалив экстенты из тома.

https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/5/html/logical_volume_manager_administration/index

https://www.dmosk.ru/instruktions.php?object=lvm#import

https://habr.com/ru/post/67283/

http://xgu.ru/wiki/LVM#.D0.A1.D0.BB.D0.B8.D1.8F.D0.BD.D0.B8.D0.B5_LVM

https://losst.ru/sozdanie-i-nastrojka-lvm-linux1

Вам может быть интересно
  • Сертификат ssl
  • Replica set
  • VPN server
  • MySql
  • Кодировки
  • АДС (Автоматизированная дисп служба)
  • Copyright 2020 AGIS. Все права защищены