Boot problem if a ZFS log device is missing

Ronald Klop ronald-freebsd8 at klop.yi.org
Fri Aug 30 11:45:16 UTC 2013


On Fri, 30 Aug 2013 12:58:29 +0200, Johan Hendriks  
<joh.hendriks at gmail.com> wrote:

> Maurizio Vairani wrote:
>> On 29/08/2013 11.01, Andriy Gapon wrote:
>>> on 29/08/2013 11:27 Maurizio Vairani said the following:
>>>> I am able to boot the PC without a cache device but not without a log  
>>>> device. Why ?
>>> The log could potentially contain uncommitted entries.  Without the  
>>> log device
>>> there is no knowing if it did or did not.  And if it did then the pool  
>>> is
>>> inconsistent state without the log device and so it can not be  
>>> imported.
>>>
>>> The cache is not persistent and so there is nothing needed from it  
>>> upon a boot.
>>>
>> Thank you for the clear and concise reply.
>>
>> Yesterday I have done some test. If I remove the stick from the USB  
>> port, before the shutdown the PC, it  don't crash but continues to  
>> works. Then  I am able to reboot the laptop without inserting the stick  
>> with a pool that works in degraded mode.
>>
>> From the end user point of view a PC should always boot, even with a  
>> missing ZFS log device.
>>
>> Regards
>> Maurizio
>>
>> _______________________________________________
>> freebsd-fs at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
>> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
> I do not agree with the following.
>      From the end user point of view a PC should always boot, even with  
> a missing ZFS log device.
>
> I think it should give you a option to import the pool or not import the  
> pool!
> There could be a situation when you are not sure that the ZIL is  
> commited, in that situation it would be handy if you can suspend the  
> boot and make sure the ZIL is there when you reboot or import after you  
> attached the ZIL.
> I would hate it when it corrups my data just because we always import.  
> with or without the ZIL.
>
> In your test you remove the ZIL, and when you reboot then it imports  
> correctly, as far as my knowledge goes this is ok, because when the pool  
> is exported there is no left data in the ZIL, it was not there when we  
> exported, so we can import even without the missing ZIL without problem.

I think he was just lucky his system wasn't writing a lot to the ZIL at  
the moment of removal. So his system was in a consistent state. Otherwise  
you just miss data which is in the ZIL and not on disk.
BTW: Not everything goes through the ZIL. It is not the same as a journal.  
Only sync writes go to the ZIL. If you don't use databases or NFS or other  
software which wants to make sure data is on stable storage, you might  
rarely use the ZIL.

Ronald.

>
> regards
> Johan
>
>
>
>
>
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"


More information about the freebsd-stable mailing list