可能是拜司波圖大佬和疫情所賜,UNRAID系統在國內越來越火,折騰的人也越來越多。老魚早就想(跟風)折騰折騰UNRAID系統了,前前后后折騰了兩次,時間間隔一年,終于在第二次折騰的過程中打通了任督二脈,對UNRAID系統有了一些領悟,于是計劃寫幾篇文章跟大家一起分享UNRAID折騰的那些事兒,因為網上UNRAID的保姆級教程已經非常多了,關于安裝和一些基礎配置老魚就不在我的文章當中寫了,有需要的同學可以去看看司波圖大佬的視頻和什么值得買阿文菌的相關文章,老魚主要是分享一些我折騰UNRAID過程當那些多么痛的領悟,是給有一定折騰基礎的同學一份UNRAID進階避坑指南。
UNRAID是什么?
UNRAID是基于Linux發行版的底層虛擬系統,跟ESXi、PVE類似。
從它的名字UNRAID上就可以知道它最大的特點就是沒有RAID陣列。因為不支持RAID陣列,無法突破單硬盤讀寫速率極限,千兆家庭網絡無緩存盤加持的情況下,最大寫入速度110M/s。對于2.5G網絡或者萬兆網絡,可以通過添加SSD緩存盤提升寫入速度,但最大的寫入速度仍然受限于緩存盤的寫入速度。
但也正是因為不支持組RAID陣列,帶來了更強的擴展性和靈活性。UNRAID可以靈活的增加不同容量大小不同讀寫速度的硬盤,不會對其它硬盤造成影響,所以UNRAID擴容真的非常方便。
雖然不能組RAID,但通過添加一塊校驗盤也可以保證數據的安全性,唯一的要求就是校驗盤的容量要是所有硬盤當中容量最大的。添加了校驗盤,有任意一塊硬盤壞掉了,都不影響整個硬盤陣列的數據,用同容量或者更大容量(不能大于校驗盤)的硬盤換下損壞的硬盤就能恢復數據。
UNRAID擁有很高的底層虛擬效率,油管eSir大佬做過主流虛擬平臺的性能測試《什么?性能相差近10倍?!到底虛擬機平臺哪家強,應該如何選擇?ESXi,PVE,UNRAID,Synology 群暉,iKuai 愛快》,大家可以去看看,這里直接引用大佬的結論:
UNRAID可以通過docker擴展非常多的應用場景,也可以通過安裝APPS應用市場來擴展功能。而且UNRAID對于docker支持相比群暉更完善,配合Portainer甚至可以達到準生產級別的效率和穩定性。老魚也正是因為對于虛擬機和docker有更高的要求,才想著把原來裝群暉的物理機改成裝UNRAID。
UNRAID的操作邏輯相比ESXi、PVE更簡單,上手也更快。
UNRAID就是這樣一個門檻夠低,但上限又足夠高,功能、性能和穩定性比較平衡的底層虛擬系統,折騰黨們的好玩具。老魚前后折騰過ESXi、PVE、UNRAID和群暉,才最終決定將UNRAID作為主力的家用服務器底層虛擬系統(對于折騰黨來說,哪有什么會一直使用的系統呢)。
如何實現外網訪問
外網訪問實現的方法很多,比較基礎和通用的是路由做端口轉發。
首先你的寬帶得有一個外網IP,無論是IPV4還是IPV6都可以(各地不一樣,可以打電話申請),然后需要通過DDNS服務解析到你家的外網IP上,因為這部分比較基礎,實現的方法又比較多,老魚就不展開說了,有不清楚的同學可以留言我們溝通,問的人多了我再單獨開一篇文章寫出來。
搞定了外網IP之后,進入UNRAID的SETTINGS頁面,修改HTTP port和HTTPS port,只要修改成80和443以外的你自己好記的端口號就行,比如修改成10086和10087。通常來說只需要轉發HTTP port端口就可以了,HTTPS port端口還需要安裝SSL證書會比較麻煩一些。
然后進入你家里的主路由做端口映射,各個路由器的端口映射方法不完全一樣,像梅林、老毛子系統的路由一般在外網設置中,OPENWRT系統在網絡->防火墻->端口轉發中配置。
假如UNRAID主機的內網IP是192.168.1.100,HTTP port端口改成了10086,在OPENWRT上這樣設置就可以了:
現在就可以通過訪問你的DDNS域名 端口號實現外網訪問UNRAID。
如何實現SMB和NFS自動掛載
因為老魚是從群暉轉到UNRAID系統的,所以所有數據都存在群暉系統的硬盤中,未來避免數據遷移的麻煩,就在UNRAID上通過虛擬機安裝了群暉,將物理主機的硬盤控制器和網卡直通給群暉,通過掛載群暉的NFS共享到UNRAID,實現數據共享,這樣一翻折騰,群暉千兆內網的寫入速度居然比原來直接在物理機上安裝群暉還快,原來寫入是90M/s,現在穩定在110M/s,我在前一篇《UNRAID進階避坑指南(篇一):硬盤控制器和網卡直通》詳細分析了速度變快的原因,有需要的同學可以回看前一篇的內容。
本來呢UNRAID是可以通過安裝UNASsigned Devices插件很方便的實現SMB和NFS掛載的,但每次重啟UNRAID的時候,因為虛擬機里的群暉啟動比較慢,群暉沒有啟動完成的時候,它的NFS服務和SMB服務都是不可用的,Unassigned Devices插件即便是設置了自動掛載也沒有用,會一直顯示灰色的UNMOUNT狀態,點了沒有任何反應。
有些docker容器,比如Jellyfin需要讀取群暉里的電影文件庫,文件共享服務掛載不上的話,這些docker容器運行也不正常。所以需要通過其它方法來實現群暉文件共享服務的掛載。
因為UNRAID本身就是Linux系統,Linux系統掛載共享文件服務只需要一條命令就可以了,所以只需要在NAS完成啟動的時候執行一次掛載文件共享服務的命令,就可以把NAS的文件共享服務掛載到UNRAID上。具體的掛載步驟如下:
- 在UNRAID的APPS中搜索安裝User Scripts插件;
- 在User Scripts插件中增加一個腳本,名字隨便取,自己能理解就行,輸入以下內容:
#!/bin/bashsleep 5mmount -t nfs 192.168.1.100:/volume4/Media /mnt/remotes/192.168.1.100_Media
- sleep 5m是說等待5分鐘再執行后面的腳本內容,給NAS足夠時間完成啟動
- mount -t nfs 192.168.1.100:/volume4/Media /mnt/remotes/192.168.1.100_Media是掛載NAS媒體庫的命令,nfs是指定共享方式,如果是smb方式的話命令要換成mount -t cifs -o guest username=xxx,password=xxx,vers=x [遠程路徑] [目標掛載路徑]這個大家自行百度一下,如果不明白的話也可以給老魚留言192.168.1.100:/volume4/Media就是NAS的共享目錄路徑,這個要換成你NAS的IP和媒體庫目錄的路徑。/mnt/remotes/192.168.1.100_Media就是指定UNRAID上的掛載點,UNRAID上所有的掛載點都在/mnt/remotes/
- 保存腳本,設置計劃為At Startup of Array,點擊APPLY,大功告成!這樣UNRAID重啟之后就會等待5分鐘就會執行一次掛載NAS共享文件服務的命令,這個時候去看Unassigned Devices插件的狀態,對應的共享文件服務share type前已經亮起了綠色小標,就代表共享文件服務已經掛載成功
如何實現docker加速
如果不配置docker鏡像加速的話,docker鏡像的拉取速度會慢得令人發指。作為UNRAID上的主力功能模塊docker,非常有必要配置一下docker鏡像加速。好在套路云良心了一把,為個人提供免費的docker鏡像加速服務。
訪問https://cr.console.aliyun.com/cn-qingdao/instances/mirrors復制你個人的docker鏡像加速器地址,
在MAIN頁面,進入引導U盤的Flash設備,把SMB服務打開,
在同一局域網的電腦上訪問Flash文件共享,進入config目錄,找到go文件,右鍵用Notepad 工具打開(千萬不用要系統自帶的記事本打開),把下面的代碼添加到go文件當中保存,重啟UNRAID就可以了。
mkdir -p /etc/dockertee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]}EOF
xxxx要替換成你自己的docker鏡像加速地址里的ID。這個時候再去拉一個docker鏡像試試,速度杠杠的。
如何備份系統
一定要記得備份!一定要記得備份!一定要記得備份!重要的事說幾遍都不為過!
好在UNRAID是U盤系統,備份起來也特別簡單。
還是進入MAIN頁面,進入引導U盤的Flash設備,點擊FLASH BACKUP就可以了
過幾秒鐘會下載一個zip包,這就是系統的備份文件。后面要恢復的時候,進入UNRAID官網下載U盤制作工具,用跟之前做引導的同一U盤來重新制作引導盤,Select version選擇Local ZIP,選擇之前備份的zip包,點擊Write image,引導U盤就制作好了,用這個引導U盤進入UNRAID,就可以恢復成你備份時的狀態。
如何實現硬件直通
玩底層虛擬系統,硬件直通始終是一個繞不過去的話題,老魚單獨寫了一篇《UNRAID進階避坑指南(篇一):硬盤控制器和網卡直通》,說明了UNRAID硬件直通的原理以及實現硬件直通的方案,因為內容比較多,有需要的同學去看這一篇文章,這里就不再展開講了。
SMTP通知設置
UNRAID支持非常多的通知服務,老魚覺得最通用的還是郵件通知。只需要簡單幾步就可以配置好SMTP郵件通知服務,這樣UNRAID有什么緊急問題,或者版本更新就可以郵件通知你。
我們就用大家常用的QQ郵箱來演示一下如何配置SMTP服務:
- 進入QQ郵箱->設置->賬戶,在POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務中點擊生成授權碼用你綁定的手機按照說明發送一條短信就可以獲得一份授權碼,復制保存這授權碼,我們后面會用到。
- 進入UNRAID,SETTING->Notifications,在通知設置中選擇你需要收到的通知類型,通知方式勾選Email
3.下拉,在STMP Setting中按照這樣配置:
預設服務選擇自定義,Email的發送地址和收件人都是你的QQ郵箱,Mail服務設置為smtp.qq.com,端口465,啟用SSL,認證方法選擇登錄,用戶名就是你的QQ郵箱地址,密碼是你剛才申請的授權碼,不要用QQ郵箱密碼。這樣就配置好了,可以發一封測試郵件試試。
漢化
這個完全看個人喜好了,漢化也非常簡單,有需要就漢化一下。根據你的UNRAID版本,復制相應的漢化插件地址,在PLUGINGS中安裝后刷新即可
UNRAID 漢化插件 6.8.1 https://raw.githubusercontent.com/KleinerSource/UNRAID-chs-project/master/release/urchs.681.plg UNRAID 漢化插件 6.8.2 https://raw.githubusercontent.com/KleinerSource/UNRAID-chs-project/master/release/urchs.682.plg UNRAID 漢化插件 6.8.3 https://raw.githubusercontent.com/KleinerSource/UNRAID-chs-project/master/release/urchs.683.plg
如果是卸載漢化插件,需要重啟才會生效。傳說在6.9正式版本中,會有官方中文版,值得期待。
總結
以上就是對于UNRAID的一些進階認知和功能配置。UNRAID可以折騰的地方還有很多,一兩篇文章肯定是寫不完的,所以老魚準備開個坑持續更新UNRAID相關文章,計劃后面會更新開心版的升級方法、docker和虛擬機的一些進階玩法、群暉虛擬機和UNRAID系統共用UPS不間斷電源以及一些非常有用的UNRAID插件、docker鏡像和虛擬機鏡像,當然有不了解的可以留言,留言多的問題我再單獨加更出來,有啥功能需求有可以留言,老魚本著我為人人,人人為我的踩坑精神可以幫大家做做實驗。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。