LVM · 7 min read · Oct 09, 2025

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

6 Возврат к исходному состоянию системы

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

Сначала мы должны размонтировать наши логические тома:

umount /var/share  
 umount /var/backup  
 umount /var/media
df -h
server1:~# df -h  
 Файловая система            Размер  Использовано Доступно Использовано% Смонтировано на  
 /dev/sda2                  19G   665M   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

Затем мы удаляем каждый из них:

lvremove /dev/fileserver/share

server1:~# lvremove /dev/fileserver/share
Вы действительно хотите удалить активный логический том “share”? [y/n]: <– y
Логический том “share” успешно удален

lvremove /dev/fileserver/backup

server1:~# lvremove /dev/fileserver/backup
Вы действительно хотите удалить активный логический том “backup”? [y/n]: <– y
Логический том “backup” успешно удален

lvremove /dev/fileserver/media

server1:~# lvremove /dev/fileserver/media
Вы действительно хотите удалить активный логический том “media”? [y/n]: <– y
Логический том “media” успешно удален

Далее мы удаляем группу томов fileserver:

vgremove fileserver
server1:~# vgremove fileserver  
   Группа томов "fileserver" успешно удалена

Наконец, мы делаем это:

pvremove /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
server1:~# pvremove  /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1  
   Метки на физическом томе "/dev/sdc1" успешно стерты  
   Метки на физическом томе "/dev/sdd1" успешно стерты  
   Метки на физическом томе "/dev/sde1" успешно стерты  
   Метки на физическом томе "/dev/sdf1" успешно стерты
vgdisplay
server1:~# vgdisplay  
   Группы томов не найдены
pvdisplay

должен ничего не отображать:

server1:~# pvdisplay

Теперь мы должны отменить наши изменения в /etc/fstab, чтобы избежать того, чтобы система пыталась смонтировать несуществующие устройства. К счастью, мы сделали резервную копию оригинального файла, который мы можем скопировать обратно сейчас:

mv /etc/fstab_orig /etc/fstab

Перезагрузите систему:

shutdown -r now

После этого вывод команды

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/sdb1 - /dev/sdf1 все еще существуют - вы могли бы удалить их с помощью fdisk, но мы не будем делать это сейчас - а также директории /var/share, /var/backup и /var/media, которые мы также не удаляем).

7 LVM на RAID1

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

Это означает, что мы создадим массив RAID /dev/md0 из разделов /dev/sdb1 + /dev/sdc1, и массив RAID /dev/md1 из разделов /dev/sdd1 + /dev/sde1. /dev/md0 и /dev/md1 затем будут физическими томами для LVM.

Прежде чем мы перейдем к этому, мы настраиваем LVM, как и раньше:

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1  
 vgcreate fileserver /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1  
 lvcreate --name share --size 40G fileserver  
 lvcreate --name backup --size 5G fileserver  
 lvcreate --name media --size 1G fileserver
mkfs.ext3 /dev/fileserver/share  
 mkfs.xfs /dev/fileserver/backup  
 mkfs.reiserfs /dev/fileserver/media

Затем мы монтируем наши логические тома:

mount /dev/fileserver/share /var/share  
 mount /dev/fileserver/backup /var/backup  
 mount /dev/fileserver/media /var/media

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

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.0G   33M  992M   4%  /var/media

Теперь мы должны переместить содержимое /dev/sdc1 и /dev/sde1 ( /dev/sdc1 - это второй раздел нашего будущего /dev/md0, /dev/sde1 - второй раздел нашего будущего /dev/md1) в оставшиеся разделы, потому что мы затем удалим их из LVM и отформатируем их с типом fd (Linux RAID autodetect) и переместим их в /dev/md0 и /dev/md1 соответственно.

modprobe dm-mirror  
 pvmove /dev/sdc1
vgreduce fileserver /dev/sdc1  
 pvremove /dev/sdc1
pvdisplay
server1:~# pvdisplay  
   --- Физический том ---  
   PV Имя               /dev/sdb1  
   VG Имя               fileserver  
   PV Размер               23.29 GB / не используется 0  
   Allocatable           да (но полный)  
   PE Размер (KByte)       4096  
   Всего PE              5961  
   Свободный PE               0  
   Занятый PE          5961  
   PV UUID               USDJyG-VDM2-r406-OjQo-h3eb-c9Mp-4nvnvu  
   
   --- Физический том ---  
   PV Имя               /dev/sdd1  
   VG Имя               fileserver  
   PV Размер               23.29 GB / не используется 0  
   Allocatable           да  
   PE Размер (KByte)       4096  
   Всего PE              5961  
   Свободный PE               4681  
   Занятый PE          1280  
   PV UUID               qdEB5d-389d-O5UA-Kbwv-mn1y-74FY-4zublN  
   
   --- Физический том ---  
   PV Имя               /dev/sde1  
   VG Имя               fileserver  
   PV Размер               23.29 GB / не используется 0  
   Allocatable           да  
   PE Размер (KByte)       4096  
   Всего PE              5961  
   Свободный PE               1426  
   Занятый PE          4535  
   PV UUID               4vL1e0-sr2M-awGd-qDJm-ZrC9-wuxW-2lEqp2
pvmove /dev/sde1
vgreduce fileserver /dev/sde1  
 pvremove /dev/sde1
pvdisplay
server1:~# pvdisplay  
   --- Физический том ---  
   PV Имя               /dev/sdb1  
   VG Имя               fileserver  
   PV Размер               23.29 GB / не используется 0  
   Allocatable           да (но полный)  
   PE Размер (KByte)       4096  
   Всего PE              5961  
   Свободный PE               0  
   Занятый PE          5961  
   PV UUID               USDJyG-VDM2-r406-OjQo-h3eb-c9Mp-4nvnvu  
   
   --- Физический том ---  
   PV Имя               /dev/sdd1  
   VG Имя               fileserver  
   PV Размер               23.29 GB / не используется 0  
   Allocatable           да  
   PE Размер (KByte)       4096  
   Всего PE              5961  
   Свободный PE               146  
   Занятый PE          5815  
   PV UUID               qdEB5d-389d-O5UA-Kbwv-mn1y-74FY-4zublN

Теперь мы форматируем /dev/sdc1 с типом fd (Linux RAID autodetect):

fdisk /dev/sdc

server1:~# fdisk /dev/sdc
Количество цилиндров для этого диска установлено на 10443.
С этим нет ничего плохого, но это больше 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 для перечисления кодов): <– L

0 Пусто 1e Скрытый W95 FAT1 80 Старый Minix be Загрузочный Solaris
1 FAT12 24 NEC DOS 81 Minix / старый Lin bf Solaris
2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 скрытый C: c6 DRDOS/sec (FAT-
5 Расширенный 41 PPC PReP Boot 85 Linux расширенный c7 Syrinx
6 FAT16 42 SFS 86 NTFS volume set da Неподходящие данные
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
9 AIX загрузочный 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS доступ
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 Скрытый FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Compaq диагност 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 Скрытый FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16 Скрытый FAT16 63 GNU HURD или Sys ab Darwin boot f2 DOS вторичный
17 Скрытый HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
1b Скрытый W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT
1c Скрытый W95 FAT3 75 PC/IX
Шестнадцатеричный код (тип L для перечисления кодов): <– fd
Изменен системный тип раздела 1 на fd (Linux raid autodetect)

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

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

Теперь сделайте то же самое с /dev/sde1:

fdisk /dev/sde

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

fdisk -l

теперь должен выглядеть так:

server1:~# fdisk -l  
  
 Диск /dev/sda: 21.4 GB, 21474836480 байт  
 255 голов, 63 сектора/трек, 2610 цилиндров  
 Единицы = цилиндры из 16065 * 512 = 8225280 байт  
  
   Устройство Загрузка      Начало         Конец      Блоки   Id  Система  
 /dev/sda1   *           1          18      144553+  83  Linux  
 /dev/sda2              19        2450    19535040   83  Linux  
 /dev/sda4            2451        2610     1285200   82  Linux swap / Solaris  
  
 Диск /dev/sdb: 85.8 GB, 85899345920 байт  
 255 голов, 63 сектора/трек, 10443 цилиндров  
 Единицы = цилиндры из 16065 * 512 = 8225280 байт  
  
   Устройство Загрузка      Начало         Конец      Блоки   Id  Система  
 /dev/sdb1               1        3040    24418768+  8e  Linux LVM  
  
 Диск /dev/sdc: 85.8 GB, 85899345920 байт  
 255 голов, 63 сектора/трек, 10443 цилиндров  
 Единицы = цилиндры из 16065 * 512 = 8225280 байт  
  
   Устройство Загрузка      Начало         Конец      Блоки   Id  Система  
 /dev/sdc1               1        3040    24418768+  fd  Linux raid autodetect  
  
 Диск /dev/sdd: 85.8 GB, 85899345920 байт  
 255 голов, 63 сектора/трек, 10443 цилиндров  
 Единицы = цилиндры из 16065 * 512 = 8225280 байт  
  
   Устройство Загрузка      Начало         Конец      Блоки   Id  Система  
 /dev/sdd1               1        3040    24418768+  8e  Linux LVM  
  
 Диск /dev/sde: 85.8 GB, 85899345920 байт  
 255 голов, 63 сектора/трек, 10443 цилиндров  
 Единицы = цилиндры из 16065 * 512 = 8225280 байт  
  
   Устройство Загрузка      Начало         Конец      Блоки   Id  Система  
 /dev/sde1               1        3040    24418768+  fd  Linux raid autodetect  
  
 Диск /dev/sdf: 85.8 GB, 85899345920 байт  
 255 голов, 63 сектора/трек, 10443 цилиндров  
 Единицы = цилиндры из 16065 * 512 = 8225280 байт  
  
   Устройство Загрузка      Начало         Конец      Блоки   Id  Система  
 /dev/sdf1               1        3040    24418768+  8e  Linux LVM

Далее мы добавляем /dev/sdc1 в /dev/md0 и /dev/sde1 в /dev/md1. Поскольку вторые узлы ( /dev/sdb1 и /dev/sdd1) еще не готовы, мы должны указать missing в следующих командах:

mdadm --create /dev/md0 --auto=yes -l 1 -n 2 /dev/sdc1 missing
server1:~# mdadm --create /dev/md0 --auto=yes -l 1 -n 2 /dev/sdc1 missing  
 mdadm: массив /dev/md0 запущен.
mdadm --create /dev/md1 --auto=yes -l 1 -n 2 /dev/sde1 missing
server1:~# mdadm --create /dev/md1 --auto=yes -l 1 -n 2 /dev/sde1 missing  
 mdadm: массив /dev/md1 запущен.
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.