Auto-update blog content from Obsidian: 2026-02-24 10:34:56
All checks were successful
Blog Deployment / Merge (push) Successful in 7s
Blog Deployment / Deploy-Production (push) Successful in 8s
Blog Deployment / Test-Production (push) Successful in 2s
Blog Deployment / Clean (push) Has been skipped
Blog Deployment / Notify (push) Successful in 2s
Blog Deployment / Check-Rebuild (push) Successful in 6s
Blog Deployment / Build (push) Has been skipped
Blog Deployment / Deploy-Staging (push) Successful in 9s
Blog Deployment / Test-Staging (push) Successful in 2s
@@ -37,7 +37,14 @@ While the speed is negligible to me because my network can't handle it, the othe
|
|||||||
|
|
||||||
My first choice was the [Aiffro K100](https://www.aiffro.com/fr/products/all-ssd-nas-k100). But I couldn't find a way to have it deliver in France without doubling the price. Finally I managed to buy a [Beelink ME mini](https://www.bee-link.com/products/beelink-me-mini-n150?variant=48678160236786).
|
My first choice was the [Aiffro K100](https://www.aiffro.com/fr/products/all-ssd-nas-k100). But I couldn't find a way to have it deliver in France without doubling the price. Finally I managed to buy a [Beelink ME mini](https://www.bee-link.com/products/beelink-me-mini-n150?variant=48678160236786).
|
||||||
|
|
||||||
This small cube has 2x 2.5Gbps Ethernet ports and can host up to 6x NVMe drives, plus a 64 GB eMMC chip to install an OS. I started with 2 drives for now, 2 TB each.
|
This small cube has:
|
||||||
|
- N200 CPU
|
||||||
|
- 12 GB of RAM
|
||||||
|
- 2x 2.5Gbps Ethernet ports
|
||||||
|
- can host up to 6x NVMe drives
|
||||||
|
- a 64 GB eMMC chip to install an OS.
|
||||||
|
|
||||||
|
I started with 2 drives for now, 2 TB each.
|
||||||
|
|
||||||
### Software
|
### Software
|
||||||
|
|
||||||
@@ -54,11 +61,71 @@ After comparing the solutions, the choice was made to use TrueNAS Community Edit
|
|||||||
|
|
||||||
## Install TrueNAS
|
## Install TrueNAS
|
||||||
|
|
||||||
The installation of TrueNAS didn't go
|
The installation of TrueNAS didn't go as smooth as I expected id to be.
|
||||||
|
|
||||||
|
I'm using [Ventoy](https://www.ventoy.net/en/index.html) to store multiple ISO in a single USB stick. I was in version 1.0.99, and the ISO wouldn't launch. I had to update to version 1.1.10 to make it work:
|
||||||
|

|
||||||
|
|
||||||
|
But here I encounter another problem when launching the installation on my eMMC storage device:
|
||||||
|
```
|
||||||
|
Failed to find partition number 2 on mmcblk0
|
||||||
|
```
|
||||||
|
|
||||||
|
I found a solution on this [post](https://forums.truenas.com/t/installation-failed-on-emmc-odroid-h4/15317/12):
|
||||||
|
- Enter the shell
|
||||||
|

|
||||||
|
- Edit the file `/lib/python3/dist-packages/truenas_installer/utils.py`
|
||||||
|
- Move the line `await asyncio.sleep(1)` right beneath `for _try in range(tries):`
|
||||||
|
- Edit line 46 to add `+ 'p'`:
|
||||||
|
`for partdir in filter(lambda x: x.is_dir() and x.name.startswith(device + 'p'), dir_contents):`
|
||||||
|

|
||||||
|
- Exit the shell and start the installation without reboot
|
||||||
|
|
||||||
|
The installer was finally able to get through:
|
||||||
|

|
||||||
|
|
||||||
|
Once the installation is complete, I shutdown the machine. Then I install it into my rack on top of the 3 Proxmox VE nodes. I plug both Ethernet cables from my switch, the power and turn it on.
|
||||||
|
|
||||||
## Configuration of TrueNAS
|
## Configuration of TrueNAS
|
||||||
### basic conf
|
|
||||||
### pool creation
|
By default TrueNAS is using DHCP. I check the UniFi interface to gather its MAC, then in OPNsense, I define a new host override in Dnsmasq. Finally in the Caddy plugin, I create a new domain for TrueNAS with that IP. I restart the machine a last time.
|
||||||
|
|
||||||
|
✅ After a few minutes, TrueNAS is now available on https://nas.vezpi.com.
|
||||||
|
### General Settings
|
||||||
|
|
||||||
|
During the installation I didn't choose to define a password for the user `truenas_admin`. I'm requested to change it as soon as I reach the login page:
|
||||||
|

|
||||||
|
|
||||||
|
Once the password is updated, I land on the dashbaord. The UI feels great at first glance:
|
||||||
|

|
||||||
|
|
||||||
|
The first thing I do is to change the hostname to `granite` and check the box below to define the domain inherited from DHCP:
|
||||||
|

|
||||||
|
|
||||||
|
In the `General Settings`, I change the `Localization` settings. I set the Console Keyboard Map to `French (AZERTY)` and the Timezone to `Europe/Paris`.
|
||||||
|
|
||||||
|
I create a new user `vez`, with `Full Admin` role within TrueNAS. I allow SSH access but only with a SSH key, not with password:
|
||||||
|

|
||||||
|
|
||||||
|
Finally I remove the admin role from `truenas_admin` and lock the account.
|
||||||
|
|
||||||
|
### Pool creation
|
||||||
|
|
||||||
|
{what is pool}
|
||||||
|
|
||||||
|
In the `Storage` page, I can find my `Disks`, where I can confirm TrueNAS can see my couple of NVMe drives:
|
||||||
|

|
||||||
|
|
||||||
|
Now back in the `Storage Dashboard`, I click the `Create Pool` button. I name the pool `storage`:
|
||||||
|

|
||||||
|
|
||||||
|
Then I select the `Mirror` layout:
|
||||||
|

|
||||||
|
|
||||||
|
I explore quickly the optional options but none makes sense for my setup. At the end, before creating the pool, there is a Review section:
|
||||||
|

|
||||||
|
|
||||||
|
After hitting `Create Pool`, I'm warned that everything on the disks will be erased, which I have to confirm. Finally the pool is created.
|
||||||
|
|
||||||
### dataset config
|
### dataset config
|
||||||
|
|
||||||
|
|||||||
BIN
static/img/truenas-config-change-hostname.png
Normal file
|
After Width: | Height: | Size: 213 KiB |
BIN
static/img/truenas-create-new-user.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
static/img/truenas-fresh-install-dashboard.png
Normal file
|
After Width: | Height: | Size: 183 KiB |
BIN
static/img/truenas-iso-enter-shell.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
static/img/truenas-iso-fix-installer.png
Normal file
|
After Width: | Height: | Size: 211 KiB |
BIN
static/img/truenas-iso-installation-splash.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
static/img/truenas-iso-installation.png
Normal file
|
After Width: | Height: | Size: 145 KiB |
BIN
static/img/truenas-login-page-change-password.png
Normal file
|
After Width: | Height: | Size: 451 KiB |
BIN
static/img/truenas-pool-creation-general.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
static/img/truenas-pool-creation-layout.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
static/img/truenas-pool-creation-review.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
static/img/truenas-storage-disks-unconfigured.png
Normal file
|
After Width: | Height: | Size: 73 KiB |