本文將介紹一款免費且支援多國語言的64位元網路儲存系統,此儲存系統以FreeBSD作業平台為基礎。它不僅支援各類的網路共享機制,還提供IP-SAN與iSCSI Target/Initiator的整合環境,而在身分驗證管理上,除了本機驗證外,也支援連接LDAP與Active Directory等驗證機制。
儘管雲端硬碟的使用已是相當普及,但傳統的網路連接儲存(Network Attached Storage,NAS)設備在現今的IT世界裡,無論是企業、校園、政府單位、家庭還是個人似乎都相當需要,其主要原因肯定是需要儲存的檔案資料真的太多了。不過還好,目前的硬碟容量不僅越做越大,其轉速也越來越來快,並且價位也都相當低廉,想要建置一部大容量的NAS主機肯定不是問題。
只是如果想要讓建置的成本更加低廉,那麼從硬體組裝到系統的建置,如果都自己動手DIY來實作,那麼肯定是最經濟實惠的,並且也會更有成就感。在此就為大家介紹一款設計相當棒的免費網路儲存系統「FreeNAS」,顧名思義它就是一套既免費且又是開源的NAS系統,不僅內建多國語言功能,還採用了高運行效能的64位元架構,讓有興趣的企業IT人員可以自行下載。
FreeNAS的32位元最新版本9.2.19還能夠從官網下載,但目前最新版以及後續版本,為因應高效能的運行需求以及更大記憶體的支援,將僅唯一提供64位元版本(https://archive.freenas.org/9.2.1.9/RELEASE/x86/)。
‧最新64位元FreeNAS下載網址:https://www.freenas.org/download/
關於FreeNAS主要提供的功能,分別介紹如下:
1. 提供Web多國語言圖形管理介面
2. 支援將系統安裝在USB 3.0介面的隨身碟
3. 在相容32位元版本的時期,支援UFS與ZFS檔案系統,不過打從唯一支援64位元版本開始,便僅支援以OpenZFS技術為主ZFS檔案系統的磁區,除了可進行基本的配額管理(Quota)、快照排程設定(Snapshot)、壓縮設定(Compression)、異機複寫(Replication)等功能外,還能更有效率地檢查資料一致性,並且能夠在發生系統升級失敗或無法開機時,切換到先前可正常運行的作業系統副本來完成。
4. 支援儲存區域網路(SAN)中的iSCSI Target/Initiator之IP-SAN儲存架構。
5. 支援的共用存取機制,包含NFS(UNIX)、CIFS(Windows)、AFP(Apple)、FTP、TFTP、SSH等網路服務。
6. 支援的使用者驗證機制,包含了本機帳戶、LDAP、Active Directory。
7. 支援Windows ACLs及UNIX兩種檔案系統權限管控
8. 磁碟陣列設定支援RAID 0、RAID 1、RAID 5。
9. 支援系統警示Email通知系統管理員
10. 可用作為媒體伺服器(Media Server),它提供了與許多第三方外掛的整合,包括了Plex Media Server等等。
11. 內建提供更新管理員(Update Manager)功能,讓管理者可以隨時取得及安裝最新的修正程式與新功能套件。
快速安裝設定
在開始講解安裝設定之前,首先必須知道的重點是可以將FreeNAS選擇安裝在2GB空間左右的CF,或是USB實體儲存裝置上。關於這個系統安裝空間,當然也可以使用虛擬機器來建置,而不需要準備一個實體的大容量硬碟,因為大容量的硬碟可以做為後續儲存大量共用資料時使用,至於系統只需要給它小小夠用的空間即可,否則針對那些多出來的空間,往後也無法拿來作為網路上共用的儲存空間,這一點在建置時要特別留意。
準備好FreeNAS的開機安裝光碟後,如圖1所示便是它的開機選單,基本上不需要按下任何按鍵,它便會自動進入到預設的開機設定。
未來如果需要開機進入某一項啟動模式(例如Safe Mode安全模式),則必須在選單一出現就先按下空白按鍵,這樣才不會直接進入到預設的第一個選項。
隨後,在主控台選單中選取「Install/Upgrade」項目,並且點選「OK」。如圖2所示,將會列出目前偵測到的所有硬碟清單。範例中可以看到本例是將FreeNAS安裝在VMware的虛擬硬碟中,在把虛擬硬碟設定為動態擴充大小時,其實就不會一次占用掉實體的20GB空間。
接著將會出現警示訊息,其內容主要是告知系統的安裝將會清除指定硬碟中的所有資料,並且在此硬碟中的剩餘空間,也將無法用來作為網路共用資料使用。緊接著,它也會提醒請優先選擇可移動式的儲存裝置來安裝FreeNAS。確認之後,選取「Yes」。
在看到成功完成安裝的訊息,提示移除安裝光碟或是虛擬機器中的ISO檔連線設定時,點選「OK」。再次回到主控台的選單後,點選「Reboot System」項目,完成重新啟動作業。
重新開機後,將會來到命令主控台選單。在預設的狀態下,系統將會以DHCP方式來取得TCP/IP位址設定,如圖3所示,因此只要在同一個網路中的電腦上開啟瀏覽器,然後輸入頁面中所顯示的URL即可連線Web主控台。此外,也可以在這個命令主控台中,透過選項來進行網路IP設定、VLAN介面設定、靜態路由設定、DNS設定、重置Web介面的登入認證、重置成為原廠預設值、進入到命令提示字元、重新啟動系統以及關機等等設定。
連線Web主控台之後,預設會顯示「System Information」頁面,在此可以先檢視到目前主機的名稱、版本資訊、處理器規格、記憶體大小、系統時間、上線時間、平均負載值、連線的IP等資訊。
接著,可能也會看到在畫面右上角中的警示燈亮起紅燈。加以點選後,會出現警示訊息。主要是提示須記得修改預設的管理員密碼,因為目前的連線操作是不需要登入的。
如圖4所示,便是點選「帳號」連結後所開啟的「變更密碼」頁面,輸入兩次的新密碼後,在此建議也將「也請變更root密碼」設定一併勾選,然後按下〔變更管理者密碼〕按鈕。完成修改後,警示燈應當會變成綠燈。
上述的操作是只有修改目前預設admin的登入密碼,如果要有更安全的配置,建議最好能夠再切換到「變更管理者」頁面,修改預設的帳號名稱並輸入姓名,然後再按下〔變更管理者〕按鈕。
在前面的帳號管理中,可能會發現介面語系怎麼會忽然間從英文變成繁體中文了。其實,只要如圖5所示切換到「Settings」頁面中,分別修改「Language」與「Timezone」兩個欄位即可,這裡設定為【Traditional Chinese】及【Asia/Taipei】。最後,按下〔Save〕按鈕完成設定。
完成以上有關帳號、密碼以及介面語系的基本設定後,接著嘗試將它重新啟動以利於生效。點選左方功能選單中的「重開機」,此時便會開啟「Reboot」頁面。然後,按下〔重開機〕按鈕。重新啟動系統後,當再一次連線時,便需要輸入登入的管理員帳號與密碼。
Email通知設定
為了讓FreeNAS後續可以結合郵件系統來發送一些電子郵件通知,因此接下來必須完成此系統與郵件系統的連線設定。如圖6所示,切換到「設定」→「電子信箱」頁面中,然後分別輸入「從電子郵件」、「外寄郵件伺服器」、「連接的通訊埠」、「TLS/SSL」等欄位,以及決定是否使用SMTP驗證,如果需要則必須輸入登入的帳號密碼。
在此範例中,以連線Gmail郵件主機為例,因此必須設定smtp.gmail.com為外寄郵件伺服器、通訊埠為465、採用SSL安全連線以及勾選使用SMTP驗證,並且輸入登入Gmail的電子郵件位址與密碼。以上設定如果是企業內部的郵件伺服器,則通訊埠號碼通常是25,並且是沒有採用TLS/SSL驗證。
由於FreeNAS預設的各種系統警示通知,皆是發送給root這位超級管理員,因此還必須到使用者管理頁面中,針對root使用者按下〔變更電子郵件〕按鈕,來設定它的Email地址。完成root使用者的Email地址設定後,便能夠在前兩個步驟的頁面中按下〔寄送測試郵件〕按鈕,查看是否會順利接收到測試的電子郵件。
進行網路配置
系統預設所配置的動態IP位址,可能不是我們希望配置的設定,此時可透過Web主控台或命令主控台來修改網路介面的相關設定值。在修改之前,可以先在「網路設定」的「網路現況」頁面中,檢視目前IPv4介面的名稱、IP位址、名稱伺服器、預設路由設定值。
接著,點選至「網路設定」的「全區組態」頁面中,如圖7所示修改各項IP位址的設定值,進一步則可以連同預設主機名稱以及網域名稱一併修改。最後,按下〔儲存〕按鈕以完成設定。
如果想透過開機時的命令主控台來直接修改IP位址設定,則如圖8所示先輸入「1」,進入修改網路介面配置的提示下,然後輸入「1」來選擇預設的網路介面em0。隨後,輸入「n」,表示不是要重置網路組態,輸入「n」表示不採用DHCP配置方式,再輸入「y」表示設定IPv4網路位址,然後輸入「em0」網路介面名稱,最後便可以指定所要設定的固定IP位址以及子網路遮罩(Netmask)。至於是否要進一步配置IPv6設定,則是根據實際需求來決定。
做好儲存管理
緊接著要進入重頭戲了,那就是NAS儲存的管理部分。按下〔儲存〕按鈕圖示,開啟「使用中的磁區」頁面,在預設狀態下,並沒有任何的可用磁區,因此點選「Volume Manager」圖示。
在「Volume Manager」頁面中,可以看到新加入的兩個成員磁碟,如果看不到任何可用磁碟,即表示在目前FreeNAS系統中,除了系統磁碟外,並沒有任何磁碟。在此先設定一個唯一磁區名稱,接著當連續選取兩個磁碟時,除了可以選擇功能較強的ZFS為系統格式外,還可以決定磁碟陣列的類型,範例中以選取Mirror為例,也就是RAID 1。
至於是否啟用加密以及防止儲存資料重複的Deduplication功能,則可以根據實際需求來決定,不過啟用後者的功能可能多少會影響到效能的運作,但是卻可以有效降低在大量資料儲存環境中的重複資料問題。點選「新增磁區」,如圖9所示,便可以看到剛剛新建立的ZFS磁區。後續可以針對此磁區設定配額、壓縮、複寫、快照等設定。
圖10所示便是點選「檢視磁碟」圖示後所呈現的頁面,可以檢視目前RAID 1磁碟陣列架構下的每個磁碟狀態,必要的話,還可以針對個別的磁碟進行編輯、移轉,或是設定為離線。
當進一步開啟「管理ZFS選項」設定頁面,便可以設定壓縮的等級以及磁區配額、磁區的預留空間、Deduplication(刪除重複資料)。
設定共享管理
完成資料磁區的建立後,緊接著動手設定共享的系統類型。點選「共享」圖示,開啟如圖11所示的「Shares」頁面設定。這裡可以建立的網路共享的對象系統分別有Apple系統的AFP、UNIX系統的NFS、Windows系統的CIFS,這裡將以Windows的網路共享為例。按下〔Add Windows (CIFS) Share〕按鈕,繼續後面的設定。
在「Add Windows (CIFS) Share」頁面中,首先給予一個網路共用名稱、註解資訊以及即將共享的資料夾路徑,關於這個資料夾可以預先在Shell命令提示列中透過mkdir命令先建立好,以及使用chmod與chown設定好相關存取權限。
在進階部分,則可以設定是否提供資源回收筒功能、是否顯示隱藏的檔案、是否允許訪客連線或是只允許訪客連線。此外,還可以進一步設定允許連線的主機位址清單。完成以上設定與儲存後,預設將會出現訊息來提示啟動CIFS的共享服務,往後仍然可以隨時回頭來管理目前的共享設定。
關於CIFS的服務,可以在「服務」頁面中檢視到此項服務目前是否已經啟動,如圖12所示,進一步則可以點選旁邊的設定圖示來修改其組態。
在「CIFS設定」頁面中,主要經常設定的重點有說明、DOS與UNIX的字元編碼、記錄層級、訪客帳號。在後面與Active Directory的整合中,還得再進來修改相關的設定。
完成CIFS的共享設定後,接著便可以從網路中的其他Windows電腦連線此FreeNAS主機。如圖13所示,在此便可以看到前面步驟中所建立的共享名稱,加以點選開啟,並且輸入有權限的本機使用者帳號及密碼即可。
設定用戶管理
不同的使用者或群組,可能需要授予不同的共享權限,這時候便可直接透過Web主控台進行使用者與群組的管理。在「帳號」→「使用者」頁面中,可以編輯現有使用者的密碼、電子郵件、群組以及屬性,如果要新增,則點選「新增使用者」。如圖14所示,在「新增使用者」頁面中,除了必須設定使用者編號、帳號、密碼外,還能夠配置主要群組、家目錄、家目錄權限、指令列、全名、電子郵件。
在進階部分,則可以設定是否要關閉密碼登入、SSH公開金鑰以及附屬群組。至於「封鎖使用者」選項,可以用於當員工離職時,在暫時不刪除帳戶的狀況下先勾選此設定,以防止該人員繼續登入存取。完成設定後,按下〔確定〕按鈕。
如圖15所示,便是完成新增使用者的結果頁面,在預設狀態下會把所有新增的使用者放在上方清單列中,管理員可以隨時針對任一新增的使用者做修改或刪除。
當完成了新增使用者後,還必須賦予他相關共享資料夾的存取權限,當然也可以直接授予其所屬的群組權限,一旦完成適當的權限配置,就可以嘗試以該帳戶進行連線。圖16所示是以一個剛新增的本機帳號,成功登入存取FreeNAS共享檔案的範例。
磁碟區快照管理
當磁碟區中的檔案資料越積越多時,就必須適當地做好備份工作,以防硬體損毀或是人為誤刪。針對FreeNAS中共享資料的備份方法有很多種,除了使用內建的快照功能或複寫功能之外,其實也建議可以採用任何一種免費的排程備份軟體,透過其他網路電腦來連線備份,但是無論如何,善用內建的備份機制也是不可或缺的。
在「儲存」→「使用中的磁區」管理頁面中,按下〔建立快照〕按鈕。接著,便可以立即在「ZFS快照」頁面中,看到剛剛手動所建立的快照項目,可以隨時還原或銷毀此快照。針對ZFS的磁區,除了進行手動快照外,當然也可以設定排程快照。如圖17所示,在「儲存」→「定期快照工作」頁面中,點選「Add Periodic Snapshot」圖示。
隨後來到「快照工作週期」頁面,如果希望快照的建立,會週期性地覆蓋掉先前的快照,則勾選「遞迴」設定。接著,設定快照生命週期的時間長短(Lifetime),再指定每一天快照的開始與結束時間,最後設定每一次快照的區間時間以及指定快照的工作日。如圖18所示,便完成了一個定期快照工作的新增,可以隨時在此新增其他的快照設定,以及刪除或修改現有的快照設定。
進行iSCSI儲存管理
FreeNAS除了可以作為一般網路共享的NAS系統外,在進階的儲存應用上還能夠做為IP SAN的儲存設備,然而關於IP SAN的應用,如今經常被使用在私有雲端的虛擬機器共同儲存區架構中,以作為高可用性(HA)快速容錯備援的基礎。在接下來的實作中,將以Windows Server作為iSCSI Initiator端,而以FreeNAS作為iSCSI Target端。
首先,在「服務」→「Core」頁面中,點選位於「iSCSI」項目的設定圖示。如圖19所示,接著在「iSCSI」→「目標全區組態」頁面中,先自訂易於識別的基本名稱,再決定是否需要使用指定的CHAP認證方式,一旦指定了CHAP認證方式,則後續Initiator端也必須同樣搭配相關設定才能夠連線。此外,若有需要還可以強制設定最大的工作階段(Session)與連線數量。
在「iSCSI」→「入口」頁面中,如圖20所示則是一項已經新增完成的入口首頁,此設定主要用以提供Initiator端連線的IP位址與埠口。按下〔新增入口首頁〕按鈕來查看設定的方法。
切換至「新增入口首頁」頁面後,在註解欄位中輸入一個針對此儲存入口的描述,然後決定是否要指定專用的IP位址,如果保持0.0.0.0,即表示接受目前任何可用的IP位址設定。至於埠口號碼,建議採用預設值即可。設定完成後,按下〔確定〕按鈕。
如圖21所示,在「iSCSI」→「啟動器」頁面中,則可以設定授權的啟動器以及授權的網路清單,只要按下〔Add Initiator〕按鈕來新增即可,至於後續的修改,則按下〔管理〕按鈕。
在「管理」頁面中,可以發現無論是啟動器還是網路連線授權,目前皆是設定為「ALL」,代表目前沒有限制任何的連線。可根據實際存取需要,僅加入指定的啟動名稱以及網路的IP位址清單。設定完畢,記得按下〔確定〕按鈕。
而在「iSCSI」→「目標」頁面中,可以為FreeNAS根據不同的存取需要,新增多個目標以供不同的啟動器進行連線。按下〔新增目標〕按鈕,來加入全新目標設定,而按下〔管理〕按鈕,則可修改現有目標設定。在這個目標「管理」頁面中,除了可以自訂目標的名稱、別名、對應的入口群組ID、認證方式外,還能夠設定此目標是否為可讀寫。
在「iSCSI」→「File Extents」頁面中,必須新增當啟動器連線目標時,提供給它們存取的實際儲存空間,而這個空間便是以檔案型態來模擬。範例中,已經預先建立好的設定,所以按下〔管理〕按鈕來查看其設定。
在「管理」頁面中,必須先設定新延伸磁區的名稱,然後按下〔Browse〕按鈕來指定相對儲存檔案的路徑與檔名,接著指定所要給予的可用容量,當然這個容量設定不可以大於實體磁碟目前的可用容量。最後,建議將這個延伸磁碟的用途輸入在「註解」欄位中,以利於識別。最後,按下〔確定〕按鈕。
如圖22所示,在「iSCSI」→「相關目標」頁面中,必須把前面步驟中所新增的目標與延伸磁區一一進行對應設定,如此才能夠提供啟動器在連線目標時,存取相對應的延伸磁區。
iSCSI Initiator配置
在iSCSI Target的準備都就緒後,接下來必須來到擔任啟動器的Windows Server主機上,點選開啟「控制台」中的「iSCSI啟動器」,準備完成與FreeNAS的iSCSI儲存區完成連接。第一次執行「iSCSI啟動器」時會出現如圖23所示的訊息,按下〔是〕按鈕以便能夠在每一次啟動電腦時自動啟動此項服務。
開啟「iSCSI啟動器」內容頁面後,在「目標」頁面中可以輸入目標(Target)主機的IP位址,然後按下〔快速連線〕按鈕,加入至下方的清單中。而針對所探索到的目標項目,在選取後按下〔連線〕即可。接著,在「探索」頁面中,可以看到目前已加入的目標入口清單,如圖24所示,iSCSI啟動器將會以這些入口來探索目標的連線。
在「我的最愛目標」頁面中,會看到目前已探索與加入的目標,這些目標上所提供的磁區後續將可以被這個啟動器來連線,即使重新啟動電腦也是一樣。另外,可以針對某些已不需要使用的目標,在選取後按下〔移除〕按鈕。接著,按下〔詳細資料〕按鈕,如圖25所示,將會顯示目前所選取的目標之詳細資料,包括此目標的完整名稱、IP位址、連接埠口、驗證方式等資訊。
最後,在「設定」頁面中,除了可以異動目前的啟動器名稱外,進一步則能夠設定CHAP的驗證機制,以及使用IPsec的網路通道連線方式。若要產生相關連線報告,則按下〔報告〕按鈕。
完成iSCSI啟動器的連接設定後,接下來開啟「電腦管理」介面,然後點選至「磁碟管理」頁面,便會發現多了一個由啟動器連線後所發現的目標磁碟,在此磁碟上按下滑鼠右鍵,然後點選快速選單中的【連線】,如圖26所示。
成功連線iSCSI磁碟後,緊接著對於選定的iSCSI磁碟按下滑鼠右鍵,然後點選快速選單中的【初始化磁碟】。隨即開啟「初始化磁碟」頁面,可設定想要建立之磁碟分割區的樣式,分別有傳統的MBR格式,以及較為先進的GPT格式,當所初始化的磁碟區容量大於2TB時,則選擇GPT。
完成初始化磁碟分割區後,在相對的磁碟分割區上按下滑鼠右鍵,並點選快速選單中的【新增簡單磁碟區】選項,然後完成簡單磁區的設定與建立,並且在完成必要的格式化後,便可以開始存取。如圖27所示,在此可以看到在Windows Server 2012的「電腦」頁面中,所連線存取的FreeNAS iSCSI Target磁碟。可以善用這些iSCSI共享磁碟,來做為Windows Server容錯移轉叢集或Hyper-V Quick Migration、Live Migration等HA應用的基礎。
整合Active Directory驗證
關於FreeNAS與Active Directory的整合,不僅可以讓用戶端直接以網域的帳號進行共享資源的存取,在權限配置上也允許管理員在Windows電腦上以Windows ACLs的方式來配置權限。
要使用此驗證功能的整合機制,首先必須到FreeNAS「服務」頁面中,開啟「Active Directory」設定頁面,如圖28所示必須設定網域名稱、NetBIOS名稱、工作群組名稱、連線的網域管理員帳號密碼。必須注意的是,其中NetBIOS名稱指的是FreeNAS的電腦名稱,而所謂的工作群組名稱則是AD網域名稱。
緊接著按下〔Advanced Mode〕按鈕,便可以設定進階組態。建議將網域控制站(Domain Controller)與全域類別伺服器(Global Catalog Server)的主機名稱都輸入進去。最後,如果還有與這個網域相互信任的其他網域,也希望能夠來連線存取FreeNAS資源,那麼也將「Allow Trusted Domain」項目勾選。設定完畢,按下〔確定〕按鈕。
完成以上的設定後,如圖29所示,將Active Directory的服務設定為「ON」。請注意!當此服務無法設定為「ON」狀態時,就表示目前的組態設定有問題,以至於無法成功與指定的網域進行連線。
在成功啟用Active Directory服務後,點選開啟「指令列」視窗,然後執行「Wbinfo -u」命令,便可以查看到目前所有的使用者清單,包含本機使用者以及Active Directory使用者。
為了讓FreeNAS上的儲存區,能夠被Active Directory的使用者正常登入存取,還必須修改儲存區的權限配置方式。
首先,在「儲存」→「使用中的磁區」頁面中,針對這個現有的磁碟區項目按下〔變更權限〕按鈕。
開啟「變更權限」頁面後,將「所有者帳號」以及「所有者群組」的對象,皆修改為Active Directory的使用者與群組,這裡便以預設的Administrator使用者以及Domain Admins網域群組為設定。
而在「模式」中的「Owner」與「Group」權限配置部分,將Read、Write、Execute設定皆勾選。
最後,則是把「ACL類別」修改為「Windows」即可。完成以上所有的設定之後,記得按下〔儲存〕按鈕。
接下來,開啟之前設定過的CIFS共享設定。如圖30所示,將「工作群組」欄位值修改成目前連線的Active Directory網域名稱即可,最後按下〔儲存〕按鈕。
基本上,在完成以上幾個步驟的設定後便大功告成。之後,便可以在任一部已使用網域管理員身分登入Active Directory的Windows電腦中,連線開啟位於FreeNAS中的共享資料夾內容。
可以在「安全性」頁面中查看到目前的權限清單(ACLs),如果需要修改,則按下〔編輯〕按鈕。而在安全性權限編輯的頁面中,可以按下〔新增〕或〔移除〕按鈕來加入或移除使用者,並且完成權限配置。
<本文作者:顧武雄,Microsoft MVP 2004-2016、MCITP與MCTS認證專家、台灣微軟Technet、TechDays、Webcast、MVA特約資深顧問講師、VMware vExpert 2016-217、IBM Unified Communications/Notes/Domino/Connections Certified。>