Chose to use Truenas CORE rather than TrueNAS Scale as the latter is quite new, whereas Core has been around for some time and more “tried & tested”.
- Used this YouTube guide
- Download Truenas CORE (downloads)
- Upload to Proxmox ISO Images folder, or copy URL to the ISO file (link) and upload to Proxmox via the Download from URL button
Create VM for TrueNAS
- In Proxmox GUI, click on Create VM button at upper right
- General tab: Name = TrueNAS, click Next
- OS tab: select ISO Image above, remainder as default, click Next
- System tab: just click Next
- Hard Disk tab: select local-lvm, and 32GB, click Next
- CPU tab: select Cores = 2, click Next
- Memory tab: set Memory (MB) = 8192, click Next
- Network tab: just click Next
- Confirm tab: ensure Start after created is unchecked, click Next
Setup IP Address
Always want the IP address to be the same so configure a reserved IP address in the DHCP settings in the home router. The same IP address will always be allocated using the VM’s MAC address. Note the MAC address is auto set by Proxmox, so recorded here in case we want to use it if we need a VM rebuild in the future, this would obviate the need to reconfigure the router again. Just set the MAC address in the VM config, rather than let it be auto-generated.
- Go to Hardware -> Network Device, note the MAC address
- Auto set to: DE:83:28:CF:04:47
- In browser go to Virgin Media Hub 3.0 (http://192.168.0.1)
- Go to Advanced Settings -> DHCP
- Under Add reserved rule add MAC address above and required IP address for TrueNAS (192.168.0.10), click Apply changes
- Confirm changes ok (not always successful in VirginMedia Hub)
- When VM is started below, it should get the correct IP address as set
Passthrough hard drives to TrueNAS
- SSH into Proxmox server,
ssh [email protected]
, enter Proxmox password- Determine IDs for each hard drive,
lsblk
command - Hard drives likely to start
sda, sdb
, etc. Need actual unique IDs of each drive - Use
lsblk -o +MODEL,SERIAL
command which shows unique SERIAL numbers - Use
ls /dev/disk/by-id
to get details too - Type
qm set 100 -scsi1 /dev/disk/by-id/ata-WDC_WD120EDBZ-11B1HA0_5QH2RZSF
- where 100 is the Proxmox VM ID, scsi1 is the drive index, and the /dev/ ID is from the previous listing
- Repeat for other hard drive IDs to be passed through, increment scsi2, 3, etc
- Determine IDs for each hard drive,
- The disks should be visible in the Proxmox VM -> Hardware tab
Install TrueNAS
- Start the VM: click the Start button upper right, the installation will begin
- TrueNAS Installer screen: press Enter to select 1. Boot TrueNAS Installer [Enter]
- Console Setup menu: select 1 Install / Upgrade option, click OK
- Choose destination media: select the drive for the TrueNAS OS to be installed, 32GB drive created above, click OK
- TrueNAS Installation: at the warning, click Yes to proceed with installation
- Add and confirm root password [StrongBox], click OK
- TrueNAS Boot Mode: click Boot via BIOS
- Installation will begin. At the Please reboot message, remove the installation media (ISO) in Proxmox. Click OK to reboot
- After reboot, the Console setup will appear. Note the IP address
- In the VM -> Options, set Start at boot = Yes to ensure boots when Proxmox starts
- Use a browser to connect to the TrueNAS WebUI (http://192.168.0.10)
- Enter username root and password set above
Configure TrueNAS
- Storage, either select new disks and create pool, or import existing disks:
- Pools
- Click Add, click Import an existing pool, click Next
- Select No, continue with import (no encryption), click Next
- Select MasterPool from dropdown click Next, confirm settings and click Import
- Should import with all datasets configured
- Pools
- Accounts
- Users
- Add email [email protected] to root
- Add bob, jane, timemachine
- Users
- System
- General: Keyboard Map = UK, Timezone = Europe/London, click Save
- NTP Servers: set first = pool.ntp.org, delete others
- Advanced: Show text console without password = untick
- Email
- From email = [email protected], From name = Titan NAS
- Send method: SMTP, Outgoing server = smtp.ntlworld.com
- Mail Server Port = 465, Security: SSL (Implicit TLS),
- SMTP Authentication = ticked, Username = bob.beveridge, Password = [StrongBox]
- Click Save
- Tasks
- Scrub Tasks: confirm MasterPool is listed and enabled
- Network
- MAC address set in VM config above, use DHCP to get IP address from DHCP Reservation in house router : 192.168.0.10/24
- Sharing
- Windows Shares (SMB), will lock down later
- Select dataset Media, name = Media, tick Advanced -> Allow Guest Access
- Select dataset Public, name = Public, tick Advanced -> Allow Guest Access
- Windows Shares (SMB), will lock down later