Как стать автором
Обновить

Комментарии 23

Спасибо, подход с pivotroot интересен.
Сколько руки не доходили с этим разобраться… Спасибо за труд!
Вы не могли бы расширить пункт 12.3?
grub-install сам включит всё необходимое, чтобы свои модули нашел груб.
а обновление initramfs зависит от дистрибутива — в некоторых всё лежит сразу, в некоторых сборка автомаизирован.
В дебиане достаточно сделать
sudo dpkg-reconfigure linux-image-`uname -r`
sudo dpkg-reconfigure linux-image-`uname -r`

Лучше update-initramfs -c -k all. Оно сразу для всех установленных ядер пересоздаст initrd.
Вопрос спорный. Есть 2 ядра (откуда там больше?), оба точно работали. Мы обновляем одно и пытаемся уйти в ребут. Если что ахтунг — есть резервное.
В моем случае, до переноса корневой ФС, надобности в initramfs не было.
После того, как корневая ФС переехала в LVM, без initramfs уже не обойтись.
Как я строю initramfs в gentoo, я описывать не стал. Это отдельная тема.
Если кратко, то мой initramfs состоит из трех частей
— статически собранного busybox
— статически собранного lvm
— скрипта загрузки init

Это было страшно
Не проще ли было сразу создать новый раздел нужного размера и сделать туда rsync или dump/restore? dd работает очень неэффективно, копируя все блоки, в том числе свободные.
Последовательная запись/последовательное чтение зачастую работает в разы быстрее, чем беготня по файловой системе. И при загрузке диска >30-40% уже может быть быстее dd, чем rsync.
После pivot_root пробел пропущен.
Да, действительно, в опубликованном варианте пробела нет.
Хотя в редакторе поста он есть.
Поправил (поставил строку в тэг pre)

Благодарю за комментарий.
Это ключевая команда всего поста!
Я надеюсь, что Вы все это делали не в пятницу 13-го вечером?
Отлично.
Отдельное спасибо за подсказки о подводных камнях вроде cd перед pivot_root.
Статья хорошая, но, вообще говоря, эти «подводные камни» подробно разобраны в man pivot_root.
Хочу дополнить статью небольшим рецептом в тему. Отдельной статьи, вроде бы, не заслуживает. Это о том, как у меня начал сыпаться один из винтов на сервере, и я переносил Debian на новый корневой раздел. Копировать раздел при этом нельзя было. И ехать на площадку ну очень не хотелось.

1. на другом винте создал разделы для корня и swap и смонтировал их;
2. скачал debootstrap и с его помощью установил базовую систему в новый корень;
3. в новый корень смонтированы /proc, /sys, /dev и /dev/shm;
4. chroot в новый каталог и там с помощью aptitude доустановил пакеты с ядром, mkinitramfs и загрузчиком;
5. скопировал файлы passwd, group, shadow, pam.d, network/interfaces в новую систему;
6. поменял пароль рута, установил вручную timezone, hostname, установил пакет с локалями и сгенерировал нужные;
7. установил openssh-сервер, переписал все файлы с ключами и конфиги от него, проверил его работоспособность;
8. дописал в загрузку модулей ядра драйвер сетевушки;
9. lilo && sync && reboot -f
10. бил в бубен
«резеервное копирование никто не отменял!»

Уберите лишнюю «е», пожалуйста.
Поправил, спасибо
НЛО прилетело и опубликовало эту надпись здесь
>перевод / в mdraid

нельзя ли подробнее об этом?
Почти все останется без изменений.
Предположим, что Вы добавили диск /dev/sdb и на нем создали радел нужного размера /dev/sdb2 под mdraid.

Изменения к текущей инструкции (меняем шаги):
1. Создаем новый логический диск mdraid (пока на одном разделе /dev/sdb2)
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb2 missing
Смотрите, чтобы /dev/md0 был не меньше /dev/sda2.

6. Копируем корневую ФС с устройства /dev/sda2 в логический диск /dev/md0
dd if=/dev/sda2 of=/dev/md0 bs=8M

13. Добавляем в mdraid второй диск (/dev/sda2)
Переразмечаем разделы на /dev/sda.
Важно чтобы /dev/sda2 получился равным (или не меньше) /dev/sdb2.
mdadm --manage /dev/md0 --add /dev/sda2
а как Вы считаете, не проще бы было использовать встроенную в lvm функцию зеркалирования?

lvcreate -L 3g -m1 -n root sys
Не будет ли оно работать слишком медленно? Снапшоты производительность просаживают не дай бог.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории