Это старая версия документа!
Содержание
Перевел: Graf
Дата перевода: декабрь 2013 г.
Оригинал: http://slackware.osuosl.org/slackware-14.1/README_LVM.TXT
Установка Slackware на логические тома (LV) |
---|
Введение
В течение долгого времени, поддержка установки на логические тома, была общей для всех других дистрибутивов. В Slackware такая установка никогда не поддерживалась, но гуру обычно находили способ для создания логических томов и устанавливали или переносили на них Slackware. Получить Slackware полностью установленный на LVM было, практически, невозможно до версии 12.0. В Slackware 14.1 поддержка LVM была улучшена и встроена в установщик.
Подготовка логических томов (LV)
Существующие LV
Программа установки Slackware найдет и активирует любые уже существующие логические тома на жестком диске (дисках). Эти логические тома будут целевыми для создания файловых систем (например, /, /usr, /home, /var).
Новые LV
Если вам необходимо создать LV, то это нужно сделать до начала запуска программы «setup». Вам придется поработать с (с)fdisk для создания разделов, которые будут использоваться для создания логических томов. Для таких разделов, которые будут использоваться для LVM, вы должны установить тип «8е»(Linux LVM).
В следующем примере, я буду считать, что мы используем один раздел 10 Гб «/dev/sda1» для нашей группы томов (VG). С LVM, можно использовать несколько физических томов VG (например, разделы, все диски), но это будет упражнением для читателя. Вы всегда можете добавить дополнительные физические тома к VG позже. Мы создадим VG под названием «myvg» и два LV - «root» и «home». Первый будет содержать корневой раздел «/», а второй станет нашим разделом «/home».
После загрузки компьютера с Slackware CD/DVD/USB и входа в систему как root выполните следующую последовательность команд для создания Физического Тома (PV), группы томов (VG) в рамках PV и два LV размерами 6 ГБ (root) и 3 Гб (home) в VG:
# pvcreate /dev/sda1 # vgcreate myvg /dev/sda1 # lvcreate -L 6G -n root myvg # lvcreate -L 3G -n home myvg
# lvcreate -l 100%FREE -n home myvg
Устройства для логических томов созданы и активировались автоматически, при запуске lvcreate. Это все, что нужно сделать перед запуском «setup».
Использование LVM во время установки
Во время установки, когда вы будете выбирать разделы в главном меню, вы заметите, что LV также стали доступны для выбора. Наши две LV «root» и «home» видны как «/dev/myvg/root» и «/dev/myvg/home». Выберите первую для корневой ('/') файловой системы, а другую для «/home». Создайте любую файловую систему на них. Мой любимый тип фс остается ext3, но вы можете выбрать ext4, XFS или JFS для стабильности и скорости.
Установка будет происходить как обычно, но когда вы дойдете до диалогового окна настройки LILO, то это, почти, последняя ручная настройка. Приступите к настройке LILO, как обычно, и выберите пункт «/dev/myvg/root», как корневую файловую систему для загрузки. Когда вы установите LILO, он, вероятно, не будет жаловаться, но знайте, что для работы с корневой файловой системой на логическом томе, требуется начальный виртуальный диск(Initrd). Установщик Slackware не создаст его для вас, что потребует некоторого вмешательства после завершения установки и возврата в командную строку. На данный момент, вы можете продолжить установку Slackware как обычно, но в конце просто не перезагружайтесь!
В конце установки вам будет предложено выбрать «EXIT» и нажать «Ctrl-Alt-Del» для перезагрузки компьютера. Выйдите из меню, но не перезагружайтесь! Создадим образ Initrd. К счастью, программа установки Slackware сделала часть работы за нас. Создала узлы LVM, которые нужны LILO для успешного завершения установки,смонтировала «/sys» и «/proc» файловые системы.
Внутри «изолированной» среды, мы создадим образ Initrd и настроим LILO для использования его с общим ядром. Имейте в виду, что «huge» ядра слишком большие, чтобы работать с образом Initrd с помощью загрузчика LILO. Он будет жаловаться, что там остается слишком мало места в 15M-16M «memory hole». Перейдем в «изолированную» среду в нашей вновь установленной системе:
# chroot /mnt
Далее, в то время как мы находимся в «изолированной» среде, создадим Initrd с поддержкой LVM - в примере командной строки я предполагаю, что корневая файловая система «ext3», используется LV «/dev/myvg/root» в качестве корневого устройства, и работает Slackware 14.1 с SMP-ядром по молчанию «3.10.17-smp»:
# mkinitrd -c -k 3.10.17-smp -m ext3 -f ext3 -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-3.10.17-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 08-apr-2011
Wiki URLs:
http://www.slackware.com/~alien/dokuwiki/doku.php?id=slackware:setup
Documentation:
/usr/doc/Linux-HOWTOs/LVM-HOWTO