Pool being turned back On Line

TruNas Scale is the OS.

So last night here in Southern Minnesota we had some nice storms roll threw. Got windy and rainy as heck. We had a power outage. I(t started down the block from me. I could hear the power line short out. Twice. then we were dark for 6 hours. During this, I had to turn off my server. Its on a UPS. Like every computer in my house. I pressed the button in and turned off the server. Turned it on after I got home from work. And my storage pool was “off-line”. After much googling.

How do you turn it back to “on-line”?

It’s only a game pool so far. More is to come for this. But, atm. That’s all it is.

and the Error read as this:
Error: concurrent.futures.process.RemoteTraceback:
“”"
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/middlewared/plugins/zfs
/pool_actions.py", line 227, in import_pool
zfs.import_pool(found, pool_name, properties, missing_log=missing_log, any_host=any_host)
File “libzfs.pyx”, line 1369, in libzfs.ZFS.import_pool
File “libzfs.pyx”, line 1397, in libzfs.ZFS.__import_pool
libzfs.ZFSException: cannot import ‘Main Pool’ as ‘Main Pool’: I/O error

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/lib/python3.11/concurrent/futures/process.py”, line 256, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/worker.py”, line 112, in main_worker
res = MIDDLEWARE._run(*call_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/worker.py”, line 46, in _run
return self._call(name, serviceobj, methodobj, args, job=job)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/worker.py”, line 34, in call
with Client(f’ws+unix://{MIDDLEWARE_RUN_DIR}/middlewared-internal.sock’, py_exceptions=True) as c:
File “/usr/lib/python3/dist-packages/middlewared/worker.py”, line 40, in call
return methodobj(*params)
^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/schema/processor.py”, line 191, in nf
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/zfs
/pool_actions.py", line 207, in import_pool
with libzfs.ZFS() as zfs:
File “libzfs.pyx”, line 529, in libzfs.ZFS.exit
File "/usr/lib/python3/dist-packages/middlewared/plugins/zfs
/pool_actions.py", line 231, in import_pool
raise CallError(f’Failed to import {pool_name!r} pool: {e}', e.code)
middlewared.service_exception.CallError: [EZFS_IO] Failed to import ‘Main Pool’ pool: cannot import ‘Main Pool’ as ‘Main Pool’: I/O error
“”"

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/middlewared/job.py”, line 469, in run
await self.future
File “/usr/lib/python3/dist-packages/middlewared/job.py”, line 511, in _run_body
rv = await self.method(*args)
^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/schema/processor.py”, line 187, in nf
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/schema/processor.py”, line 47, in nf
res = await f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/pool
/import_pool.py", line 113, in import_pool
await self.middleware.call(‘zfs.pool.import_pool’, guid, opts, any_host, use_cachefile, new_name)
File “/usr/lib/python3/dist-packages/middlewared/main.py”, line 1564, in call
return await self._call(
^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/main.py”, line 1425, in _call
return await self._call_worker(name, *prepared_call.args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/main.py”, line 1431, in _call_worker
return await self.run_in_proc(main_worker, name, args, job)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/main.py”, line 1337, in run_in_proc
return await self.run_in_executor(self.__procpool, method, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/middlewared/main.py”, line 1321, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
middlewared.service_exception.CallError: [EZFS_IO] Failed to import ‘Main Pool’ pool: cannot import ‘Main Pool’ as ‘Main Pool’: I/O error

No idea what happened. Its back up and running. I had to just reselect all disks and create it from scratch. Sad part? I could see the pool and all drives when creating it. But could not either import or knew where the “ON” switch is. Next I need to figure out how to back it up. Thankfully its only a game thing so far.

ZFS was specifically designed to survive graceless power offs, (aka crashes). Graceful shutdowns should work fine as well. While a UPS is very nice and useful, it should have no effect on your pool’s reliability directly. That is handled by ZFS’ COW, (Copy On Write), which does not over write existing data until any new data is 100% written cleanly.

That said, power offs, (graceless or normal shutdowns), can expose hardware failures. Like a failing or failed disk. And hardware RAID cards or caching disk controllers can corrupt disks during any power down.

Normal trouble shooting would include running this when a ZFS pool is not working;
zpool import
That is harmless but can show why the pool is not importable. Like it appears yours experienced some I/O Error.

Some of the ZFS vDev types, Cache, (aka L2ARC), Log, (SLOG), and Hot Spare when not in use, are not critical to the pool. This means it may be possible to import the pool without those devices using special options.

There are further possibilities to import a damaged pool, by rolling back some write transactions. That can cause some data loss, but will be limited to recent writes only.


You may want to post your hardware details. Their are some known problems with certain hardware, like hardware RAID controllers.

If you did that all the data i gone ??

Well. That’s that then.

We possibly could’ve diagnosed and recovered.

But not now.

There is no as in zero raid cards anywhere in my house.

Cpu-E5 2687W V2
Ram 128gb Hynix PC3-14900
Board-X9Srl-f
Card-LSI 9300-16i 16-port HBA
Storage-Intel 520 series 480GB x 16

BTW. This just happened for a second time tonight. I shut it down to install a Oracle F80 card. Turned it back on and it was off line again. After a few restarts now only a single disk of the F80 shows up. I’m absolutely no idea how this is happening and how to prevent it.

And now for the mind blowing part. Everything for storage media including the boot drives are new to Scale. Not a single drive is from when I had Core installed. But, for some reason. It showed my only storage pool from Core to import. Um…what?

So put this in the “what in the world” category. After restarting and shutting down several times. Everything just…appeared. Then, my apps didn’t show up. So, after a few tries of trying to install it. Stating that the app was already installed. And driving me nuts. I clicked on a different panel and back and my apps were there. What the heck? Now I’m nervous to have it shut down again. How do I fix this. Export it? I haven’t found how this procedure should be done. Please help