我致力于用最簡單最詳細的方法來構建家庭的私有云,歡迎大家查看,吐槽下,我發的文章都是干貨,從來不發水貼,為什么我一直是新手號不公平啊
最近一直在研究nas系統,試了好多,目前家里是seafile,不過家里用文件被打碎了太麻煩,在centos上弄nextcloud也不是很方便,因為我linux屬于小白,然后想到了有Open Media Vault,這個系統是基于debian內核搞的,自帶的功能很強大了,還有很多插件,原來2.X的版本里面有集成了owncloud插件,不過現在3.X的版本owncloud插件沒集成進去,不過看到能自己安裝,所以來測試下這個系統。另外由于他的開發人員原來也是開發freenas的所以他自己直接有web管理界面,里面開samba,做軟raid都很方便,
官網:https://www.openmediavault.org/
我準備弄個8G的u盤,安裝系統,然后另外在插4塊硬盤做軟raid,保存自己需要的數據。
實驗步驟:安裝OMV系統,開通samba,安裝OMV插件,安裝nextcloud
我們先創建這樣一臺虛擬機
這個是測試而已,實際使用請大家自己搞臺電腦出來,像我是4塊2T做radi5 你預算少可以準備2塊硬盤,做個raid1,這樣資料安全有保證
進行安裝
選擇中文安裝,放心不像Ubuntu 16.04 安裝的時候用中文還會報錯,這個中文挺穩定的
是
大陸就選中國吧
開始加載安裝組件
主機名我就用默認了
這里也默認了
輸入系統底層的密碼,不是web界面的密碼
讀取時間
系統裝到8G的U盤里
開始安裝系統,安裝到一半會卡住,別急等一會就好
設置鏡像
我就選163了,隨便你
中間有一步是配置代理,我手快了沒截圖就按回車了,不過我想家里應該沒人吃飽了去用代理上網吧
安裝grub引導
放sda中,因為這個就是u盤
安裝完成重啟
安裝完成后,我們可以在機器界面上看到已經有ip地址192.168.2.120 下面一行顯示登陸網頁用戶名admin 密碼openmediavault。后面就全部用網頁來管理了。
我們登陸OMV,輸入密碼就可以進入主界面
這里就是主界面,很干凈方便
更新系統
我們打開更新管理,先更新下系統,打下補丁,以后有更新都在這里可以看到
等更新完成后就可以點擊關閉,更新過程中無法關閉
安裝插件
插件使用第三方的源,也是他們官方認證的
http://omv-extras.org/joomla/index.php/guides
我們登陸網站在下面有deb包,我們下載后上傳到插件頁面安裝下就能看到其他的插件
上傳插件
安裝
安裝完成后,會自動刷新頁面,就會發現插件多了很多
設置系統時間
我們在時間和日期中設置下時區,然后保存下,讓時間自動從網絡同步
常規設置
在這個設置中,我們可以修改OMV的web端口,網頁超時時間,默認5分鐘太短了,我設置了長一點
硬盤管理
S.M.A.R.T.
開始SMART,這樣硬盤出問題能自動檢測
這里可以看到硬盤的型號序列號,如果那塊硬盤有問題,找起來也方便
RAID管理
我們進入RAID管理,然后選下4塊盤,設置下RADI 5,名字叫MD0
linux下面都是用md這個來命名的,所以我也這么叫了
創建完成后會進行初始化,下面有初始化的百分比,等初始化完成后在創建文件結構。
文件系統
我們進入文件系統,選擇創建,選下我們剛才創建的RAID,然后輸下名字繼續叫MD0,然后文件系統叫EXT4
選是后會提示你,要被格式化了
這時文件系統還是不能用的,我們要選擇下掛載
掛載完成
設置SAMBA共享
我家里的NAS我準備建立一個SAMBA的用戶,我自己用,然后共享文件3個一個叫NAS,包括NextCloud都裝在里面,這樣我可以方便的直接上去管理,然后一個叫Download的文件夾,脫機下載插件下載的文件就放里面,然后一個叫Software,我自己的軟件都在里面,其他包括我老婆都不用SAMBA,都用NextCloud上面,我盡量讓自己的NextCloud上保存的都是輕量級的文件,大容量的就放在SAMBA上。
你自己想如何設置還是每個人不同的,不用照我的來。
建立用戶
我們先建立一個用戶,用于SAMBA共享
選是后會提示你,要被格式化了
這時文件系統還是不能用的,我們要選擇下掛載
掛載完成
設置SAMBA共享
我家里的NAS我準備建立一個SAMBA的用戶,我自己用,然后共享文件3個一個叫NAS,包括NextCloud都裝在里面,這樣我可以方便的直接上去管理,然后一個叫Download的文件夾,脫機下載插件下載的文件就放里面,然后一個叫Software,我自己的軟件都在里面,其他包括我老婆都不用SAMBA,都用NextCloud上面,我盡量讓自己的NextCloud上保存的都是輕量級的文件,大容量的就放在SAMBA上。
你自己想如何設置還是每個人不同的,不用照我的來。
建立用戶
我們先建立一個用戶,用于SAMBA共享
建立共享文件夾
對每個文件夾添加下用戶權限
設置SAMBA
我們開啟下SAMBA,不知道的選項就不用改了
添加共享文件夾
設置好后我發現訪問共享不行,然后重啟了下服務器ok了,都能看到了,可能是因為我是虛擬機的關系,我朋友直接設置好就可以使用了。我們可以進去然后新建下文件,看看權限是否正確
由于NextCloud沒加入OMV 3的官方插件列表中,我們只能手動來了,哎好疼苦
建立SSL證書
OMV自帶了證書功能,所以我們直接使用自帶的創建一個證書即可,我直接創建了25年的,這樣就不會過期了
創建完成
安裝Nginx插件
我們在插件中搜索nginx,然后安裝下
安裝完成我們就能在服務中看到Nginx
添加池
我們加個池,然后用戶名和組選擇下,我就用我一開始創建的那個samba的wang這個用戶了
在擴展選項中添加下面的內容
env[PATH]=/usr/local/bin:/usr/bin:/bin
添加服務器
這里目錄就選我前面創建的那個nas目錄,端口可以看到我已經變成灰色了,因為我后面一部選擇了only ssl,只用ssl了不用普通的端口了,如果你不選只用ssl的話記得把這個端口改掉,80端口和omv的端口沖突了
開啟SSL,然后端口可以自己修改下,我們上海電信好像都封掉正常的80和443端口的,證書就是前面創建的證書
開始php,然后池就選擇NextCloud,添加個index.php
擴展選項把下面的東西都黏貼進去
client_max_body_size 10G; # set max upload size
fastcgi_buffers 64 4K;
rewrite ^/caldav(.*)$ /remote.php/caldav redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav redirect;
index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location=/robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}
location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
rewrite ^(/core/doc/[^\/]+/)$ /index.html;
try_files $uri $uri/ index.php;
}
location ~ ^(.+?\.php)(/.*)?$ {
try_files=404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root;
fastcgi_param PATH_INFO ;
fastcgi_param HTTPS on;
fastcgi_pass $socket;
}
# Optional: set long EXPIRES header on static assets
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
安裝MySQL插件
NextCloud需要用到MySQL數據庫,所以我們安裝下MySQL的插件
安裝完成后,啟用下,然后下面的SQL management也啟用下,那個是網頁管理數據庫的功能,好了之后我們就可以點擊重設邊上的SHOW來網頁管理數據庫
重設MySQL密碼
默認的MySQL用戶名是root,密碼為空,我們設置一個安全一點,點擊reset password重設密碼
然后我們點擊show,然后輸入用戶名密碼登陸數據庫
創建nextcloud數據庫
我們新建一個數據庫專門用于nextcloud
創建完成
安裝PHP插件
我們安裝NextCloud時還需要幾個php的插件,我們安裝下
我們使用ssh工具,登陸下服務器,然后執行下面的命令
安裝php5-gd模塊:apt-get install php5-gd
安裝php5-curl模塊:apt-get install php5-curl
安裝php-pclzip模塊:apt-get install php-pclzip
下載并安裝NextCloud
https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip
我們直接下載nextcloud,然后解壓,之后敲到我們前面SAMBA創建的那個nas的目錄下
等待復制
輸入https://nas的ip加上前面我設置的86端口,來進行安裝
我是這個,你可以根據自己的來https://192.168.2.120:86/index.php
輸入你的信息包括數據庫,和默認的管理員密碼
安裝完成
然后我們通過samba,可以看到下面的data路徑里admin賬戶,files文件里面都是我們上傳到nas上的文件,
不過需要說明的是,我們直接把文件放到這個目錄下是不行的,在nextcloud界面看不到,只能通過nextcloud的網頁上傳上來才能看到,不過看到的文件就是原文件
下面看到我通過nextcloud網頁上傳了2個視頻,在底層的文件里還是看到這2個原文件,這樣如何我們以后要更換新的nas系統都可以直接敲出來放進去,這就是為什么我不選seafile的原因,家里用要打碎文件干嘛
安裝apc插件
root@server:~# apt-get install php-apc
在NextCloud的config.php配置文件中加入
'memcache.local'=> '\OC\Memcache\APCu',
重啟 php-fpm:
root@server:~# /etc/init.d/php5-fpm restart
修復opcache錯誤
編輯/etc/php5/fpm/php.ini
添加
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
重啟 php-fpm:
root@server:~# /etc/init.d/php5-fpm restart
經過以上設置我們的服務器后臺就沒有任何報錯了,尼瑪我研究了好久我靠
設置外網訪問
我們需要在我們的路由器上設置下外網訪問,這樣才能讓外部訪問我們,就開放下86端口即可,這部我就不截圖了,很簡單的,而且每個路由器不同,懂的自然知道怎么加端口,不懂的我路由器和你不同我加了你也不知道怎么弄。
另外我們要修改下網站的代碼,否則打開會有問題
我們打開nextcloud的config目錄中的config.php文件
我們要在哪個array中加入我們的域名,另外下面的https后面原來也是內網的ip地址,改成域名,這樣外網訪問過來就不會有問題了
當然請在自己的路由器上設置好ddns,這樣外網都用域名訪問就ok了
下面的頁面中有app的下載地址,ios是收費的6塊錢好像,其他不收費,我這里就測試下windows pc的客戶端,手機我就不測試了
https://nextcloud.com/install/#install-clients
安裝完成后我們輸入域名
跳出來證書不安全,因為是我們自己創建的,不管繼續點ok,記得勾下總是信任該證書
輸入用戶名密碼
這里可以選要同步的內容,我因為會把視頻也放上面,太大了,所以就手動選擇同步內容
選擇同步個小的文件夾測試
下面有個本地存放這個文件夾的位置,可以自行修改到需要的位置,然后點連接
完成了
手機客戶端官方的是收費的6塊,下面這個是免費的第三方的
我發現NextCloud有一點不好,他的同步PC客戶端會把所有的文件都下載下來,這樣會占用我本地的磁盤,所以只能選擇自己需要的下載,這一點沒seafile好。
另外上面還有下載的插件,還有virtualbox的插件,可以在上面運行虛擬機這點還是不錯的,其他的功能大家自己研究吧。
寫文章很辛苦希望大家幫忙點贊
前言:
玩nas一年多了,中途遇到了很多問題,當然現在仍然還有;一直想著記錄自己的折騰經歷,說實話,之前覺得自己半斤八兩的自己都搭建不好,分享估計也沒人看;現在功能捯飭的七七八八了,一是覺得不知從何說起,二是覺得自己要學的東西真的還很多;這篇文章僅做記錄分享,有說不對的地方還請大佬指正,覺得有幫忙的希望點贊支持,謝謝!
你需要NAS嗎?
很多人說nas是個偽需求,我覺得不是也是;
事實上,很多人也確實買在家里吃灰,個人專屬的私人服務器,多么誘惑的名詞,這也是很多人為此買單的原因吧;
也許,你可以用另一種更簡單高效的方案——虛擬機
我剛開始了解nas的時候,我的所有方案都是通過WMware去模擬實現的,其實部分簡單的需求,在現有的PC端即可實現,甚至是移動端;
如果你要7*24,功耗,大容量存儲等等,那恭喜你,nas確實是一個不錯的方案
自組NAS or 成品NAS
無論是新手還是老鳥,我覺得都會在這個點上糾結;我個人認為,不同的產品即對應不同的需求,存在即真理;
我剛玩的時候,看了很多文章都不建議小白自組,我的選擇是say no;事實證明,只要肯花時間和精力,小白也可以玩好自組nas;
回到需求,大家都追求性價比,但是性價比這個詞本就因人而異;在我看來 ,最核心的問題在于選擇花時間精力還是花錢;同性能下,成品比自組貴,但是相對省去了配置搭建的精力,反之同價位下,自組的肯定性能更強,但是需要花更多的時間去調試配置,當然同時你還能收獲很多相關的知識;
簡單來說,自組nas花小錢辦大事,成品nas花錢省事
先說說成品NAS吧
主要是我沒用過成品nas,但是看過很多視頻和教程,也用過黑裙,所以就做個簡單分享
老牌一點:群暉、威聯通等;這兩年又興起了很多新品牌:綠聯、極空間、海康威視等;
成品nas,在我看來就是各個品牌賣軟件而已;但基本大同小異,這個就要看個人喜歡了
如果是新手,我個人還是比較推薦群暉的,主要原因是網上的教程多,遇到問題解決起來相對容易一點;
自組NAS怎么玩?
其實說起來也很簡單,就是配臺電腦罷了
決定性能的下線是硬件,上線則是系統
一、硬件
顏值黨我建議先選好機箱,機箱會在一定程度上限制你的硬件選型;
決定硬件的上線,那肯定是主腦cpu了;目前主流是用X86架構的,推薦的型號I3低功耗系列,比如i3-8100t,這個款用的人應該是最多的了,性價比確實很高,就是老了點;需求不高的話J1900,J4125,或者N5105等,性能上稍弱,但是一般運用我感覺足夠了;如果說,你要跑很多應用,那無疑是上E5了;我的第一臺就是配的E5 ,后面分享配置;
是否能完全發揮cpu的能力,這個取決于主板的選擇,所以不建議太老的,需要匹配cpu的版本;同樣拓展性是主板的重要考量之一(例:M.2、SATA、PCIE、網口、type-c等)
內存往往被人忽視,但也是無法開機的重災區;建議優選三星品牌的,兼容性高點;海力士也可以;有些會提到ECC的概念,一般服務器都會用到,之前簡單了解了一下,第一臺也組了ECC的,說實話,實際體驗沒有太大的感覺,所以這里不建議刻意追求
硬盤的話,研究的不多,用過西部、希捷、東芝,感覺都還可以;最終選擇的是希捷銀河,我認為成熟的技術都一樣,只在于良品率的問題;所以選擇的話我感覺看個人習慣吧
電源很關鍵!我之前一直都是用的金牌安鈦克沒啥問題,所以一直在用;建議品牌:臺達、航嘉
二、系統
系統跟普通PC其實一樣,windows,Linux,mac都可以
還有就是NAS系統:UNRAID、DSM、QNAS、TrueNAS、OMV等等
我的建議是選擇一個你熟悉的系統就好,減少學習成本;
如果要我推薦的話那就是Linux或者DSM
在all in one的情況下,你可能就需要選擇第二種虛擬機的方案了
目前主要用的應該就是PVE和ESXI
兩個系統給我的感覺就是,喜歡折騰的用PVE,配置一次放著不動的用ESXI;
三、軟件
1、Xshell
我覺得這個是必備的調試軟件了
2、Xrdp
調試階段,我一般都會安裝桌面,所以這個遠程服務也是我必裝的
3、docker(dockercompose)
現有的應用基本都docker版本了,我一般都用docker人compose,方便我維護
我的方案:
一、老方案
華碩X99主板+E5-2630V3+海力士16G+三星980 1T
因為沒有集顯,我買了麗臺的2060s,電源配的是安鈦克NE650
內存條我先上的單根16G,計劃調試后,看需求再上32G
當時總價約¥3300(不含機械盤和機箱)
這套配置+銀河8T*2+銀河16T,功耗約150-160W
機箱我比較看顏值,加上考慮6盤位,選擇的是御夫座(當時499偏貴,僅供參考)
這個方案我是用來做aio的,系統我一開始用的pve,發現直通有點麻煩;另外也想嘗試下esxi,所以又重裝了esxi;說實話,個人比較喜歡esxi,目前一直在用
展示一下最新的機箱狀態,硬盤已經全部放到新的影音nas里,這個機箱是硬盤托,不是很喜歡,感覺還是硬盤柜帶感
這個機箱組裝還是很緊湊的,除了電源和顯卡,其他的基本就看不見了,所以組裝和拆卸起來也比較麻煩
老的功耗圖沒保存,這是最新的,即使沒有機械硬盤功耗仍然高達80-90W,所以一般這個我不用就關機了
過度說明
再搭建aio的過程中,軟路由的需求導致我不得不重新考慮新的方案;主要原因是家里電箱是在玄關柜里的,目前的機箱放不進去,另外想改家庭網絡,全部交給軟路由管理,那現有主板的網口就不夠了,所以我新購入了J4125作為軟路由終端,實現家庭網絡管理;
折騰了大半年,原計劃的aio,現在軟路由已經剝離;我感覺aio可能不適合我,一個是考慮功耗,現有的方案我的功耗高達150W;雖說一年電費也值不了都是錢,但是看著其他人幾十W,心里總不是滋味;二是我的影音服務器目前是沒有顯卡支持的,無法硬解,雖然部分場景不影響觀影,或者付費來解決;但是如果能一勞永逸總的好的,所以我便開始攛掇我的第二臺影音nas
展示一下我的軟路由
如圖最上層是貓,緊接著是路由器,最下面的就是J4125;
因為散熱不行,加裝了一個散熱支架
二、新方案
N100妖板+三星16G+三星980 500G+臺達電源250W
含機箱總價約¥2600
這套配置+銀河8T*2+銀河16T+銀河18T,功耗約為50-60W
23年底終于等來6盤位的妖板,雖然價格偏貴,還是忍不住下手了
N100主要考慮幾個點:低功耗、硬解能力強,雖然拓展性差了點,單功能做影音nas夠了
系統我直接用的debian12,剛開始12.4各種問題,現在12.5稍微好點了,但還是會間歇性斷網重連,有沒有大佬指教一下,遇到相同情況的也可以交流一下
展示一下最新的機箱,上面有個裝飾的木條,要用3M粘,我就沒高興貼;硬盤柜雖然挺丑的,但是防塵殼一罩就看不見了
這個板子在這里就很小了,電源是在下面的;這里有個問題就是,板子上的風扇接口不夠,需要買個一轉多的,天冷我沒高興裝,天熱了再加上去
這是最新的待機功耗,正常運行就再50-60W;沒什么任務的時候會掉到50W以下