Gentoo Logo

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


Установка Gentoo с использованием LVM2

Содержание:

1.  Введение

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

Предупреждение: Этот документ не не является руководством по LVM2. Он служит приложением к процедуре установки Gentoo описанной в Настольной книге Gentoo, часть 1. Обязательно прочитайте Инструкцию по установке Gentoo перед тем, как приступать к установке.

Примечание: Для полного HOWTO по LVM перейдите по ссылке http://tldp.org/HOWTO/LVM-HOWTO

Начальные требования

Если вы собираетесь делать новую установки Gentoo, вам понадобится загрузочный CD с поддержкой LVM2, например, установочный компакт-диск Gentoo. Вы можете получить установочный диск для архитектуры x86 на одном из наших зеркал в /releases/x86/2005.1/installcd. Поддерживаются и некоторые другие архитектуры.

Если вы устанавливаете LVM2 на уже работающую систему, где имеется свободное место на жестком диске, вам потребуется загрузить LVM2 модуль (dm-mod). Этот модуль доступен в gentoo-sources и в vanilla-sources. Сборка ядра и включение LVM2 рассмотрены далее в этом руководстве.

Не все ядра 2.4, поставляемые Gentoo, поддерживают LVM2!

Предупреждение: Переменная LVM2, имеющаяся в установочных компакт-дисках 2005.0, ошибочно динамически связана с библиотекой (libgpm), находящейся в /usr. Это значит, что в вашей среде LVM не может также находиться ваш /usr. Устанавливайте или новейшую версию, или версию 2.0.33 (не -r1), собранную статически.

Разделы на жестких дисках

В нашем примере в системе имеется два IDE винчестера, которые будут разбиты на разделы по схеме:

  • /dev/hda1 -- /boot
  • /dev/hda2 -- (swap)
  • /dev/hda3 -- /
  • /dev/hda4 -- Будет использован LVM2
  • /dev/hdb1 -- Будет использован LVM2

Важно: Будьте внимательны с именами разделов, потому что легко перепутать "a" и "b", или номера разделов. Одним неверным движением можно уничтожить раздел. Вы предупреждены!

Пора начинать...

2.  Установка

Действуйте согласно Настольной книге Gentoo с учетом следующих поправок к главе 4. Подготовка дисков:

Используйте fdisk как описано в Настольной книге, но придерживайтесь схемы разбиения, описанной выше. Это всего лишь пример, измените его для вашей установки.

Создайте маленький физический /boot раздел (hda1). В этом примере /boot не будет управляться LVM2. На этом разделе будут размещены загрузчик и ядро(а). 64MB должно быть более чем достаточно для нескольких ядер.

Создайте swap раздел (hda2) и активируйте его.

Листинг 2.1: Активирование swap-раздела

# mkswap /dev/hda2
# swapon /dev/hda2

Создайте / (root) раздел (hda3). Если вы намерены попробовать использовать LVM для root раздела (что мы не рекомендуем), обратитесь к списку источников в конце руководства за ссылкой на mini-howto о том,как это сделать. Не нужно создавать большой раздел root,если вы собираетесь разместить /opt /usr /home /var и /tmp в Группе томов LVM2 (vg). В этом случае 1 ГБ будет достаточно.

Примечание: Не рекомендуется хранить следующие директории на LVM2 разделе: /etc, /lib, /mnt, /proc, /sbin, /dev и /root. Тогда вы сможете войти в вашу систему (искалеченную, но все еще работоспособную) как root, если вдруг случится ужасная ошибка.

Предполагая, что /boot, swap и root разделы не используют весь жесткий диск, создайте четвертый раздел на этом диске с типом 8e (Linux LVM). Если у вас больше жестких дисков, которые в хотели бы использовать с LVM, создайте один раздел на каждом и установите для них тот же тип (8e).

Примечание: Принимая во внимание огромные размеры винчестеров, вы можете подумать о разбиении ваших дисков на меньшие разделы, вместо создания одного большого, который будет добавлен в группу томов LVM как один блок. В конце концов, с помощью LVM2 легко расширить тома. Это оставляет несколько разделов,которые вам,может быть,понадобятся вне группы LVM2. Короче, не используйте место на диске,пока не уверены, что оно вам нужно. Например один сотрудник разделил его 160 ГБ винчестер на 8 разделов по 20 ГБ.

Загрузите LVM2 dm-mod модуль.

Листинг 2.2: Загрузка модуля LVM2

# modprobe dm-mod

Сканирование и включение LVM:

Листинг 2.3: Включение LVM

(избегать сканирования cd-приводов)
# mkdir -p /etc/lvm
# echo 'devices { filter=["r/cdrom/"] }' >/etc/lvm/lvm.conf
# vgscan
  Reading all physical volumes.  This may take a while...
  No volume groups found
(сделать доступными любые ранее настроенные группы томов)
# vgchange -a y

Подготовка разделов.

Листинг 2.4: Подготовка разделов

# pvcreate /dev/hda4 /dev/hdb1
  No physical volume label read from /dev/hda4
  Physical volume "/dev/hda4" successfully created
  No physical volume label read from /dev/hdb1
  Physical volume "/dev/hdb1" successfully created

Настройка группы томов. Группа томов - это результат объединения нескольких физических частей в одно логическое устройство.

В нашем примере/dev/hda1, /dev/hda2 и /dev/hda3 -это /boot, swap и root разделы, значит нам нужно скомбинировать /dev/hda4 и /dev/hdb1. Это может быть сделано одной командой,но для примера мы создадим группу томов и расширим ее.

Листинг 2.5: Создание и расширение группы томов

(Создаем группу томов с именем vg)
# vgcreate vg /dev/hda4
  /etc/lvm/backup: fsync failed: Invalid argument (Игнорируйте предупреждение)
  Volume group "vg" successfully created
(Расширяем существующую группу томов)
# vgextend vg /dev/hdb1
  /etc/lvm/backup: fsync failed: Invalid argument (Игнорируйте
  предупреждение и здесь, и далее )
  Volume group "vg" successfully extended

Создайте логические тома. Логические тома похожи на разделы, которые вы бы создали, используя fdisk в среде без LVM2. В нашем примере, мы создаем следующие разделы:

Директория Раздел
/usr 10 GB
/home 5 GB
/opt 5 GB
/var 10 GB
/tmp 2 GB

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

Примечание: Как отметил Terje Kvernes, легче увеличить размер раздела, чем уменьшить его. Следовательно, вы, скорее всего, начнете с меньших разделов и увеличите их, когда потребуется.

Листинг 2.6: Создание и расширение логических томов

# lvcreate -L10G -nusr  vg
  Logical volume "usr" created (Следующие похожие сообщения не показаны)
# lvcreate -L5G  -nhome vg
# lvcreate -L5G  -nopt  vg
# lvcreate -L10G -nvar  vg
# lvcreate -L2G  -ntmp  vg
(для примера, увеличим логический том еще на 5 ГБ)
# lvextend -L+5G /dev/vg/home

Создайте файловые системы на логических томах так же, как вы сделали бы это на обычных разделах. Мы используем ext3 на логических томах, но любая файловая система будет работать:

Листинг 2.7: Создание файловых систем

# mke2fs -j /dev/vg/usr
# mke2fs -j /dev/vg/home
# mke2fs -j /dev/vg/opt
# mke2fs -j /dev/vg/var
# mke2fs -j /dev/vg/tmp

Смонтируйте разделы как описано в Справочнике и монтируйте логические тома LVM2 как обычные разделы. Замените /dev/hdxx на /dev/vg/logical_volumename.

Листинг 2.8: Монтирование логических томов

(Сначала проверьте, что вы смонтировали root раздел как описано в  Справочнике)
# mkdir /mnt/gentoo/usr
# mount /dev/vg/usr /mnt/gentoo/usr
# mkdir /mnt/gentoo/home
# mount /dev/vg/home /mnt/gentoo/home
# mkdir /mnt/gentoo/opt
# mount /dev/vg/opt /mnt/gentoo/opt
# mkdir /mnt/gentoo/var
# mount /dev/vg/var /mnt/gentoo/var
# mkdir /mnt/gentoo/tmp
# mount /dev/vg/tmp /mnt/gentoo/tmp

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

При конфигурировании ядра не забудьте добавить поддержку LVM2 (не во всех все ядрах 2.4.x это поддерживается). Выберите LVM2 модуль:

Листинг 2.9: Выбор модуля LVM2 в ядрах 2.4.x

Multi-device support (RAID and LVM)  --->
  [*] Multiple devices driver support (RAID and LVM)
  < >  RAID support
(Отметьте,что LVM специально не выбрано,эта опция для LVM1)
  < >  Logical volume manager (LVM) support
  <M>  Device-mapper support
  < >   Mirror (RAID-1) support

Листинг 2.10: Выбор модуля LVM2 в ядрах 2.6.x

Device Drivers  --->
 Multi-device support (RAID and LVM)  --->
   [*] Multiple devices driver support (RAID and LVM)
   < >   RAID support
   <M>   Device mapper support

Откомпилированный модуль называется dm-mod.ko

После того, как вы соберете ваше ядро и установите его модули, добавьте следующую строку в ваш /etc/modules.autoload.d/kernel-{KV},где {KV} - это версия вашего ядра (2.4 или 2.6),для того,чтобы модуль LVM2 подгружался при загрузке компьютера:

Листинг 2.11: Добавление модуля LVM2 в /etc/modules.autoload.d/kernel-2.6

# nano -w /etc/modules.autoload.d/kernel-2.6
(Добавьте эту строку)
dm-mod

Теперь установите пакет lvm2.

Важно: Убедитесь, что ваша ссылка /usr/src/linux указывает на исходники ядра, которые ва используете, так как lvm2 ebuild зависит от device-mapper ebuild, который проверяет наличие необходимых исходников в /usr/src/linux/include/linux.

Листинг 2.12: Получение пакета LVM2

# emerge lvm2
(на момент написания, стабильная версия - 2.00.08.
В версии 2.00.08, предотвращение опроса вашего CD-ROM lvm2 делается так:
# echo 'devices { filter=["r/cdrom/"] }' >> /etc/lvm/lvm.conf
(версии 2.00.15 и более поздние поставляются с /etc/lvm/lvm.conf
Редактируйте свой /etc/lvm/lvm.conf, следуя комментариям
# nano -w /etc/lvm/lvm.conf

Во время редактрования вашего /etc/fstab, следуйте Справочнику и добавьте ваши логические тома LVM2. Вот строки,необходимые в нашем примере:

Листинг 2.13: Выдержка из /etc/fstab

/dev/hda1     /boot   ext3    noauto,noatime 1 1
/dev/hda2     none    swap    sw             0 0
/dev/hda3     /       ext3    noatime        0 0
# Logical volumes
/dev/vg/usr   /usr    ext3    noatime        0 0
/dev/vg/home  /home   ext3    noatime        0 0
/dev/vg/opt   /opt    ext3    noatime        0 0
/dev/vg/var   /var    ext3    noatime        0 0
/dev/vg/tmp   /tmp    ext3    noatime        0 0

Когда вы подойдете к концу главы Справочника посвященной установке, не забудьте размонтировать все ваши логические тома LVM2 и выполните следующие команды перед перезагрузкой:

Листинг 2.14: Выключение LVM2

# vgchange -an

Перезагрузите машину, и все разделы должны быть доступны и смонтированы.

3.  Продолжение после перезагрузки

Если вы в какой-либо точке прервали установку Gentoo и хотите продолжить, сначала вам потребуется создать файлы устройств для томов:

Листинг 3.1: Переподключение томов

# vgscan --mknodes

При использовании установочных дисков с более старыми утилитами вместо этого может потребоваться повторное подключение томов:

Листинг 3.2: Переподключение томов

(сначала отключаем все тома)
# vgchange -a n
(экспортируем все тома)
# vgexport -a vg
(импортируем все тома)
# vgimport -a vg
(восстанавливаем подключение томов)
# vgchange -a y

4.  Дополнительные ресурсы

5.  Благодарности

Спасибо Thilo Bangert и Terje Kvernes за помощь и комментарии по этому документу.



Для печати

Обновлено 17 августа 2005

Исходный документ обновлен 3 ноября 2007

Аннотация: В этом руководстве описана установка Gentoo с использованием Logical Volume Manager version 2 (LVM2).

Avi Schwartz
автор

Rajiv Manglani
участник

Xavier Neys
редактор

Антон Филимонов
переводчик

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Linux World Expo

Linux World Expo

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.