前言
不知道有多少人在家裡搭建中央儲存裝置的,也就是NAS。這個東西在我日常生活中,儲存了大量的個人資料,家人們的照片,技術的資料,還有各種高清影視劇。搭配公網的IP,可以真正做到,任何時候任何地點的讀取資料的需求。
我之前玩NAS寫過一篇基礎性的介紹文章,包括公網的申請和埠對映,有興趣的小夥伴可以讀下:
https://mp.weixin.qq.com/s/Mw...
然而使用NAS一段時間後,雖然可以隨時隨地的對檔案進行讀取和儲存。但是我發現還是有很多不方便的地方。
比如我電腦裡的一個資料在公網環境要從NAS讀取(注意是公網,內網其實怎麼樣都行),碰到了以下幾個麻煩:
1.開啟NAS的管理介面,進行授權登陸,把檔案下載到本地執行。如果檔案小倒還沒事,如果檔案體積一大,比如一部電影20個G,那我必須等電影全部下載到本地才可以觀看。
2.群暉NAS提供了Synology driver檔案同步工具,每臺電腦上需要裝一個客戶端軟體,A電腦同步上去,B電腦啟動時還要等待Synology driver同步下來才能使用檔案。我總覺得這種方式雖然可行,但還是太麻煩,還要通過第三方同步軟體的支援才可以用。不原生。
3.如果是通過ftp,sftp等這種方式進行掛載訪問,也是一樣的問題。無非就是把網頁的授權登陸換成了ftp的授權。而且ftp好像也不支援流方式的讀取,電影無法直接讀取播放。
4.至於smb協議方式,把smb對映到公網存在安全隱患。況且smb的傳輸效率也很低。
所以我後來都採用webdav協議進行掛載,把nas掛載成本地的一個網路硬碟進行訪問。這種方式我一直覺得是最好的方式,因為相當於直接在本地進行了NAS磁碟的操作。也能以流的方式播放影視資源。多臺電腦,也能同時掛載,這裡存進去,那裡就能實時讀取到。相當便捷。
但是在使用webdav的時候我也發現一些弊端,比如有些軟體或者遊戲是不支援直接裝在網路磁碟裡的。
我於是就想,如果系統能把網路磁碟當做是自己本地的磁碟。那就完美了。
就在前段時間,一個老哥和我介紹了iSCSI這個協議,還真能實現這樣的騷操作。我研究了以後,成功的把NAS的一部分磁碟空間完美的掛載到了本地,並且,系統會把這個磁碟完完全全當做是本地的磁碟空間。我的macbook pro瞬間擴大了一個T的容量!
好啦,前言有點長,所以,這篇文章就是給玩NAS的同學介紹下iSCSI協議的玩法。
什麼是iSCSI
iSCSI(Internet Small Computer System Interface即Internet小型計算機系統介面),是一種在TCP/IP上進行資料塊傳輸的標準,是由CiSCO和IBM兩家公司發起的,並且得到了各大儲存廠商的大力支援。iSCSI將SCSI命令封裝於TCP/IP包之中,並且使用了一個SCSI幀頭。iSCSI可以實現在IP網路上執行SCSI協議,使其能夠在諸如高速千兆乙太網上進行快速的資料存取備份操作,也就是基於網路的儲存。
這是關於iSCSI的解釋,我給大家翻譯一下:
首先iSCSI是一種通訊傳輸的協議標準,基於乙太網進行資料傳輸,且傳輸速率非常高。其次目前很多系統的儲存底層都支援這種協議,很多系統底層也支援這種協議,比如windows,macOS。所以這種協議,能夠被系統的儲存底層所識別,從而從核心層面進行掛載。這種掛載形式會被系統認為是本地的磁碟,但是走的卻是網路傳輸協議。
一句話:作業系統原生的把NAS當做是自己本地的硬碟。安裝軟體遊戲都沒問題。
接下來就開搞,設定主要分2個端,服務端(NAS)和客戶端(PC的作業系統)
NAS端的設定
我這裡僅以群暉的NAS作業系統來介紹,威聯通的我沒玩過,但是原理都一樣。
首先你得把群暉的NAS作業系統更新到7.0版本,可以通過控制皮膚->更新和還原這個介面來檢視:
然後,套件中間裡找到SAN Manager這個套件,進行安裝:
開啟安裝好的SAN Manager,選擇LUN,點選新增。
選擇你建立空間所用的磁碟,然後輸入分配容量,我這裡分配的是1T容量。這裡就是從你這塊磁碟劃分出一塊空間當做一塊虛擬磁碟的意思。
這裡一路下一步下去,LUN就會建立好,而且SAN Manager會自動為你建立一個Target,並且把LUN和Target會繫結好關係。在iSCSI裡,你就會看到已經建立並對映好關係的Target。這裡的Target是你客戶端最終要連線的目標。
然後你需要將NAS伺服器的3260埠通過路由器對映出去,如果進行埠對映我這裡就不說了。如果不會的請自行baidu。
至此,NAS端的設定就完成了。
Windows端的設定
windows是原生支援iSCSI協議的。無需第三方軟體既可以完成配置。這裡我以windows 10的設定來舉例。
首先win+R開啟執行,輸入services.msc
然後在開啟的服務視窗裡找到Microsoft iSCSI Initiator Service,啟動它
隨後在控制皮膚中找到管理工具,開啟它
在管理工具裡找到iSCSI發起程式,雙擊開啟
在彈出的視窗中選擇發現tab頁,點選發現門戶
在彈出的視窗中,輸入你家路由的公網IP地址(不知道怎麼申請公網的,可以看開頭的另一篇文章介紹)和埠,埠我這裡對映的是33260。
如果檢測通過的話,回到目標tab頁,你就會看到已發現的target目標,點選連線就可以了。
設定完這些後,你會發現,你的磁碟並沒有多一塊出來啊。別急,磁碟還需要做最後一步初始化動作。右擊我的電腦,點管理,開啟磁碟管理器。你會發現有一塊磁碟還未被分配(這裡我是拿一塊分配了5G空間的演示)
選擇GPT分割槽表方式進行確定,然後進行格式化。這裡磁碟格式要注意下,如果你是想在多臺windows電腦進行掛載就選NTFS,如果你是想在macOS和windows之間進行共同掛載就選FAT32。
格式化完畢之後,我們可以看到。這塊磁碟已經完全像是在本地一樣了。
這時,我們開啟我的電腦,會發現多了一塊磁碟,而且從表面上來看,你完全看不出這是塊iSCSI掛載的硬碟。你甚至於可以把軟體和遊戲裝到這裡面!
macOS端的設定-Initiator X
Mac下的iSCSI協議蘋果一直以來沒有整合,所以這裡需要用到第三方的軟體來進行掛載。
macOS下的掛載iSCSI的軟體不多。而且大多數需要收費。研究了下,macOS下有2個選擇,daemon tools和Initiator X。
Initiator X在不付費的情況下只能掛載一個target。(關於獲取Initiator X軟體的方法看文末)。
裝好軟體,點左上角的Discovery,填入你的公網地址和埠
然後系統就會載入這個ip埠下的target
雙擊連線後,桌面就會多出一個這麼圖示
接下來把這個拖進你的finder收藏列表就可以了
然後,讓我們看下這個盤的容量
是不是,多出了一個T的容量了,而且從感覺上也接近原生磁碟。是不是很哇塞。
macOS端的設定-Deamon Tools
另一款軟體是Deamon Tools,我自己就用這款軟體來進行掛載iSCSI磁碟。它是一款收費軟體
為什麼我不用免費的?主要是我有多臺電腦,也有好幾個磁碟要掛載,用免費的滿足不了我,而且另一個原因Deamon Tools確實是一款老牌的虛擬磁碟對映工具,出於對這款軟體的信任,我買了它的序列號,一次購買,永久使用。而且也不貴。
收費標準如下,這裡我只買了2臺機器的,終生授權費用也不貴,也只有78人民幣。而且支援微信和支付寶支付,對國人也比較友好。
安裝好之後,介面長這樣,我們只需要它的遠端裝置功能就可以了,右鍵新增,和之前差不多的方式,輸入公網ip和埠,然後回到主介面就可以自動發現target,雙擊進行連線就可以了。
之後的操作就和之前一樣了,在桌面上就會多出一個磁碟,把這個拖到收藏列表裡就可以了。
因為我mac電腦基本不怎麼關機,直接開啟Deamon Tools會幫我們自動連線。這樣方便很多。
傳輸速率如何
傳輸速率分2個方面,寫入和讀取。
因為iSCSI掛載的盤從本質上來說還是網路盤,所以寫入和讀取還是取決於網路的傳輸速率。但是這裡寫入和讀取取決的點不一樣。
寫入,取決於你當前網路的上行速度和家裡網路的下行速度,取最小值。比如我公司的上行速度是50Mbps,而我家裡網路的下行速度是300Mbps,那麼我寫入的速度就是50Mbps,換算成實際速度,約等於6MB每秒。
讀取,取決於你當前網路的下行速度和家裡網路的上行速度,取最小值,比如我公司的下行速度是500Mbps,而我家裡網路的上行速度是30Mbps,那麼我讀取的速度就是30Mbps,換算成實際速度,約等於4MB每秒。
一般來說,企業的上行速度會比家裡的上行速度來的快,所以如果你是在公司用。寫入速度一般都是大於讀取速度的。
有的小夥伴可能會覺得,這種6M寫入,4M讀取的速度實在是慢的可以。其實你只要不傳輸電影,一般的資料檔案是綽綽有餘了。而且就算是電影,你也不需要進行下載到本地看,直接開啟觀看即可,會以流的方式進行讀取。
實測下來,4M的讀取速率,看2K視訊都可以不卡頓了。4K視訊對傳輸速率要求比較高,4K還是會出現卡頓。
需要注意的事項
iSCSI這種掛載方式相當於從你的NAS劃分了一塊虛擬的空間。
這塊虛擬的空間如同你本地的磁碟一樣,需要格式化,甚至於可以進行分割槽。但是你放在這塊磁碟空間的檔案在你的NAS上卻不會被讀出來。
會有小夥伴問,那這樣的意義是什麼呢。我NAS上讀不出來有什麼用。
其實如果你有多臺電腦,就會直呼這是個神器了。因為檔案存在NAS裡,其實也並不需要NAS系統來進行使用。使用方肯定是你的電腦。你A電腦存進去,B電腦就能像在本地一樣的使用。難道不香麼。等於從使用層面來說,讓你不會覺得NAS這個東西的存在。而檔案卻實實在在的儲存在NAS裡,你NAS也不需要讀出檔案來使用。
後記
這篇文章介紹了我玩NAS的一些分享,後續這個主題如果有人感興趣,還會繼續下去。為此我建了一個NAS交流群,感興趣的小夥伴請在我公眾號裡回覆"NAS",就可以加入群聊。關於此篇文章提到的軟體,我都會在群裡進行打包分享。
我的公眾號新開闢了4個專欄,分別是開源推薦,技術乾貨,技術男的世界觀以及技術改變生活。我是一個喜歡折騰的技術男,我日常分享除了寫專業知識外,還會分享我對於這個世界的看法以及數碼方面的應用介紹,我希望通過技術能改變和提高我們的生活效率。如果你對於我的內容感興趣,希望你能點贊,分享,最重要的是關注我。