LVM Guide · 6 min read · Oct 08, 2025

Руководство для начинающих по LVM - Страница 7

После этого мы подготавливаем /dev/md0 и /dev/md1 для LVM:

pvcreate /dev/md0 /dev/md1
server1:~# pvcreate /dev/md0 /dev/md1  
  Physical volume "/dev/md0" successfully created  
  Physical volume "/dev/md1" successfully created

и расширяем нашу группу томов файлового сервера:

vgextend fileserver /dev/md0 /dev/md1
server1:~# vgextend fileserver /dev/md0 /dev/md1  
  Volume group "fileserver" successfully extended

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

pvdisplay

и

vgdisplay

должны выглядеть следующим образом:

server1:~# pvdisplay  
  --- Physical volume ---  
  PV Name               /dev/sdb1  
  VG Name               fileserver  
  PV Size               23.29 GB / not usable 0  
  Allocatable           yes (but full)  
  PE Size (KByte)       4096  
  Total PE              5961  
  Free PE               0  
  Allocated PE          5961  
  PV UUID               USDJyG-VDM2-r406-OjQo-h3eb-c9Mp-4nvnvu  
   
  --- Physical volume ---  
  PV Name               /dev/sdd1  
  VG Name               fileserver  
  PV Size               23.29 GB / not usable 0  
  Allocatable           yes  
  PE Size (KByte)       4096  
  Total PE              5961  
  Free PE               146  
  Allocated PE          5815  
  PV UUID               qdEB5d-389d-O5UA-Kbwv-mn1y-74FY-4zublN  
   
  --- Physical volume ---  
  PV Name               /dev/md0  
  VG Name               fileserver  
  PV Size               23.29 GB / not usable 0  
  Allocatable           yes  
  PE Size (KByte)       4096  
  Total PE              5961  
  Free PE               5961  
  Allocated PE          0  
  PV UUID               7JHUXF-1R2p-OjbJ-X1OT-uaeg-gWRx-H6zx3P  
   
  --- Physical volume ---  
  PV Name               /dev/md1  
  VG Name               fileserver  
  PV Size               23.29 GB / not usable 0  
  Allocatable           yes  
  PE Size (KByte)       4096  
  Total PE              5961  
  Free PE               5961  
  Allocated PE          0  
  PV UUID               pwQ5AJ-RwVK-EebA-0Z13-d27d-2IdP-HqT5RW
server1:~# vgdisplay  
  --- Volume group ---  
  VG Name               fileserver  
  System ID  
  Format                lvm2  
  Metadata Areas        4  
  Metadata Sequence No  14  
  VG Access             read/write  
  VG Status             resizable  
  MAX LV                0  
  Cur LV                3  
  Open LV               3  
  Max PV                0  
  Cur PV                4  
  Act PV                4  
  VG Size               93.14 GB  
  PE Size               4.00 MB  
  Total PE              23844  
  Alloc PE / Size       11776 / 46.00 GB  
  Free  PE / Size       12068 / 47.14 GB  
  VG UUID               dQDEHT-kNHf-UjRm-rmJ3-OUYx-9G1t-aVskI1

Теперь мы перемещаем содержимое /dev/sdb1 на /dev/md0 и содержимое /dev/sdd1 на /dev/md1, затем удаляем /dev/sdb1 и /dev/sdd1 из LVM:

pvmove /dev/sdb1 /dev/md0
pvmove /dev/sdd1 /dev/md1
vgreduce fileserver /dev/sdb1 /dev/sdd1  
 pvremove /dev/sdb1 /dev/sdd1

Теперь должны остаться только /dev/md0 и /dev/md1 в качестве физических томов:

pvdisplay
server1:~# pvdisplay  
  --- Physical volume ---  
  PV Name               /dev/md0  
  VG Name               fileserver  
  PV Size               23.29 GB / not usable 0  
  Allocatable           yes (but full)  
  PE Size (KByte)       4096  
  Total PE              5961  
  Free PE               0  
  Allocated PE          5961  
  PV UUID               7JHUXF-1R2p-OjbJ-X1OT-uaeg-gWRx-H6zx3P  
   
  --- Physical volume ---  
  PV Name               /dev/md1  
  VG Name               fileserver  
  PV Size               23.29 GB / not usable 0  
  Allocatable           yes  
  PE Size (KByte)       4096  
  Total PE              5961  
  Free PE               146  
  Allocated PE          5815  
  PV UUID               pwQ5AJ-RwVK-EebA-0Z13-d27d-2IdP-HqT5RW

Теперь мы форматируем /dev/sdb1 с помощью fd (автоопределение RAID Linux):

fdisk /dev/sdb

server1:~# fdisk /dev/sdb

Количество цилиндров для этого диска установлено на 32635.
С этим нет ничего плохого, но это больше 1024,
и может в некоторых настройках вызвать проблемы с:

  1. программным обеспечением, которое работает во время загрузки
    (например, старые версии LILO)
  2. загрузкой и программным обеспечением для разделов
    (например, DOS FDISK, OS/2 FDISK)

Команда (m для помощи): <– m
Команда действия
a переключить флаг загрузки
b редактировать метку диска bsd
c переключить флаг совместимости dos
d удалить раздел
l перечислить известные типы разделов
m напечатать это меню
n добавить новый раздел
o создать новую пустую таблицу разделов DOS
p напечатать таблицу разделов
q выйти без сохранения изменений
s создать новую пустую метку диска Sun
t изменить системный идентификатор раздела
u изменить единицы отображения/ввода
v проверить таблицу разделов
w записать таблицу на диск и выйти
x дополнительная функциональность (только для экспертов)

Команда (m для помощи): <– t
Выбранный раздел 1
Шестнадцатеричный код (тип L для перечисления кодов): <– fd
Изменен системный тип раздела 1 на fd (автоопределение RAID Linux)

Команда (m для помощи): <– w
Таблица разделов была изменена!

Вызов ioctl() для повторного чтения таблицы разделов.
Синхронизация дисков.

Сделайте то же самое с /dev/sdd1:

fdisk /dev/sdd

Затем добавьте /dev/sdb1 к /dev/md0 и /dev/sdd1 к /dev/md1:

mdadm --manage /dev/md0 --add /dev/sdb1
server1:~# mdadm --manage /dev/md0 --add /dev/sdb1  
 mdadm: added /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdd1
server1:~# mdadm --manage /dev/md1 --add /dev/sdd1  
 mdadm: added /dev/sdd1

Теперь два массива RAID будут синхронизированы. Это займет некоторое время, вы можете проверить с помощью

cat /proc/mdstat

когда процесс завершится. Вывод выглядит так для незавершенного процесса:

server1:~# cat /proc/mdstat  
 Личности : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
 md1 : активный raid1 sdd1[2] sde1[0]  
     24418688 блоков [2/1] [U_]  
     [=>...................]  восстановление =  6.4% (1586560/24418688)  завершение=1.9мин скорость=198320K/сек  
   
 md0 : активный raid1 sdb1[2] sdc1[0]  
     24418688 блоков [2/1] [U_]  
     [==>..................]  восстановление = 10.5% (2587264/24418688)  завершение=2.8мин скорость=129363K/сек  
   
 неиспользуемые устройства: 

и так, когда процесс завершен:

server1:~# cat /proc/mdstat  
 Личности : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
 md1 : активный raid1 sdd1[1] sde1[0]  
     24418688 блоков [2/2] [UU]  
   
 md0 : активный raid1 sdb1[1] sdc1[0]  
     24418688 блоков [2/2] [UU]  
   
 неиспользуемые устройства: 

Если вы посмотрите на размер PV в выводе команды

pvdisplay

вы увидите, что 2 * 23.29GB = 46.58GB доступны, однако только 40GB (share) + 5GB (backup) + 1GB (media) = 46GB используются, что означает, что мы могли бы расширить одно из наших логических устройств примерно на 0.5GB. Я уже показал, как расширить логический том ext3 (share), поэтому мы сейчас изменим размер media, который использует reiserfs. Файловые системы reiserfs можно изменять без размонтирования:

lvextend -L1.5G /dev/fileserver/media
server1:~# lvextend -L1.5G /dev/fileserver/media  
  Расширение логического тома media до 1.50 GB  
  Логический том media успешно изменен
resize_reiserfs /dev/fileserver/media
server1:~# resize_reiserfs /dev/fileserver/media  
 resize_reiserfs 3.6.19 (2003 www.namesys.com)
resize_reiserfs: Успешно завершено изменение размера в режиме онлайн.

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

df -h

выглядит так:

server1:~# df -h  
 Файловая система            Размер  Использовано Доступно Использовано%  Смонтировано на  
 /dev/sda2                 19G  666M   17G   4% /  
 tmpfs                     78M     0   78M   0% /lib/init/rw  
 udev                      10M   92K   10M   1% /dev  
 tmpfs                     78M     0   78M   0% /dev/shm  
 /dev/sda1                 137M   17M  114M  13% /boot  
 /dev/mapper/fileserver-share  
                        40G  177M   38G   1% /var/share  
 /dev/mapper/fileserver-backup  
                        5.0G  144K  5.0G   1% /var/backup  
 /dev/mapper/fileserver-media  
                        1.5G  33M  1.5G   3% /var/media

Если мы хотим, чтобы наши логические тома автоматически монтировались при загрузке, мы должны снова изменить /etc/fstab (как в главе 3):

mv /etc/fstab /etc/fstab_orig  
 cat /dev/null > /etc/fstab
vi /etc/fstab

Поместите следующее в него:

| # /etc/fstab: статическая информация о файловой системе. # # <файловая система> <точка монтирования> <тип> <опции> <дамп> <проход> proc /proc proc defaults 0 0 /dev/sda2 / ext3 defaults,errors=remount-ro 0 1 /dev/sda1 /boot ext3 defaults 0 2 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 /dev/fileserver/share /var/share ext3 rw,noatime 0 0 /dev/fileserver/backup /var/backup xfs rw,noatime 0 0 /dev/fileserver/media /var/media reiserfs rw,noatime 0 0 |

Если вы сравните это с нашей резервной копией оригинального файла, /etc/fstab_orig, вы заметите, что мы добавили строки:

/dev/fileserver/share   /var/share     ext3       rw,noatime    0 0  
/dev/fileserver/backup    /var/backup      xfs        rw,noatime    0 0  
/dev/fileserver/media    /var/media      reiserfs   rw,noatime    0 0

Теперь мы перезагружаем систему:

shutdown -r now

После того как система снова запустится, выполните

df -h

снова. Он все еще должен показывать наши логические тома в выводе:

server1:~# df -h  
 Файловая система            Размер  Использовано Доступно Использовано%  Смонтировано на  
 /dev/sda2                 19G  666M   17G   4% /  
 tmpfs                     78M     0   78M   0% /lib/init/rw  
 udev                      10M   100K   10M   1% /dev  
 tmpfs                     78M     0   78M   0% /dev/shm  
 /dev/sda1                 137M   17M  114M  13% /boot  
 /dev/mapper/fileserver-share  
                        40G  177M   38G   1% /var/share  
 /dev/mapper/fileserver-backup  
                        5.0G  144K  5.0G   1% /var/backup  
 /dev/mapper/fileserver-media  
                        1.5G  33M  1.5G   3% /var/media

Теперь мы закончили с нашей настройкой LVM на RAID1.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.