Device busy optane memory when creating pool

adieljulio

Cadet
Joined
Oct 3, 2022
Messages
3
I just setup TrueNAS Scale today. I want to create a pool with intel optane as l2arc cache. but when I create, I got error [EFAULT] Failed to wipe disk nvme0n1: [Errno 16] Device or resource busy: '/dev/nvme0n1'.

I already tried manually creating a GPT table and partition using parted it was a success. but when using GUI pool it failed. here is the error callstack of the GUI
Error: Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/middlewared/job.py", line 411, in run
await self.future
File "/usr/lib/python3/dist-packages/middlewared/job.py", line 446, in __run_body
rv = await self.method(*([self] + args))
File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1140, in nf
res = await f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1272, in nf
return await func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/middlewared/plugins/pool.py", line 740, in do_create
await self.middleware.call('pool.format_disks', job, disks)
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1345, in call
return await self._call(
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1294, in _call
return await methodobj(*prepared_call.args)
File "/usr/lib/python3/dist-packages/middlewared/plugins/pool_/format_disks.py", line 56, in format_disks
await asyncio_map(format_disk, disks.items(), limit=16)
File "/usr/lib/python3/dist-packages/middlewared/utils/asyncio_.py", line 16, in asyncio_map
return await asyncio.gather(*futures)
File "/usr/lib/python3/dist-packages/middlewared/utils/asyncio_.py", line 13, in func
return await real_func(arg)
File "/usr/lib/python3/dist-packages/middlewared/plugins/pool_/format_disks.py", line 29, in format_disk
await self.middleware.call(
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1345, in call
return await self._call(
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1305, in _call
return await self.run_in_executor(prepared_call.executor, methodobj, *prepared_call.args)
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1206, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/lib/python3/dist-packages/middlewared/plugins/disk_/format.py", line 26, in format
raise CallError(f'Failed to wipe disk {disk}: {job.error}')
middlewared.service_exception.CallError: [EFAULT] Failed to wipe disk nvme0n1: [Errno 16] Device or resource busy: '/dev/nvme0n1'

The setup:
- CPU: Intel(R) Core(TM) i7-12700
- Motherboard: Biostar B660GTN
- 64 GB RAM (2x32GB)
- Intel Optane 16GB
- JMB585 5x sata to M.2
- 2x Seagate Ironwolf NAS 10TB
TrueNAS-SCALE-22.02.4
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
JMB585 5x sata to M.2

If this is some sort of SATA port multiplier, it is strongly disrecommended at best, and not expected to work at worst.


Intel Optane 16GB
create a pool with intel optane as l2arc cache

Why? You'd be much better off with a 256GB SSD of some sort. The special qualities of an Optane might be more suited towards use as a small SLOG device.

You can probably run DBAN on the Optane device to blank it out for use with TrueNAS.
 

adieljulio

Cadet
Joined
Oct 3, 2022
Messages
3
If this is some sort of SATA port multiplier, it is strongly disrecommended at best, and not expected to work at worst.
I check it uses PCI not SATA multiplier. It is from 2x Gen3 PCI to SATA reference here https://www.jmicron.com/file/download/997/JMB585.pdf
Why? You'd be much better off with a 256GB SSD of some sort. The special qualities of an Optane might be more suited towards use as a small SLOG device.
I just use it because it is cheap right now. maybe I just use it as SLOG. but it still has the same busy error.

You can probably run DBAN on the Optane device to blank it out for use with TrueNAS.
any guide to DBAN? I am still new to this.
 

adieljulio

Cadet
Joined
Oct 3, 2022
Messages
3
Update from me I DBAN the optane using
sudo dd if=/dev/urandom of=/dev/nvme0n1 bs=10M
and I success add it to the pool.

About SLOG, is it safe to use cheap optane 16GB as SLOG? because it has warned can be data loss on it.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I check it uses PCI not SATA multiplier. It is from 2x Gen3 PCI to SATA reference here https://www.jmicron.com/file/download/997/JMB585.pdf

I just use it because it is cheap right now. maybe I just use it as SLOG. but it still has the same busy error.


any guide to DBAN? I am still new to this.

Blancco bought out DBAN a few years back and changed most of the website to a crappy upsell-to-Blancco thingy. DBAN is still very usable despite what you might be led to believe. There are YouTube tutorials on blanking disks with DBAN. You only need the most basic mode, which is to overwrite with zeroes.
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
About SLOG, is it safe to use cheap optane 16GB as SLOG? because it has warned can be data loss on it.
The warning about data loss is present for any single-device vdev, including the log device.

The potential risk window is "if your system crashes, and the single SLOG device dies, you will lose data" - this gets mitigated by having two mirrored SLOG devices, which then requires you to have a simultaneous system crash and two simultaneous device failures before losing data.
 
Top