ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] / на LVM2 и сопутствующие проблемы
@ 2006-03-20 13:10 Eugene Prokopiev
  2006-03-21  8:41 ` Eugene Prokopiev
  0 siblings, 1 reply; 4+ messages in thread
From: Eugene Prokopiev @ 2006-03-20 13:10 UTC (permalink / raw)
  To: devel

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

Был Компакт, обновленный до почти последнего Сизифа (1-2-недельной
давности). С помощью cpio он был перенесен на RAID1/LVM2. Разделы
распределены так:

/dev/md0          /boot
/dev/system/root  /
/dev/system/home  /home
/dev/system/var   /var

system - это имя группы томов, размещенной на /dev/md2

Загрузить ядро и использовать /dev/system/root в качестве / мне удалось
(самым кривым способом - путем указанния / в
/proc/sys/kernel/real-root-dev, более прямые не удались - об этом в
sisyphus@). При загрузке уже на этапе отработки стартовых скриптов я
получаю:

fsck.ext3: No such device or address while trying to open /dev/system/root
Possibly non existent or swap device?

Ну и дальше / монтируется в ro и мне предлагают войти в систему в
однопользовательском режиме.

Сильно похоже на то, что fsck.ext3 вызывается слишком рано, т.е. надо
пересматривать инитскрипты. fsck.ext3 у меня прошел удачно только после
того, как я, залогинившись в однопользовательском режиме:

1) вручную перемонтировал / в rw (т.к. утилиты lvm любят писать в /var)
2) запустил сервис udevd
3) создал необходимые устройства с помощью vgscan --mkdev (последнее
обязательно)
4) обратно перемонтировал / в ro.

И как теперь правильно это разрулить? В багзиллле уже сидит - 
https://bugzilla.altlinux.org/show_bug.cgi?id=9284

Собственно, пока я вижу такие проблемы:

1) куда перенести fsck?
2) как в /dev создать необходимые устройства при загрузке (vgscan 
--mknodes в rc.sysinit?)
3) как убедить udevd это не портить?

Последняя проблема обсуждалась здесь - 
https://bugzilla.altlinux.org/show_bug.cgi?id=7369

Был вроде собран multipath-tools, однако затем он куда-то из Сизифа 
подевался - ни apt, ни http://sisyphus.ru/srpm/multipath-tools ничего 
про него не говорят :(

Не поделится ли кто собранным devmap_name (либо ssh-доступом на машину, 
на которой я смог бы его собрать?), дабы я мог продолжить эксперименты?

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


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

* Re: [devel] / на LVM2 и сопутствующие проблемы
  2006-03-20 13:10 [devel] / на LVM2 и сопутствующие проблемы Eugene Prokopiev
@ 2006-03-21  8:41 ` Eugene Prokopiev
  2006-03-23 10:03   ` Eugene Prokopiev
  2006-03-24  3:05   ` Semushin Slava
  0 siblings, 2 replies; 4+ messages in thread
From: Eugene Prokopiev @ 2006-03-21  8:41 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1375 bytes --]

> Собственно, пока я вижу такие проблемы:
> 
> 1) куда перенести fsck?

Я перенес инициализацию devmapper, evms, raid и lvm перед swapon - так
было в ALM 2.4. Есть серьезные причины, по которым порядок был изменен?
Поскольку lvm желает модифицировать / , мне пришлось временно
перемонтировать его в rw, а потом вернуть обратно в ro. В ALM 2.4 этого
не было, и мне не понятно, как в таком случае все работало.

> 2) как в /dev создать необходимые устройства при загрузке (vgscan 
> --mknodes в rc.sysinit?)

vgmknodes

> 3) как убедить udevd это не портить?

модифицировал /etc/udev так, как описано в
https://bugzilla.altlinux.org/show_bug.cgi?id=7369 и собрал (пока не в
пакет) devmap_name.

Теперь все работает как мне нужно.

Если такие вещи положено обсуждать в багзилле, давайте переедем туда.
Что теперь нужно сделать, чтобы в нынешний Сизиф вернулась возможность
держать / на LVM (наверняка EVMS потребует того же)?

Я прошу отвечающих за rc.sysinit и udev внести туда необходимые
исправления. В свою очередь, я могу собрать в пакет devmap_name (из
c-файла, makefile и man), от которого должен будет зависеть udev.
multipath-tools я собирать не берусь, т.к. пока он мне не нужен. Если в
будущем он появится в Сизифе, можно будет заменить им devmap_name.

Да, патч к rc.sysinit в аттаче. Я знаю, что он ужасен, но как сделать лучше?

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

[-- Attachment #2: rc.sysinit.diff --]
[-- Type: text/x-patch, Size: 4317 bytes --]

--- ./rc.sysinit.orig	2006-03-21 09:41:51 +0300
+++ ./rc.sysinit	2006-03-21 11:12:27 +0300
@@ -86,6 +86,70 @@
 # Set the system clock (when /etc/adjtime is missing)
 [ -s /etc/adjtime ] || /etc/init.d/clock start
 
+action "Temorary remounting root filesystem in read/write mode:" mount -n -o remount,rw /
+
+# Load device-mapper, create its device file
+if [ ! -e /dev/.devfsd -a -e /proc/devices -a -e /proc/misc ]; then
+	rm -f /dev/mapper/control
+	modprobe dm-mod >/dev/null 2>&1
+	MAJOR="$(sed -ne 's/^ *\([0-9]\+\) \+misc$/\1/p' /proc/devices)"
+	MINOR="$(sed -ne 's/^ *\([0-9]\+\) \+device-mapper$/\1/p' /proc/misc)"
+	if [ -n "$MAJOR" -a -n "$MINOR" ]; then
+		mkdir -p -m755 /dev/mapper
+		action "Creating device-mapper character device ($MAJOR, $MINOR):" \
+			mknod --mode=600 /dev/mapper/control c "$MAJOR" "$MINOR"
+	fi
+	unset MAJOR MINOR
+fi
+
+# Activate EVMS
+EVMS_ACTIVE=
+STARTEVMS=/sbin/startevms
+if [ -x "$STARTEVMS" ] && ! grep -iwqs noevms /proc/cmdline; then
+	action "Starting up EVMS:" "$STARTEVMS" init
+	EVMS_ACTIVE=1
+fi
+
+# Add raid devices
+if [ -z "$EVMS_ACTIVE" ] && [ -f /proc/mdstat ]; then
+	# A non-zero return means there were problems.
+	if ! /etc/rc.d/scripts/raidstart; then
+		echo
+		echo
+		echo "*** An error occurred during the RAID startup"
+		echo "*** Dropping you to a shell; the system will reboot"
+		echo "*** when you leave the shell."
+
+		PS1="(RAID Repair) \# # "; export PS1
+		sulogin
+
+		echo "Unmounting file systems"
+		umount -arnf
+		mount -n -o remount,ro /
+		echo "Automatic reboot in progress."
+		reboot -f
+	fi
+fi
+
+# Activate LVM
+VGMKNODES=/sbin/vgmknodes
+VGCHANGE=/sbin/vgchange
+if [ -e "$VGCHANGE" -a -e "$VGMKNODES" ]; then
+	modprobe lvm-mod >/dev/null 2>&1
+	# for 2.4.x kernel and LVM1 binaris
+	if [ -d /proc/lvm -a ! -c /dev/mapper/control -a ! -x /sbin/lvm ]; then
+		"$VGMKNODES" >/dev/null 2>&1
+		action "Setting up LVM:" "$VGCHANGE" -a y
+	fi
+	# for 2.6.x kernel and LVM2 binaris
+	if [ ! -d /proc/lvm -a -c /dev/mapper/control  -a -x /sbin/lvm ]; then
+		"$VGMKNODES" >/dev/null 2>&1
+		action "Setting up LVM2:" "$VGCHANGE" -a y
+	fi
+fi
+
+action "Temorary remounting root filesystem in read-only mode:" mount -n -o remount,ro /
+
 # Activate swap
 action "Activating swap partitions:" swapon -a -e
 
@@ -258,66 +322,6 @@
 	ExecIfExecutable /sbin/setsysfont >/dev/null 2>&1 && SETSYSFONT_DONE=1 || SETSYSFONT_DONE=
 fi
 
-# Load device-mapper, create its device file
-if [ ! -e /dev/.devfsd -a -e /proc/devices -a -e /proc/misc ]; then
-	rm -f /dev/mapper/control
-	modprobe dm-mod >/dev/null 2>&1
-	MAJOR="$(sed -ne 's/^ *\([0-9]\+\) \+misc$/\1/p' /proc/devices)"
-	MINOR="$(sed -ne 's/^ *\([0-9]\+\) \+device-mapper$/\1/p' /proc/misc)"
-	if [ -n "$MAJOR" -a -n "$MINOR" ]; then
-		mkdir -p -m755 /dev/mapper
-		action "Creating device-mapper character device ($MAJOR, $MINOR):" \
-			mknod --mode=600 /dev/mapper/control c "$MAJOR" "$MINOR"
-	fi
-	unset MAJOR MINOR
-fi
-
-# Activate EVMS
-EVMS_ACTIVE=
-STARTEVMS=/sbin/startevms
-if [ -x "$STARTEVMS" ] && ! grep -iwqs noevms /proc/cmdline; then
-	action "Starting up EVMS:" "$STARTEVMS" init
-	EVMS_ACTIVE=1
-fi
-
-# Add raid devices
-if [ -z "$EVMS_ACTIVE" ] && [ -f /proc/mdstat ]; then
-	# A non-zero return means there were problems.
-	if ! /etc/rc.d/scripts/raidstart; then
-		echo
-		echo
-		echo "*** An error occurred during the RAID startup"
-		echo "*** Dropping you to a shell; the system will reboot"
-		echo "*** when you leave the shell."
-
-		PS1="(RAID Repair) \# # "; export PS1
-		sulogin
-
-		echo "Unmounting file systems"
-		umount -arnf
-		mount -n -o remount,ro /
-		echo "Automatic reboot in progress."
-		reboot -f
-	fi
-fi
-
-# Activate LVM
-VGSCAN=/sbin/vgscan
-VGCHANGE=/sbin/vgchange
-if [ -e "$VGCHANGE" -a -e "$VGSCAN" -a -s /etc/lvmtab ]; then
-	modprobe lvm-mod >/dev/null 2>&1
-	# for 2.4.x kernel and LVM1 binaris
-	if [ -d /proc/lvm -a ! -c /dev/mapper/control -a ! -x /sbin/lvm ]; then
-		"$VGSCAN" >/dev/null 2>&1
-		action "Setting up LVM:" "$VGCHANGE" -a y
-	fi
-	# for 2.6.x kernel and LVM2 binaris
-	if [ ! -d /proc/lvm -a -c /dev/mapper/control  -a -x /sbin/lvm ]; then
-		"$VGSCAN" >/dev/null 2>&1
-		action "Setting up LVM2:" "$VGCHANGE" -a y
-	fi
-fi
-
 # Check filesystems
 splash_update localfs 5
 _RUN_QUOTACHECK=0


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

* Re: [devel] / на LVM2 и сопутствующие проблемы
  2006-03-21  8:41 ` Eugene Prokopiev
@ 2006-03-23 10:03   ` Eugene Prokopiev
  2006-03-24  3:05   ` Semushin Slava
  1 sibling, 0 replies; 4+ messages in thread
From: Eugene Prokopiev @ 2006-03-23 10:03 UTC (permalink / raw)
  To: ALT Devel discussion list

Eugene Prokopiev пишет:
>> Собственно, пока я вижу такие проблемы:
>>
>> 1) куда перенести fsck?
> 
> 
> Я перенес инициализацию devmapper, evms, raid и lvm перед swapon - так
> было в ALM 2.4. Есть серьезные причины, по которым порядок был изменен?
> Поскольку lvm желает модифицировать / , мне пришлось временно
> перемонтировать его в rw, а потом вернуть обратно в ro. В ALM 2.4 этого
> не было, и мне не понятно, как в таком случае все работало.

выяснилось, что все гораздо проще: вместо изменения порядка запуска
скриптов достаточно, чтобы до запуска udevd в /dev/ присутствовали все
lvm-устройства - именно так и было в ALM 2.4

> 
>> 2) как в /dev создать необходимые устройства при загрузке (vgscan 
>> --mknodes в rc.sysinit?)
> 
> 
> vgmknodes

получается, что это тоже не нужно

>> 3) как убедить udevd это не портить?

Собрал новую версию multipath-tools в пакет, она не совместима с патчами
из предыдущей версии пакета, попавшего в orphaned, поэтому все патчи я
выкинул. Заодно выкинул инит-скрипты, работоспособность которых я
проверить не могу, но сильно в ней сомневаюсь. Если не будет возражений,
именно в таком виде multipath-tools уйдет в Сизиф, сломать он ничего не
сможет (пока udev не научится с ним работать из коробки), но может
кому-то будет полезен.

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


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

* Re: [devel] / на LVM2 и сопутствующие проблемы
  2006-03-21  8:41 ` Eugene Prokopiev
  2006-03-23 10:03   ` Eugene Prokopiev
@ 2006-03-24  3:05   ` Semushin Slava
  1 sibling, 0 replies; 4+ messages in thread
From: Semushin Slava @ 2006-03-24  3:05 UTC (permalink / raw)
  To: ALT Devel discussion list


--- Eugene Prokopiev 2006-03-21 11:41:28 +0300
+++ php-coder 2006-03-22 20:13:15 +0600

EP> --- ./rc.sysinit.orig	2006-03-21 09:41:51 +0300
EP> +++ ./rc.sysinit	2006-03-21 11:12:27 +0300
EP> @@ -86,6 +86,70 @@
EP>  # Set the system clock (when /etc/adjtime is missing)
EP>  [ -s /etc/adjtime ] || /etc/init.d/clock start
EP>  
EP> +action "Temorary remounting root filesystem in read/write mode:" mount -n -o remount,rw /
    [...]
EP> +action "Temorary remounting root filesystem in read-only mode:" mount -n -o remount,ro /

    s/Temorary/Temporary/


-- 
+ Semushin Slava | php-coder @ ngs.ru
+ ALT Linux Team | php-coder @ altlinux.ru



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

end of thread, other threads:[~2006-03-24  3:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-20 13:10 [devel] / на LVM2 и сопутствующие проблемы Eugene Prokopiev
2006-03-21  8:41 ` Eugene Prokopiev
2006-03-23 10:03   ` Eugene Prokopiev
2006-03-24  3:05   ` Semushin Slava

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

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


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