* [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