ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] Move installed system to LVM
@ 2005-03-26 18:38 Eugene Prokopiev
  2005-03-27 16:20 ` [Comm] " Michael Shigorin
  0 siblings, 1 reply; 9+ messages in thread
From: Eugene Prokopiev @ 2005-03-26 18:38 UTC (permalink / raw)
  To: community

Здравствуйте!

Никогда не имел раньше дела с LVM, вот решил попробовать.

Т.к. дрыгинсталлер не позволяет размещать / или /boot на LVM, то
остается только один вариант: перетянуть на LVM уже установленную систему.

Система, которую надо перетягивать, выглядит так:

/dev/hdc1	/boot
/dev/hdc5	swap
/dev/hdc6	/
/dev/hdc7	/var
/dev/hdc8	/home

Перетянуть ее надо на hda. Последний был размечен так:

/dev/hda1	/boot
/dev/hda2	swap
/dev/hda3	lvm (сюда планируется поместить /, /var, /home)

Немного о смысле выполняемых операций: LVM нужен для бэкапа всей системы
без перезагрузки или загрузки в монопольном режиме c использованием
снапшотов. Т.к. изменения в /boot все равно ведут к перезагрузке, то его
в LVM выносить не нужно. / может быть и есть смысл побить дальше, но
сейчас это не принципиально. Если есть замечания к сказанному, буду рад
выслушать.

Создаем LVM так:

# pvcreate /dev/hda3
# vgcreate vg /dev/hda3
# lvcreate -L500M -nroot vg
# lvcreate -L200M -nvar vg
# lvcreate -L200M -nhome vg
# mkfs.ext3 /dev/vg/root
# mkfs.ext3 /dev/vg/var
# mkfs.ext3 /dev/vg/home

Затем перегружаемся с System Rescue CD (http://www.sysresccd.org/), т.к. 
rescue от ALM 2.4 ничего об LVM не знает.

Переносим систему так:

# vgchange -ay
# mkdir /system-lvm
# mount /dev/vg/root /system-lvm/
# mkdir /system-lvm/var
# mkdir /system-lvm/home
# mkdir /system-lvm/boot
# mount /dev/vg/var /system-lvm/var/
# mount /dev/vg/home /system-lvm/home/
# mount /dev/hda1 /system-lvm/boot/
# mkdir /system-raw
# mount /dev/hdc6 /system-raw/
# mount /dev/hdc7 /system-raw/var
# mount /dev/hdc8 /system-raw/home/
# mount /dev/hdc1 /system-raw/boot/
# cd /system-raw
# find ./ | cpio -pvmd /system-lvm/
# chroot /system-lvm/ /bin/bash
# lvmcreate_initrd 2.4.26-std-up-alt6

Затем создаем новый initrd:

# lvmcreate_initrd 2.4.26-std-up-alt6
Logical Volume Manager 1.0.8 by Heinz Mauelshagen  17/11/2003
lvmcreate_initrd -- make LVM initial ram disk 
/boot/initrd-lvm-2.4.26-std-up-alt6.gz

lvmcreate_initrd -- finding required shared libraries
lvmcreate_initrd -- stripping shared libraries
lvmcreate_initrd -- calculating initrd filesystem parameters
lvmcreate_initrd -- calculating loopback file size
lvmcreate_initrd -- making loopback file (6389 kB)
lvmcreate_initrd -- making ram disk filesystem (19392 inodes)
lvmcreate_initrd -- mounting ram disk filesystem
lvmcreate_initrd -- creating new /etc/modules.conf
lvmcreate_initrd -- creating new modules.dep
depmod: *** Unresolved symbols in 
/lib/modules/2.4.26-std-up-alt6/kernel/arch/i386/kernel/apm.o
...
depmod: *** Unresolved symbols in 
/lib/modules/2.4.26-std-up-alt6/v4l/w9968cf.o
lvmcreate_initrd -- copying device files to ram disk
lvmcreate_initrd -- copying initrd files to ram disk
lvmcreate_initrd -- copying shared libraries to ram disk
lvmcreate_initrd -- creating new /linuxrc
lvmcreate_initrd -- creating new /etc/fstab
lvmcreate_initrd -- ummounting ram disk
lvmcreate_initrd -- creating compressed initrd 
/boot/initrd-lvm-2.4.26-std-up-alt6.gz

Меняем ссылку initrd-up.img:

# rm -rf /boot/initrd-up.img
# ln -s /boot/initrd-lvm-2.4.26-std-up-alt6.gz /boot/initrd-up.img

Правим /etc/lilo.conf:

boot=/dev/hda
map=/boot/map
install=/boot/boot-bmp.b
default=linux-up
ramdisk=8192
prompt
timeout=50
image=/boot/vmlinuz-up
         label=linux-up
         root=/dev/vg/root
         initrd=/boot/initrd-up.img
         read-only
image=/boot/vmlinuz-up
         label=failsafe
         root=/dev/vg/root
         initrd=/boot/initrd-up.img
         vga=normal
         append=" failsafe noapic nolapic acpi=off"
         read-only
other=/dev/fd0
         label=floppy
         unsafe

Запускаем lilo, затем выходим из чрута, перегружаемся.

При попытке загрузиться получаем:

insmod: /lib/modules/2.4.26-std-up-alt6/kernel/drivers/scsi/scsi_mod.o 
failed
insmod: insmod lvm-mod failed
vgscan -- LVM driver/module not loaded?
vgchange -- ERROR: "/etc/lvmtab" doesn't exist or unreadable; you may 
need to run vgscan

Возвращаемся в чрут и пытаемся положить scsi_mod.o в initrd:

# gunzip initrd-lvm-2.4.26-std-up-alt6.gz
# mount -o loop initrd-lvm-2.4.26-std-up-alt6 /mnt/disk/
# mkdir /mnt/disk/lib/modules/2.4.26-std-up-alt6/kernel/drivers/scsi
# cp /lib/modules/2.4.26-std-up-alt6/kernel/drivers/scsi/scsi_mod.o 
/mnt/disk/lib/modules/2.4.26-std-up-alt6/kernel/drivers/scsi
# umount /mnt/disk/
# gzip initrd-lvm-2.4.26-std-up-alt6

После перезагрузки выясняется, что теперь не хватает 
/lib/modules/2.4.26-std-up-alt6/promise/pti_st.o

Добавляем в initrd и его, снова перегружаемся. Получаем:

SCSI subsistem driver Revision: 1.00
/lib/modules/2.4.26-std-up-alt6/promise/pti_st.o: init_module: no such 
device
ну и т.д.

Собственно, ничего удивительного в этом нет, т.к. SCSI-устройства на 
данной машине отсутствуют, а сама машина живет в VMware. Интересно 
другое: зачем для initrd потребовалась поддержка SCSI и как сделать 
работающий initrd?

-- 
С уважением, Прокопьев Евгений


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2005-04-01  3:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-26 18:38 [Comm] Move installed system to LVM Eugene Prokopiev
2005-03-27 16:20 ` [Comm] " Michael Shigorin
2005-03-28  3:45   ` Eugene Prokopiev
2005-03-28 21:53     ` Michael Shigorin
2005-03-29  3:55       ` Eugene Prokopiev
2005-03-30  9:44         ` Michael Shigorin
2005-03-31 17:05           ` [Comm] [SUMMARY] / on LVM Eugene Prokopiev
2005-03-31 18:11             ` Alexander Kuprin
2005-04-01  3:44               ` Eugene Prokopiev

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git