OPNsense Forum

English Forums => Hardware and Performance => Topic started by: ender526 on April 27, 2022, 12:48:29 am

Title: Can ZFS mirror install boot with 1 failed drive?
Post by: ender526 on April 27, 2022, 12:48:29 am
Hello,

I am considering re-installing using a zfs mirror for redundancy more than data integrity. If I lose my FW to a bad drive I lose internal dns and internet. So my goal would be if I lost a drive, that both drives would be bootable and I could stay up on a single drive until Amazon prime delivered another drive. My question is, are both drives bootable when using the installer mirror option by default, Or do I need to mess with the partition tables?

Thanks!
Title: Re: Can ZFS mirror install boot with 1 failed drive?
Post by: _Alchemist_ on May 28, 2022, 09:13:56 pm
My question is, are both drives bootable when using the installer mirror option by default, Or do I need to mess with the partition tables?

Hello ender526,

I just installed OPNsense 22.1.2 on a spare PC (Biostar J3160NH) with two Seagate 2TB SATA HDDs (zfs mirror) and tried booting with both, only the first and only the second HDD.

This were my results:

The Web GUI could be reached in all three cases.

Some more System information (the system time can be ignored):

Both HDDs
Code: [Select]
root@OPNsense:~ # zpool status
  pool: zroot
 state: ONLINE
  scan: resilvered 4.80M in 00:00:01 with 0 errors on Wed Jul 29 00:52:21 2015
config:

NAME          STATE     READ WRITE CKSUM
zroot         ONLINE       0     0     0
  mirror-0    ONLINE       0     0     0
    ada0p4    ONLINE       0     0     0
    gpt/zfs1  ONLINE       0     0     0

errors: No known data errors
root@OPNsense:~ # camcontrol devlist
<SEAGATE ST2000NM0033 NS01>        at scbus0 target 0 lun 0 (pass0,ada0)
<SEAGATE ST2000NM0033 NS01>        at scbus1 target 0 lun 0 (pass1,ada1)
root@OPNsense:~ # opnsense-version
OPNsense 22.1.2_2 (amd64/OpenSSL)

First HDD only
Code: [Select]
root@OPNsense:~ # zpool status
  pool: zroot
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-2Q
  scan: resilvered 5.70M in 00:00:01 with 0 errors on Wed Jul 29 00:43:16 2015
config:

NAME          STATE     READ WRITE CKSUM
zroot         DEGRADED     0     0     0
  mirror-0    DEGRADED     0     0     0
    ada0p4    ONLINE       0     0     0
    gpt/zfs1  UNAVAIL      0     0     0  cannot open

errors: No known data errors
root@OPNsense:~ # camcontrol devlist
<SEAGATE ST2000NM0033 NS01>        at scbus0 target 0 lun 0 (pass0,ada0)
root@OPNsense:~ # opnsense-version
OPNsense 22.1.2_2 (amd64/OpenSSL)

Second HDD only
Code: [Select]
root@OPNsense:~ # zpool status
  pool: zroot
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-2Q
  scan: resilvered 4.80M in 00:00:01 with 0 errors on Wed Jul 29 00:52:21 2015
config:

NAME          STATE     READ WRITE CKSUM
zroot         DEGRADED     0     0     0
  mirror-0    DEGRADED     0     0     0
    ada0p4    UNAVAIL      0     0     0  cannot open
    gpt/zfs1  ONLINE       0     0     0

errors: No known data errors
root@OPNsense:~ # camcontrol devlist
<SEAGATE ST2000NM0033 NS01>        at scbus1 target 0 lun 0 (pass0,ada0)
root@OPNsense:~ # opnsense-version
OPNsense 22.1.2_2 (amd64/OpenSSL)

I hope this answered your question. :)