自建 TrueNAS

由於現有 NAS 空間逐漸不夠,加上相機 RAW 檔越來越多,終於要採購新的 NAS 了。由於對 ZFS 以及其快照功能很有興趣,但又懶得從頭開始處理,也沒有特別想做虛擬化,所以選擇了 TrueNAS Scale 這個以 Debian Linux 為基礎的開源 NAS 作業系統。

配備:

  • 電源供應器:海韻 Focus PX-550
  • 處理器:AMD Ryzen 5 PRO 5650 G
    (APU 要 Pro 才有支援 ECC unbuffered 記憶體)
  • 主機板:華碩 PRIME B550M-A WIFI II
  • 記憶體:金士頓 32GB 3200MHz DDR4 ECC CL22 DIMM 2R*8 x 2
  • 硬碟:Seagate Exos X18 18TB x 4
    (OEM 拆機品,好便宜,意者洽)
  • 開機碟:美光 Micron Crucial BX500 240GB x 2
  • SATA 擴充卡:AUMLMASIG 全通碩 PCIe to 6xSATA3
    (這個有 PCI-E Gen3 x1)

機殼是最難找的(選擇困難)。本來屬意銀欣 CS382,但有點貴,好像也不需要那麼多硬碟插槽。最後在淘寶上買了御夫座,有 6 個插槽也支援 M-ATX 主機板,不必再買沒什麼選擇的 ITX 主機板,白金電源供應器也比較便宜。

TrueNAS Scale 安裝非常簡單,和一般 Linux 文字安裝沒什麼不同。不過在這張主機板上開進 kernel 之後會沒有 HDMI 畫面輸出,在 grub2 中修改啟動參數可以解決:

nomodeset amd_pstate.shared_mem=1 amd_pstate=passive acpi_enforce_resources=lax 

(nomodeset 在安裝完成設定好網路之後要拿掉,否則會導致 amdgpu kernel module 無法載入)

後面多設定了 AMD P-state scaling driver,在 kernel 6.1 之後引入,啟動之後耗電可以降低,性能也較好。這張主機板好像 ACPI 有衝突lm-sensors 沒辦法正常讀取及調整 PWM 風扇,透過 acpi_enforce_resources=lax 略過之後可以強迫忽略衝突。

修改完 P-state 之後,可以使用 cpupower 指令確認是否生效:

# cpupower frequency-info
analyzing CPU 0:
  driver: amd-pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us
  hardware limits: 400 MHz - 4.46 GHz
  available cpufreq governors: performance schedutil
...
  current CPU frequency: 2.35 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    AMD PSTATE Highest Performance: 166. Maximum Frequency: 4.46 GHz.
    AMD PSTATE Nominal Performance: 145. Nominal Frequency: 3.90 GHz.
    AMD PSTATE Lowest Non-linear Performance: 88. Lowest Non-linear Frequency: 2.37 GHz.
    AMD PSTATE Lowest Performance: 15. Lowest Frequency: 400 MHz.

在 TrueNAS 裡面要調整開機參數,必須透過 CLI 修改,否則照一般的 Linux 修改邏輯,重開之後會被復原:

$ midclt call system.advanced.update '{"kernel_extra_options": "nomodeset amd_pstate.shared_mem=1 amd_pstate=passive acpi_enforce_resources=lax "}'

在設定定時快照任務之後,目前運作良好且穩定,滿足家用需求,也保留了未來升級網路的擴充性。

自建 TrueNAS

變更 lvm 分割區大小

lvm (Logical Volume Manager) 是一個複雜的邏輯分割區管理工具。

今天撞到一臺主機不知道怎麼搞得,/var 被切的超級大導致 /home 不夠用了,所以需要搬移一下空間…

首先先將 /var 的檔案系統縮小,保險起見建議可以縮小到目的大小的 90% 左右,之後可以再調整回來。

進行這個前步驟前需要先把 /var 解除掛載,使用 # fuser -vm /var 可以檢查有哪些 daemon 正在使用這個分割區,並且將其停止之,同時也要檢查一下檔案系統有沒有錯誤。

# e2fsck -f /dev/mapper/vg0-var

# resize2fs /dev/mapper/vg0-var 180G

然後使用 lvreduce 縮小 lvm 分割區的大小

# lvreduce -L 200G /dev/mapper/vg0-var

最後再將 /var 的檔案系統調整回目標的 200G

# resize2fs /dev/mapper/vg0-var

如此一來就可以把 /var 縮小了。

接下來我們需要增加 /home 的大小,做法類似,差異在 lvreduce 換成 lvextend

如果需要知道系統現在所有的 lvm partition, volume group 大小資訊等可以下 lvdisplay, pvdisplay, vgdisplay 等確定剩餘空間還有多少。

# lvextend -L 200G /dev/mapper/vg0-home

# e2fsck -f /dev/mapper/vg0-home

# resize2fs /dev/mapper/vg0-home

就大功告成。

變更 lvm 分割區大小

Proxmox 簡易安裝與設定

proxmox

Proxmox 是一套操作上非常簡單的虛擬化系統,提供了 KVM 等級的虛擬機器建置管理以及 OpenVZ 兩種使用環境。KVM 是 Linux kernel 從底層提供的虛擬化環境,可以支援大部分 x86 架構的硬體(但 CPU 需要支援虛擬化指令集),至於 OpenVZ 則是作業系統等級的虛擬環境,有點類似於 chroot,主要是用同一作業系統提供各種不同的網站服務,基本上效能比較好但是限制稍微多了一點。兩種架構應該都算是 IaaS 的服務。

現在的最新版本是 Proxmox VE3.1,釋出也一段時間了,相信網路上也可以找到不少資源。由於 Proxmox 主要是以 Debian 為基本建立的,因此許多熟悉的指令像是 apt-get 都可以直接套用,熟悉 Ubuntu 的朋友想必操作上絕對沒有問題。

這一次處理 中央網路開源社 的伺服器,由於資源不多因此我們只有一台電腦與一個 IP,要在這種克難的環境下搞出虛擬平台稍微複雜了點。VMWare 之流的軟體硬體支援度不好,Xen 的操作使用又太複雜,再加上沒用過 Proxmox,因此就決定來試試看

安裝

安裝的部份非常簡單,放入光碟一步一步照著教學操作就可以安裝完成。詳細的圖文教學可以參照最底下的連結。 在這邊我們要設定一個主機的 IP 位址方便未來連線。

使用

安裝完之後,變可以透過 https://[your IP]:8006 進入主機的 web 管理介面。這介面真的美觀好用到令人感動 XD

繼續閱讀 “Proxmox 簡易安裝與設定”

Proxmox 簡易安裝與設定

解決Pidgin無法連線至Yahoo即時通

大概在兩天之前,就國外的回報,是在6/17日,Pidgins開始無法連線至Yahoo即時通。情況是一切換到Yahoo的帳號,就永選顯示連線中,但是最終卻無法連線,不論等多久都一樣。說實在的這不是什麼大問題,我一樣可以透過 meebo 上即時通,不過當過了這麼多天都沒有改善就手癢了,於是我上網搜尋解決方案。因為相關的討論實在不容易找,太容易找到不相關的網頁了,於是我直接上Pidgin的Trac:Pidgin官方的錯誤/臭蟲回報網站找,經過一段痛苦的閱讀之後還是找到了原因。

繼續閱讀 “解決Pidgin無法連線至Yahoo即時通”

解決Pidgin無法連線至Yahoo即時通

解決Ubuntu 9.04遠端桌面畫面問題

Ubuntu內建了遠端桌面功能 (也就是VNC Server),在「系統→偏好設定→遠端桌面」可以進行開啟與其他設定。

不過最近我遇到了一個相當奇怪的Bug…連線成功之後,系統卻不會將畫面更新,總是停留在第一個畫格。雖然動作事件都有送到被控端,但在看不到螢幕反應的情況下使用上實在是有點…不,是十分困難啊!遇到這種事情當然我們還是要求助於Google大神,然後很幸運的我得到了解答。

繼續閱讀 “解決Ubuntu 9.04遠端桌面畫面問題”

解決Ubuntu 9.04遠端桌面畫面問題