The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Миграция на файловую систему LVM с ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Миграция на файловую систему LVM с ..."  +/
Сообщение от auto_tips (??) on 01-Авг-08, 13:10 
Администрирование Debian: How To по миграции на файловую систему LVM с поддержкой шифрования

Целью данного документа является описание пути перехода на полностью шифрованную файловую
систему LVM (корневая файловая система и пользовательские данные, кроме загрузочного раздела).
Миграция возможна как с обычной LVM, так и с ext3. Все, что вам понадобится - наличие внешнего хранилища.

Отдельно стоит отметить, что данная операция должна проводиться человеком, имеющим некоторый опыт.

ЧАСТЬ 1. Установка необходимого ПО и сохранение текущей системы.

Есть два способа реализации Full Encrypted LVM (далее - FELVM).
a) Debian way (TM), где LVM размещаетя на зашифрованном виртуальном устройстве (cryptsetup).
b) Другой путь, когда LVM создается на физическом устройстве, а затем шифруются логические разделы.

Конечно, я выбираю debian way, хотя никаких определенных причин для этого нет.

В качестве исходных данных у меня имеется /dev/hda1 типа Windows NTFS и несколько других разделов,
тип которых не важен, так как их скоро не останется.

Перед тем, как мы начнем, рекомендую сделать полную копию ваших данных на внешний носитель с помощью CloneZilla,
чтобы потом не иметь бледный вид.

Для начала установим  'cryptsetup'. Также ядро должно ключать образ initrd для загрузки. Если это не так,
установите пакет initramfs-tools. Затем создайте следующий файл в каталоге /etc/initramfs-tools/conf.d:

   filename: cryptroot
   contents:
   target=lukspace,source=/dev/hda3,key=none,lvm=vg-root

Затем выполните команду:

   # update-initramfs -u

Она создаст образ initrd, который будет знать, где находятся шифрованные разделы после создания.

Создадим, и это обязательно, tar архив вашей системы на внешний носитель:

   # tar cSjf /my/external/storage/sysbackup.tar.bz2 /bin/ /boot/ \
    /etc/ /home/ /lib/ /opt/ /root/ /sbin/ /selinux/ /srv/ /usr/ /var/

Если вы хотите повысить скорость выполнения данной операции, уберите флаг 'j' и расширение bz2.

Это позволит сохранить все права доступа, файлы, владельцев файлов и т.д.
Как вы можете заметить, я пропустил каталоги /dev/, /media, /mnt, /proc, /sys, /tmp,
так как они будут вновь созданы на новой системе (кроме /media).

Я подразумеваю, что никаких действий в системе после сохранения не производится -
не открываются консоли и сессии X window, кроме корневой.

Настало время получить данные с внешних хранилищ. Будем считать, что оно примонтировано
в /media/abyss. Конечно, /media так же содержит cdrom и прочие полезные вещи.

# tar cSjf /my/external/storage/databackup.tar.bz2 /media/cdrom /media/whatever /media/...
Все ЗА ИСКЛЮЧЕНИЕМ точки монтирования внешнего хранилища!

Теперь мы защищены от любых ошибок при конфигурировании.

ЧАСТЬ 2. Переформатирование диска и создание структуры FELVM.

Помните: если дела приняли дурной оборот - вы всегда можете восстановиться с помощью clonezilla.

Я использую clonezilla CD для большинства работ, где мне нужен live CD.

Загружаем Clonezilla, настраиваем сеть. Затем в консоли (sudo su) выполняем команды:

   # aptitude update && aptitude dist-upgrade

Возможно перед этим вам понадобится выполнить что-то подобное:

   # ifconfig eth0 up
   # dhclient eth0

После того, как live CD обновит ПО нужно установить следущее:

   # aptitude install cryptsetup joe

Joe - мой любимый редактор, поэтому далее мы будем считать, что и ваш тоже.

Очищаем диск!

   # cfdisk /dev/hda

и удаляем все разделы за исключением /dev/hda1 (NTFS).

Создаем раздел, с которого будет осуществляться загрузка: /dev/hda2 размером 200 MB.

Затем создаем другой раздел, занимающий все свободное пространство(/dev/hda3).
Его в последствии будет занимать rootfs и данные.

Записываем таблицу разделов на диск и выходим.

Мы все поломали, но не стоит волноваться, все будет восстановлено с tar архивов.

Окончательно удаляем наши данные, заполняя все случайными последовательностями,
заодно проверяя наличие badblock:

   # badblocks -s -w -t random -v /dev/hda2
   # badblocks -s -w -t random -v /dev/hda3

На выполнение этих команд требуется время, так что будьте терпеливы.

Создаем файловую систему на загрузочном разделе:

   # mkfs.ext3 /dev/hda2

Используя cryptsetup создадим большой раздел как устройство dm-crypt. Это очень просто:

   # cryptsetup -y -s 256 -c aes-cbc-essiv:sha256 luksFormat /dev/hda3

Я не буду приводить объяснение всех опций, если хотите - посмотрите сами.
Обязательно выберите хорошее ключевое слово, которое вы сможете запомнить.
Позже вы сможете сменить его или сделать несколько ключевых слов.

Подошло время использовать инициализированное пространство:

   # cryptsetup luksOpen /dev/hda3 lukspace

Эта команда спросит у вас ранее введенное ключевое слово и сделает доступным /dev/mapper/lukspace.
Это может быть расценено как устройство, готовое принять любой вид данных.
Вы можете форматировать его в ext3 или построить LVM, чем мы сейчас и займемся.

Создаем LVM:

   # pvcreate /dev/mapper/lukspace
   # vgcreate vg /dev/mapper/lukspace
   # lvcreate -L10G -nroot vg
   # lvcreate -l 100%FREE -nmyspace vg

Так мы получим логический том LVM /dev/vg/root для корневой файловой системы и /dev/vg/myspace для наших данных.
Это было несложно, не так ли?

Дальше еще проще:

   # mkfs.ext3 /dev/vg/root
   # mkfs.ext3 /dev/vg/myspace


ЧАСТЬ 3. Восстановление системных файлов и загрузка новой системы.

После того, как вы создадите место для корневой файловой системы, настанет
пора разархивировать туда наши данные.

Сперва создадим точку монтирования, которую назовем /media/rootfs и затем:

   # mount /dev/vg/root /media/rootfs

а теперь:

   # cd /media/rootfs
   # tar xSjf /external_storage/sysbackup.tar.bz2

После чего ждем завершения процесса.

Создаем каталоги, которые не были сархивированы:

   # mkdir proc sys media dev tmp mnt
   # chmod 1777 tmp

Теперь создаем точку монтирования bootfs и монтируем к ней будущий загрузочный раздел:

   # mkdir bootfs
   # mount /dev/hda2 bootfs

Затем перемещаем загрузочные файлы из rootfs/boot в bootfs. Теперь /dev/hda2
содержит все необходимые для загрузки файлы. И последнее - изменим файл fstab  в rootfs/etc
таким образом, чтобы указать новое устройство /dev/vg/root.

Перезагружаемся. После загрузки grub нажимаем 'e' для редактирования опций ядра и
указания правильного root=..., чтобы машина могла загрузиться.

Хочется надеяться, что LUKS спросит у вас кодовое слово, и все пойдет хорошо!

После того, как вы наиграетесь с вашей зашифрованной системой, отредактируйте /boot/grub/menu.lst
для указания корректного устройства root=... и запустите update-grub.

Giorgos Pallas


URL: http://www.debian-administration.org/articles/577
Обсуждается: https://www.opennet.ru/tips/info/1730.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Миграция на файловую систему LVM с поддержкой шифрования в D..."  +/
Сообщение от Аноним email(??) on 01-Авг-08, 13:10 
Не лишним заметить,
что при установке новой системы
всё вышеописанное можно сделать изкаробки
с помощью полностью руссифицированного инсталлятора
DebianInstaller.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Миграция на файловую систему LVM с поддержкой шифрования в D..."  +/
Сообщение от Аноним (??) on 07-Авг-08, 14:04 
Ага, я пытался на срезе Lenny. Так я еще не выражался в отношении инсталаторов.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Миграция на файловую систему LVM с поддержкой шифрования в D..."  +/
Сообщение от r on 02-Авг-08, 01:00 
LVM -- это НЕ файловая система.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Миграция на файловую систему LVM с поддержкой шифрования в D..."  +/
Сообщение от Аноним (??) on 03-Авг-08, 01:03 
файловая система LVM?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Раздел полезных советов: Миграция на файловую систему LVM с ..."  +/
Сообщение от Anonymous on 11-Авг-08, 14:47 
>корневая файловая система и пользовательские данные, кроме загрузочного раздела).

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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Раздел полезных советов: Миграция на файловую систему LVM с ..."  +/
Сообщение от fenume (ok) on 15-Апр-10, 21:54 
Потому что сначала должно чтото загрузится чтобы расшифровать зашифрованые разделы)
В способе описаном в статье сначала загружается миниобраз в initramfs , подключает зашифрованые разделы и только этого передается управление обычному ядру и продолжается нормальная загрузка
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру