Недавно я установил FreeBSD 10.1 на машину, которая годами нормально работала с FreeBSD 6.2. Поскольку машина находится в центре обработки данных, я настроил удаленный доступ через последовательную консоль.
После установки у меня возникла странная проблема при загрузке. При каждой перезагрузке rootfs не может быть смонтирован.
uhub4: 8 ports with 8 removable, self powered
Trying to mount root from ufs:/dev/raid/r0p2 [rw]...
mountroot: waiting for device /dev/raid/r0p2 ...
Mounting from ufs:/dev/raid/r0p2 failed with error 19.
Loader variables:
vfs.root.mountfrom=ufs:/dev/raid/r0p2
vfs.root.mountfrom.options=rw
Manual root filesystem specification:
<fstype>:<device> [options]
Mount <device> using filesystem <fstype>
and with the specified (optional) option list.
eg. ufs:/dev/da0s1a
zfs:tank
cd9660:/dev/acd0 ro
(which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /)
? List valid disk boot devices
. Yield 1 second (for background tasks)
<empty line> Abort manual input
mountroot>
но когда я нажимаю ввод (через подключенную клавиатуру или последовательную консоль), я вижу следующее: система перезагружается нормально
mountroot>
panic: mountroot: unable to (re-)mount root.
cpuid = 0
KDB: stack backtrace:
#0 0xffffffff80963000 at kdb_backtrace+0x60
#1 0xffffffff80928125 at panic+0x155
#2 0xffffffff809c554f at vfs_mountroot+0x1eaf
#3 0xffffffff808d7533 at start_init+0x53
#4 0xffffffff808f8b6a at fork_exit+0x9a
#5 0xffffffff80d0acbe at fork_trampoline+0xe
Uptime: 12s
Automatic reboot in 15 seconds - press a key on the console to abort
теперь система перезагружается и все идет нормально
Trying to mount root from ufs:/dev/raid/r0p2 [rw]...
Setting hostuuid: 530c9cf5-a7e5-11e4-97b5-00e08146563c.
Setting hostid: 0xe4218f4f.
Entropy harvesting: interrupts ethernet point_to_point swi.
Starting file system checks:
/dev/raid/r0p2: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/raid/r0p2: clean, 7232943 free (983 frags, 903995 blocks, 0.0% fragmentation)
/dev/raid/r1s1f: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/raid/r1s1f: clean, 41630678 free (104646 frags, 5190754 blocks, 0.1% fragmentation)
/dev/raid/r0p4: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/raid/r0p4: clean, 49146170 free (8498 frags, 6142209 blocks, 0.0% fragmentation)
Mounting local file systems:.
Writing entropy file:.
Я просто подумал, что если система автоматически перезагружается, когда она не может смонтировать root (что, я думаю, из-за паники ядра), у меня может быть эта система, работающая нормально, она просто перезагрузится дважды.
Я нашел похожий поток, но связанный с Linux, где я мог установить переменную / etc / sysctl и иметь автоматическую перезагрузку системы при панике ядра
kernel.panic = 20
Автоматическая перезагрузка после паники ядра
Однако, похоже, это не работает на FreeBSD. У меня вопрос: есть ли способ заставить эту систему автоматически перезагружаться, когда rootfs не может быть смонтирован? Надеюсь, он может перезагрузиться и смонтировать root при втором запуске?
Я также буду признателен за любые другие предложения.
Спасибо
Меня попросили вывести некоторые данные из настроек сервера, вот они:
nn@d02:~ % uname -a
FreeBSD hostname 10.1-RELEASE-p19 FreeBSD 10.1-RELEASE-p19 #0: Sat Aug 22 03:55:09 UTC 2015 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
nn@d02:~ % freebsd-version -k
10.1-RELEASE-p19
nn@d02:~ % freebsd-version -u
10.1-RELEASE-p19
nn@d02:~ % gpart show
=> 34 488390589 raid/r0 GPT (233G)
34 1024 1 freebsd-boot (512K)
1058 62914560 2 freebsd-ufs (30G)
62915618 8388608 3 freebsd-swap (4.0G)
71304226 417086396 4 freebsd-ufs (199G)
488390622 1 - free - (512B)
=> 63 488390593 raid/r1 MBR (233G)
63 488375937 1 freebsd [active] (233G)
488376000 14656 - free - (7.2M)
=> 0 488375937 raid/r1s1 BSD (233G)
0 1048576 1 freebsd-ufs (512M)
1048576 8324192 2 freebsd-swap (4.0G)
9372768 6258688 4 freebsd-ufs (3.0G)
15631456 1048576 5 freebsd-ufs (512M)
16680032 471695905 6 freebsd-ufs (225G)
nn@d02:~ % graid show
graid: Unknown command: show.
nn@d02:~ % graid status
Name Status Components
raid/r0 OPTIMAL ada0 (ACTIVE (ACTIVE))
ada1 (ACTIVE (ACTIVE))
raid/r1 OPTIMAL ada2 (ACTIVE (ACTIVE))
ada3 (ACTIVE (ACTIVE))
Если вы используете GENERIC
ядро FreeBSD, KDB
опция включена вместе с sysctl debug.debugger_on_panic
, который по умолчанию запускается в отладчик ядра в случае паники для устранения неполадок.
Чтобы отладчик не запускался, измените sysctl debug.debugger_on_panic
к 0
по рекомендации в Глоссарий параметров отладки ядра. Это должно решить вашу проблему необходимости присутствовать для взаимодействия с сервером в случае паники.
Надеюсь, это поможет вам. Удачи. знак равно