Eu tenho um servidor com o FreeBSD 10.3 que de repente não consigo reiniciar. O servidor tem funcionado bem por mais de 6 meses, mas não foi reiniciado desde há cerca de 5 meses, até agora. Eu acabo em "mountroot" com o erro unknown file system
.
Quando inicializo o "Rescue" (o servidor está no Hetzner.de e também tem um KVM), consigo montar o conjunto inteiro com o comando: zpool import -o altroot=/mnt zroot
. Parece que a piscina está bem.
Todos os comandos abaixo são executados a partir do Rescue após a importação de 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
A piscina:
[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 não inicializa a raiz ZFS após a falta de energia é semelhante a esta questão, mas a sua piscina é muito maior do que a minha e eu não vejo que os erros que ele tem. Alguma sugestão?
ATUALIZAÇÃO: Conseguimos resolver o problema criando um pequeno pool de inicialização da partição swap e inicializá-lo a partir dele. Parece que o problema foi por causa do pool de inicialização enorme. Bloqueio de inicialização não pode lidar com um pool tão grande e lê apenas parte dele, dizendo que é inconsistente. Funcionou anteriormente quando a piscina não estava tão cheia.