TrueNAS Scale 從 2022/02 推出以後到現在也歷經 10 個月
想說那就來把我的 TrueNAS Core 升級至 Scale,畢竟我還是對於 Linux 比較熟悉
雖然 TrueNAS Core 碰了一些 FreeBSD,但我還是比較喜歡 Linux,加上還有 K3S 可以用

Prepare

首先根據官網的說明 Migrating from TrueNAS CORE

TrueNAS systems on 12.0x or lower should update to the latest CORE 13.0 release (e.g 13.0-U2) prior to migrating to SCALE.

我必須先將我的 TrueNAS Core - 12 更新至 13,然後再下載 TrueNAS Scale iso 進行更新

Upgrade

基本上官方網站寫的很詳細 Migrating from TrueNAS CORE 完全可以照著進行

  1. 選擇 Install/Upgrade

仔細仔細仔細,不要選到儲存碟

  1. 選擇 系統碟
  2. 選擇 Upgrade Install
  3. 選擇 Install in new boot environment
  4. 選擇 Yes

Container

由於 Core 是 Jail,而 Scale 是 Container,想當然爾…我要重建使用 Jail 建立的服務

分別有 Nextcloud、Qbittorrent、Gitea、Plex

其中比較麻煩的部分是, [Offical] Nextcloud 需要設定兩個部分,分別是 https rewrite 和 size limit

如果沒有把 Config 映射至本地儲存空間,則需要進入到 Container 裡

1
2
3
4
5
6
k3s kubectl get namespaces
k3s kubectl get -n <NAMESPACE> pods
k3s kubectl exec -n <NAMESPACE> --stdin --tty <POD> -- /bin/bash

apt-get update
apt-get install vim

Config.php

因為我是透過 Nginx reverse proxy 做 SSL

所以需要分別設定信任網域、重寫 HTTPs 協議、重寫網頁請求至對應的網址

不然會無法正常顯示

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
vim /var/www/html/config/config.php

...
'trusted_domains' =>
array (
  0 => 'localhost',
  1 => '192.168.X.X',
  2 => 'www.example.com',
)
'overwriteprotocol' => 'https',
'overwrite.cli.url' => 'https://www.example.com',
...

Size Limit

增加上傳檔案大小的限制,目前是 PHP8.X 所以修改 PHP 8.X 即可,但我就想都修改上去

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
vim /var/www/html/.htaccess

# PHP 7.x
<IfModule mod_php7.c>
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
php_value upload_max_filesize 5G
php_value post_max_size 5G
php_value max_input_time 3600
php_value max_execution_time 3600
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>

# PHP8.x
<IfModule mod_php.c>
php_value mbstring.func_overload 0
php_value default_charset 'UTF-8'
php_value output_buffering 0
php_value upload_max_filesize 5G
php_value post_max_size 5G
php_value max_input_time 3600
php_value max_execution_time 3600
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>
1
2
3
4
5
6
7
vim /var/www/html/.user.ini

...
upload_max_filesize=5G
post_max_size=5G
max_input_time=3600
max_execution_time=3600

Ref

  1. accessing a container from the cli?
  2. Uploading big files > 512MB