Перевел: Graf
Дата перевода: октябрь 2023 г.
Оригинал: http://slackware.osuosl.org/slackware-15.0/README_LVM.TXT


Установка Slackware на логические тома (LV)


Введение

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

Подготовка логических томов (LV)

Существующие LV

Программа установки Slackware найдет и активирует любые уже существующие логические тома на жестком диске (дисках). Эти логические тома будут целевыми для создания файловых систем (например, /, /usr, /home, /var).

Новые LV

Если вам необходимо создать LV, то это нужно сделать до начала запуска программы «setup». Вам придется поработать с (с)fdisk для создания разделов, которые будут использоваться для создания логических томов. Для таких разделов, которые будут использоваться для LVM, вы должны установить тип «8е»(Linux LVM).

В следующем примере, я буду считать, что мы используем один раздел 20 Гб «/dev/sda1» для нашей группы томов (VG). С LVM, можно использовать несколько физических томов VG (например, разделы, все диски), но это будет упражнением для читателя. Вы всегда можете добавить дополнительные физические тома к VG позже. Мы создадим VG под названием «myvg» и два LV — «root» и «home». Первый будет содержать корневой раздел «/», а второй станет нашим разделом «/home».

После загрузки компьютера с Slackware CD/DVD/USB и входа в систему как root выполните следующую последовательность команд для создания Физического Тома (PV), группы томов (VG) в рамках PV и два LV размерами 15 Гб (root) и 4 Гб (home) в VG:

 # pvcreate /dev/sda1
 # vgcreate myvg /dev/sda1
 # lvcreate -L 15G -n root myvg
 # lvcreate -L 4G -n home myvg
Примечание: если вы хотите, вы можете просто выделить все оставшееся пространство внутри VG на логическом томе. Предположим, мы хотим, распределить все доступное пространство для нашего «home» LV, тогда будет такая команда (обратите внимание на использование «-l» вместо «-L» ):
 # lvcreate -l 100%FREE -n home myvg

Устройства для логических томов созданы и активировались автоматически, при запуске lvcreate. Это все, что нужно сделать перед запуском «setup».

Использование LVM во время установки

Во время установки, когда вы будете выбирать разделы в главном меню, вы заметите, что LV также стали доступны для выбора. Наши две LV «root» и «home» видны как «/dev/myvg/root» и «/dev/myvg/home». Выберите первую для корневой (‘/’) файловой системы, а другую для «/home». Создайте любую файловую систему на них. Мой любимый тип фс остается ext4, но вы можете выбрать другие, такие как btrfs, JFS или XFS.

Установка будет происходить как обычно, но когда вы дойдете до диалогового окна настройки LILO, то это, почти, последняя ручная настройка. Приступите к настройке LILO, как обычно, и выберите пункт «/dev/myvg/root», как корневую файловую систему для загрузки. Когда вы установите LILO, он, вероятно, не будет жаловаться, но знайте, что для работы с корневой файловой системой на логическом томе, требуется начальный виртуальный диск(Initrd). Установщик Slackware не создаст его для вас, что потребует некоторого вмешательства после завершения установки и возврата в командную строку. На данный момент, вы можете продолжить установку Slackware как обычно, но в конце просто не перезагружайтесь!

В конце установки вам будет предложено выбрать «EXIT» и нажать «Ctrl-Alt-Del» для перезагрузки компьютера. Выйдите из меню, но не перезагружайтесь! Создадим образ Initrd. К счастью, программа установки Slackware сделала часть работы за нас. Создала узлы LVM, которые нужны LILO для успешного завершения установки,смонтировала «/sys» и «/proc» файловые системы. Внутри «изолированной» среды, мы создадим образ Initrd и настроим LILO для использования его с общим (generic) ядром.

Перейдем в «изолированную» среду в нашей вновь установленной системе:

 # chroot /mnt

Далее, в то время как мы находимся в «изолированной» среде, создадим Initrd с поддержкой LVM — в примере командной строки я предполагаю, что корневая файловая система «ext4», используется LV «/dev/myvg/root» в качестве корневого устройства, и работает Slackware 15.0 с SMP-ядром по молчанию «5.15.19-smp»:

 # mkinitrd -c -k 5.15.19-smp -m ext4 -f ext4 -r /dev/myvg/root -L

В результате образ initrd будет записан в файл по умолчанию «/boot/initrd.gz». Мы должны сообщить LILO об этом initrd. Откройте конфигурационный файл «/etc/lilo.conf» в редакторе, например в VI или pico — он должен быть уже сгенерирован «liloconfig» во время установки. Посмотрите на «Linux bootable partition config» и добавьте строку для initrd. Кроме того, мы изменили имя файла ядра, которые будут использоваться. По умолчанию «liloconfig» добавляет имя файла «/boot/vmlinuz», который является символической ссылкой на «huge smp» ядро. Помните, что мы нуждаемся в «generic» ядре для Initrd. Конечный результат должен выглядеть примерно так:

 image = /boot/vmlinuz-generic-smp-5.15.19-smp
 initrd = /boot/initrd.gz
 root = /dev/myvg/root
 label = linux
 read-only

Дважды убедитесь, что (label)метка («Linux» в примере выше) является уникальной в файле конфигурации /etc/lilo.conf. Если вас все устраивает, сохраните изменения, выйдите из редактора и запустить команду «LILO» не выходя из «изолированной»(chroot) среды. Lilo выдаст несколько предупреждений, касающихся доступности разделов «/proc/partitions» и то, что LILO об этом думает, но их можно проигнорировать.

  • Альтернативный метод создания командной строки для mkinitrd это использование сценария «/usr/share/mkinitrd/mkinitrd_command_generator.sh», который является частью пакета mkinitrd. Этот скрипт проанализирует установку Slackware и покажет вам как с пользой использовать «mkinitrd» в командной строке:
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -r

Эта команда выдаст командную строку (почти) точно такую же, как я показал ранее в этом README. Если вы уверены, что это правильная команда для вас, то нет необходимости вводить её вручную; достаточно прописать сценарий в «$ ()», которая на самом деле, выполнит команду и создаcт Initrd:

# $( /usr/share/mkinitrd/mkinitrd_command_generator.sh -r )

Все, что осталось, это обновить «/etc/lilo.conf» и запустить «LILO».

Вы делали все в изолированной среде (chroot). Выйдите из нее, выполнив команду «exit» и вернитесь в оригинал приглашения консоли (она, практически, не отличается от приглашения в «изолированной» окружающей среде!). Это завершит установку Slackware. Удачи вам в вашей свежеустановленной «Slackware с корневой файловой системой-на-LVM»!

Слово об использовании логических томов для подкачки (swap)

Программа установки способна обнаружить логический том и использовать его в качестве swap раздела, при условии, что вы вручную отформатировали LV как swap до запуска «setup». Таким образом, вы сможете выбрать его в качестве раздела подкачки в меню «ADDSWAP». Программа установки проверит все логические тома на заголовки подкачки. Вот так вы создаете LV, учитывая, что ранее уже создали группу томов «myvg» — см. выше — и оставили достаточную часть пространства в VG:

  # lvcreate -L 1G -n swap myvg

Эта команда создает 1 Гб большого логического тома под названием «swap» (можете придумать другое имя) в группе томов «myvg». Затем отформатируете том для использования в качестве раздела подкачки:

 # mkswap /dev/myvg/swap

Этого достаточно, чтобы программа установки его признала. Удачи!


Автор:
Eric Hameleers alien@slackware.com 13-окт-2013
Wiki URLs:
http://www.slackware.com/~alien/dokuwiki/doku.php?id=slackware:setup
Documentation:
/usr/doc/Linux-HOWTOs/LVM-HOWTO

Навигация
Печать/экспорт
QR Code
QR Code wiki:od:rlvm_150 (generated for current page)