Вот эту: https://habrahabr.ru/post/321696/.
Автор молодец, серьезно, не rocket science, но всё методично и последовательно логично изложено.
Но я таки заметил одну мелкую проблему не затронутую в статье.
Конечно не потому что я такой проницательный, в просто потому что уже въезжал в такие грабли однажды.
Итак, задача была такая, удаленный сервер без доступа, каким то затейник установлен так что нет там lvm, и это становится проблемой, потому как нужны снапшоты для бекапа бд.
Так как свободного места там не оставили, и рут раздел на весь диск, то особых вариантов не было, точно так же в памяти разворачивать временную систему, и на месте извращаться.
Ну я вот вспомнив этот опыт, поднял чистый дебиан в вагранте, и решил прогнать сценарий автора.
Там всё идёт отлично до момента, когда нужно создавать lvm разделы.
Т.е. выполняем:
mkdir /target mount none -t tmpfs -o size=1G /target/
apt-get -y install debootstrap
debootstrap jessie /target/ http://mirror.mephi.ru/debian/
echo "Killer_system" > /target/etc/debian_chroot
chroot /target
mount none -t proc /proc/ mount none -t sysfs /sys/ mount none -t devtmpfs /dev/ mount none -t devpts /dev/pts/
apt-get -y install lvm2 debootstrap
apt-get -y install openssh-server openssh-client openssh-blacklist openssh-blacklist-extra --no-install-recommends
sed -i 's/^Port .*$/Port 11122/' /etc/ssh/sshd_config
sed -i 's/^PermitRootLogin .*$/PermitRootLogin yes/' /etc/ssh/sshd_config /etc/init.d/ssh restart
ssh ... -l root -p 11122
dd if=/dev/zero of=/dev/sda bs=1M count=100
echo 1 > /sys/block/sda/device/delete
for i in /sys/class/scsi_host/host?/scan ; do echo "- - -" > $i ; done
fdisk /dev/sdb
n<CR> <CR> <CR> <CR>
t<RC> 8e<CR>
w<CR>
pvcreate /dev/sdb1 vgcreate vg_root /dev/sdb1 lvcreate -Zn -L500M -n lv_swap0 vg_root
И внезапно въезжаем вот в это:
Когда исправить уже ничего нельзя.
А всего лишь забыли что lvm2 то на хост системе не было, и модуль не загружен.
Надо было этим на живой ещё хост системе озаботиться поставить lvm2.
Ещё мне кажется автор забыл инструкцию
vgscan --mknodes
после создания lvm томов
Во всяком случае в моём прогоне на vagrant который я сегодня делал файлы устройств без неё не создавались.
Т.е. полный листинг должен быть такой:
lvcreate -Zn -L500M -n lv_swap0 vg_root lvcreate -Zn -L1G -n lv_root vg_root lvcreate -Zn -L2G -n lv_usr vg_root lvcreate -Zn -L2G -n lv_var vg_root lvcreate -Zn -L1G -n lv_var_log vg_root lvcreate -Zn -L1G -n lv_home vg_root
vgscan --mknodes
mkswap /dev/vg_root/lv_swap0 mkfs.ext4 /dev/mapper/vg_root-lv_root mkfs.ext4 /dev/mapper/vg_root-lv_usr mkfs.ext4 /dev/mapper/vg_root-lv_var mkfs.ext4 /dev/mapper/vg_root-lv_var_log mkfs.ext4 /dev/mapper/vg_root-lv_home mkdir /target mount /dev/mapper/vg_root-lv_root /target/ mkdir /target/usr /target/var /target/home mount /dev/mapper/vg_root-lv_usr /target/usr mount /dev/mapper/vg_root-lv_var /target/var mkdir /target/var/log mount /dev/mapper/vg_root-lv_var_log /target/var/log mount /dev/mapper/vg_root-lv_home /target/home
Всё остальное в статье отлично, после ребута видим свеженькую систему с lvm
Ну а главная то мораль, прогоняйте всё на виртуалках и не один раз, не верьте статьям в интернетах.
А то будете как я, ночами искать способ добраться до испорченного сервера.