ZFS Could Devd Help In Case Of Dead Of SLOG?

Hi,

when an attached SLOG dies, the pool, it was attached to, will be stoped. Actually, this is a disaster, that's why you should always mirror SLOG, right? Even, I read that death of a SLOG is no problem, because ZIL will then be distributed to all devices of the pool (again). But the last time I removed SLOG from pool, that was on load, the pool died immediately ?

Imagine you have only one slot free for a NVMe SLOG, but you have a HAST setup: Both nodes, A and B, have spin disks and each just one NVMe ssd (with powerloss protection). A is active master, so pool is attached to it and it is using local NVMe for ZIL (SLOG).

Now, on dead of the SLOG your failover script on A switches A to backup and on node B it turns B from backup to master: on B, pool is being imported as well as the local NVMe is being attached to the pool.
But how to sense on dead of the SLOG? By devd? :-/
And another question: If the pool on A dies, will the synced pool on B allow to add the local NVMe to pool to act as SLOG? :what:

(A) So this might look like
Code:
A_da0 <--HAST--> B_da0
A_da1 <--HAST--> B_da1
A_nvme*           B_nvme

* is attached to hatank (hada0 = {A,B}_da0, hada1 = {A,B}_da1 ) pool

Or do you think, it is better to configure each NVMe to be mirrored by using hast, so both NVMes could die (TBW exhausted) almost at same time. BTW: TBW death could also occure on locally mirrored SLOG, right?

(B) So this might look like
Code:
A_da0 <--HAST--> B_da0
A_da1 <--HAST--> B_da1
A_nvme <--HAST--> B_nvme

What might be best solution? :-/ (A) or (B). I would guess (B), but I am not sure.

BTW: L2ARC does not need to be redundant, but would it be a good idea to mirror it using HAST since lost read cache might have an impact on pool performance? :-/
 
Back
Top