У меня есть сервер с FreeBSD 10.3, который я внезапно не могу перезагрузить. Сервер работает нормально более 6 месяцев, но не перезагружал его примерно 5 месяцев назад до сих пор. Я попадаю в "mountroot" с unknown file system
ошибка.
Когда я загружаюсь в «Спасение» (сервер находится на Hetzner.de и также имеет KVM), я могу смонтировать весь пул с помощью команды: zpool import -o altroot=/mnt zroot
. Вроде с бассейном все в порядке.
Все приведенные ниже команды запускаются из Rescue после импорта zpool:
[root@rescue /mnt]# cat /mnt/boot/loader.conf
kern.geom.label.gptid.enable="0"
zfs_load="YES"
vfs.root.mountfrom="zfs:zroot/ROOT/default"
[root@rescue /mnt/boot]# mount
zroot/ROOT/default on /mnt (zfs, local, noatime, nfsv4acls)
zroot/tmp on /mnt/tmp (zfs, local, noatime, nosuid, nfsv4acls)
zroot/usr/home on /mnt/usr/home (zfs, local, noatime, nfsv4acls)
zroot/usr/ports on /mnt/usr/ports (zfs, local, noatime, nosuid, nfsv4acls)
zroot/usr/src on /mnt/usr/src (zfs, local, noatime, nfsv4acls)
zroot/var/audit on /mnt/var/audit (zfs, local, noatime, noexec, nosuid, nfsv4acls)
zroot/var/crash on /mnt/var/crash (zfs, local, noatime, noexec, nosuid, nfsv4acls)
zroot/var/log on /mnt/var/log (zfs, local, noatime, noexec, nosuid, nfsv4acls)
zroot/var/mail on /mnt/var/mail (zfs, local, nfsv4acls)
zroot/var/tmp on /mnt/var/tmp (zfs, local, noatime, nosuid, nfsv4acls)
zroot on /mnt/zroot (zfs, local, noatime, nfsv4acls)
[root@rescue /mnt]# cat /mnt/etc/rc.conf
hostname="stream"
keymap="swedish.iso.kbd"
ifconfig_em0="DHCP"
ifconfig_em0_ipv6="inet6 accept_rtadv"
sshd_enable="YES"
powerd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
lighttpd_enable=YES
Бассейн:
[root@rescue /mnt]# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zroot 8.12T 5.71T 2.42T - 23% 70% 1.00x ONLINE /mnt
[root@rescue ~]# zfs list -o name,canmount,mountpoint -r zroot/ROOT
NAME CANMOUNT MOUNTPOINT
zroot/ROOT on none
zroot/ROOT/default on /mnt
[root@rescue /mnt]# gpart show
=> 34 17578327997 mfid0 GPT (8.2T)
34 6 - free - (3.0K)
40 1024 1 freebsd-boot (512K)
1064 984 - free - (492K)
2048 4194304 2 freebsd-swap (2.0G)
4196352 17574129664 3 freebsd-zfs (8.2T)
17578326016 2015 - free - (1.0M)
[root@rescue /mnt/boot]# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 5.71T 2.16T 96K /mnt/zroot
zroot/ROOT 5.71T 2.16T 96K none
zroot/ROOT/default 5.71T 2.16T 5.71T /mnt
zroot/tmp 112K 2.16T 112K /mnt/tmp
zroot/usr 688M 2.16T 96K /mnt/usr
zroot/usr/home 5.51M 2.16T 5.51M /mnt/usr/home
zroot/usr/ports 682M 2.16T 682M /mnt/usr/ports
zroot/usr/src 96K 2.16T 96K /mnt/usr/src
zroot/var 5.91M 2.16T 96K /mnt/var
zroot/var/audit 96K 2.16T 96K /mnt/var/audit
zroot/var/crash 96K 2.16T 96K /mnt/var/crash
zroot/var/log 520K 2.16T 520K /mnt/var/log
zroot/var/mail 5.03M 2.16T 5.03M /mnt/var/mail
zroot/var/tmp 96K 2.16T 96K /mnt/var/tmp
FreeBSD 10 не загружается в корень ZFS после сбоя питания похож на эту проблему, но его пул намного больше моего, и я не вижу, какие ошибки он получил. Какие-либо предложения?
ОБНОВЛЕНИЕ: нам удалось решить проблему, создав небольшой загрузочный пул раздела подкачки и загрузившись с него. Похоже, проблема была из-за огромного загрузочного пула. Загрузочный блок не может справиться с таким большим пулом и читает только его часть, говоря, что он несовместим. Раньше это работало, когда бассейн наполнялся не так сильно.