分類:FreeNAS

ESXi 使用 Freenas iSCSI

一般使用 NAS 最簡單的應用就是先用磁碟陣列建立一個大空間,然後透過網路芳鄰 SAMBA、NFS 的方式分享,電腦端透過 IP 輸入帳號密碼來連線,可以連線成網路磁碟機變成硬碟般使用。NAS 的管理者可以看到所有的檔案內容,方便定時的備份所有資料。

iSCSI 是給你一整塊的空間,你所得到的就像是一顆硬碟,必須自己格式化硬碟之後才可以使用,對使用者來說可以利用硬碟格式特性來搭配系統使用

ESXi 掛載 iSCSI 裝做法,

1. 首先需確認IP是否為 iSCSI分享 中 Authorized network 設定中所允許連線的網段,如果不是的話,就無法進行,或必需修改 Authorized network  設定,才能讓ESXi使用,否則ESXi 找不到靜態目標

2. 儲存區 / 介面卡 / 設定iSCSI / 啟用 iSCSI / 儲存組態

3. 新增動態目標 / 儲存組態

(1). 新增動態目標 IP ,iSCSI server IP , 儲存組態FreeNAS-iSCSI-55

(2). 訊息區FreeNAS-iSCSI-57

4. 在裝置的標籤下,檢查是否有出現新的裝置,如 FreeNAS iSCSI分享 portalTarget 都沒設定CHAP 驗證,即會出現新的裝置FreeNAS-iSCSI-56

5. 如果沒出現裝置,即代表需進行驗證,才能使用讓連線需

(1). 至介面卡標籤,設定iSCSI,點選靜態目標,編輯設定FreeNAS-iSCSI-58

(2). 使用CHAP ,輸入名稱及密碼,然後儲存,接著再點儲存組態FreeNAS-iSCSI-62

(3). 檢查最近的工作訊息,看是否有錯誤訊息,如果沒有錯誤訊息即表示,裝置已就緒,已可使用

6. 新增資料儲存區

(1). 資料儲存區 / 新增資料儲存區FreeNAS-iSCSI-64

(2). 建立新的 DMFS 資料儲存區FreeNAS-iSCSI-65

(3). 點選新裝置,並給予名稱 FreeNAS-iSCSI-66

(4). 分割選項FreeNAS-iSCSI-67

(5). 確認FreeNAS-iSCSI-68

(6). 再次確認FreeNAS-iSCSI-69

(7). 裝置新增完成FreeNAS-iSCSI-70

7. 如不使用 iSCSI 裝置,移除方式

(1). 資料儲存區 / 點選裝置 / 動作 / 刪除FreeNAS-iSCSI-72

(2). 移動動態及靜態目標FreeNAS-iSCSI-71

Windows 7 Initiatior(iSCSI Client)

一般使用 NAS 最簡單的應用就是先用磁碟陣列建立一個大空間,然後透過網路芳鄰 SAMBA、NFS 的方式分享,電腦端透過 IP 輸入帳號密碼來連線,可以連線成網路磁碟機變成硬碟般使用。NAS 的管理者可以看到所有的檔案內容,方便定時的備份所有資料。

iSCSI 是給你一整塊的空間,你所得到的就像是一顆硬碟,必須自己格式化硬碟之後才可以使用,對使用者來說可以利用硬碟格式特性來搭配系統使用,

Windows 7 掛載 iSCSI 裝做法,

1. 首先需確認IP是否為 iSCSI分享 中 Authorized network 設定中所允許連線的網段,如果不是的話,就無法進行,或必修改 Authorized network  設定 ,否則連線會出現 沒有使用快速連線可登入的目標

FreeNAS-iSCSI-383

2. 控制台 / 檢視方式:大圖示 / 系統管理工具 FreeNAS-iSCSI-35

3. iSCSI 啟動器FreeNAS-iSCSI-36

4. 目標: IP , 輸入iSCSI server IP  ,接著點 快速連線FreeNAS-iSCSI-37

5. 按快速連線後,出現的畫面有以下幾種狀況

1. 已經連線 (portalTarget 都沒設定CHAP 驗證,探索階段與目標連線都不需驗證) FreeNAS-iSCSI-382

2. 非使用中 (portal 不需驗證,Target 需要CHAP 驗證,探索階段不需驗證與目標連線需要驗證)

FreeNAS-iSCSI-381

3. 驗證失敗 (portalTarget 都需要CHAP 驗證,探索階段與目標連線都需要驗證)

FreeNAS-iSCSI-38

6. 如果出現無法登入目標,代表目標需要進行驗證,才能進行連線,點選目標,然後進行連線

(1). 連線

FreeNAS-iSCSI-41

(2). 進階

FreeNAS-iSCSI-42

(3). 啟用CHAP登入,輸入驗證帳號及密碼

FreeNAS-iSCSI-43

(4). 完成連線

FreeNAS-iSCSI-44

7. 快速連線出現驗證失敗,代表需在探索階段就要驗證帳號及密碼

(1). 切換 探索的標籤,按探索入口FreeNAS-iSCSI-39

(2). 啟用CHAP登入,輸入驗證帳號及密碼FreeNAS-iSCSI-40

(3). 在目標的標籤下,目標已出現,目標的狀態如為 已經連線 即代表已可使用,狀態如為 非使用中,代表要使用該目標還再次驗證FreeNAS-iSCSI-41

(4). 點選目標,然後進行連線FreeNAS-iSCSI-42

(5). 啟用CHAP登入,再次輸入驗證帳號及密碼 FreeNAS-iSCSI-43

(6). 目標的狀態已改變為 已經連線 即代表已可使用

FreeNAS-iSCSI-45

8. 點選電腦 / 右鍵 / 管理

FreeNAS-iSCSI-46

9. 初始化硬碟,新增硬碟,大小50G,與iSCSI分享中大小相同

FreeNAS-iSCSI-47 FreeNAS-iSCSI-48

10. 新增磁區、磁碟代號及格式化,硬碟即可使用

FreeNAS-iSCSI-49

FreeNAS iSCSI 服務

CHAP: an authentication method which uses a shared secret and three-way authentication to determine if a system is authorized to access the storage device and to periodically confirm that the session has not been hijacked by another system. In iSCSI, the initiator (client) performs the CHAP authentication.

Mutual CHAP: a superset of CHAP in that both ends of the communication authenticate to each other.

Initiator: a client which has authorized access to the storage data on the FreeNAS® system. The client requires initiator software to initiate the connection to the iSCSI share.

Target: a storage resource on the FreeNAS® system. Every target has a unique name known as an iSCSI Qualified Name (IQN).

Internet Storage Name Service (iSNS): protocol for the automated discovery of iSCSI devices on a TCP/IP network.

Extent: the storage unit to be shared. It can either be a file or a device.

Portal: indicates which IP addresses and ports to listen on for connection requests.

1.Target Global ConfigurationFreeNAS-iSCSI-03

2. Portals , 連接 iSCSI 時使用的IP位址及埠號,直接使用預設值即可,表示允許使用本機所有可用  IP ,Port 3260 進行連線使用 iSCSI 服務,Discovery Auth Method: CHAP 驗證模式。FreeNAS-iSCSI-04

3. Initiators ,指定允許連線使用 iSCSI 服務範圍,例如允許ESXi server 使用,在 Authorized network 輸入 ESXi 的IPFreeNAS-iSCSI-05

4. Authorized Accesses ,要使用 CHAP or mutual CHAP 做為安全連線驗證,必須設定 authorized access

參考 https://technet.microsoft.com/zh-tw/library/cc732646(v=ws.11).aspx

One-way CHAP authentication。在此安全性等級下,只有目標會驗證啟動器。只對目標設定機密,因此所有想要存取該目標的啟動器需要使用相同的機密,才能利用目標啟動登入工作階段。

Mutual CHAP authentication。在此安全性等級下,目標與啟動器會彼此驗證。會針對存放區域網路 (SAN) 中的每一個目標及每一個啟動器設定個別的機密。

CHAP 認證,設定給 client 連線用的帳號及密碼,密碼長度12~16字元 FreeNAS-iSCSI-06

5. Targets , 新增 Target ,Target Portal ID ,Initiator ID 及 Auth Method組成。iSCSI initiator 啟動器的掛載點。FreeNAS-iSCSI-07

6. Extents,提供 iSCSI 分享的檔案存放區

(1). 新增 Dataset  做為 iSCSI 檔案存放區 FreeNAS-iSCSI-01

(2). 在Dataset下建立 zvol ,本例為 20180207, 做為 iSCSI Extent 來源,即 iSCSI 的資料儲存區,zvol 需事先設定檔案大小FreeNAS-iSCSI-02

(3).在 Sharing / Block(iSCSI) 點選 Extents 標籤, Add Extent 選擇檔案儲存區,可以是deive 或是 File ,本例中使用上一步驟的 zvol ,在這 Extent Type 下選擇Device即可出現在下拉中,如選擇File 可行輸入檔名FreeNAS-iSCSI-03

Extent Type 下如選擇 File ,Path 選擇後自行輸入檔名FreeNAS-iSCSI-04

Extent 刪除後,對應的檔案並未刪除,如需清除所佔用的空間,需刪除對應的檔案FreeNAS-iSCSI-05

7. Target/Extents , 將 iSCSI 掛載點和資料檔案區進行綁定FreeNAS-iSCSI-08

8. Connecting to iSCSI , client 端可以使用 iSCSI Initiatior 啟動器進行連線了

 

參考

https://doc.freenas.org/9.10/sharing.html#block-iscsi

FreeNAS Rsync 同步

FreeNAS Rsync 同步功能,可以將Dataet 的內容以排程方式透過網路同步至提功 Rsync 服務主機,適合在檔案較少,且差異較小的狀態下進行,如檔案差異較大,或需要保反多個版本,則 Replication Tasks 較為適用,Rsync 作法需要將其中一台設為Server 端,負責接收資料(Pull 端),另一台設為 client 端,負責傳送資料(Push 端)

1.在 Server 端啟用 Rsync 服務FreeNAS-task-01

2. Server 端新增 Dataset , 做為存放 Rsync 同步資料FreeNAS-task-02

3. Server端新增 Rsync Module 同步模組,做為與 client 連接的管道FreeNAS-task-03

4. Client 端新增同步任務 Rysnc Task,點選 Tasks /  Rsync Tasks / Add Rysnc Task

Path:  要備份的 Dataset 路徑
User:    root
Remote Host: Rsync server IP (參考步驟 1 IP)
Rsync mode:     Rsync module   
Remote Module Name: Rsync server 建立的 Rsync module 名稱 (參考步驟 3 所建立的Module Name)
Direction:     Push (傳送)    
Short description: 同步任務描述
備份執行時間: 自訂
Preserve permissions: 保留原檔案屬性

FreeNAS-task-05

5. 點選同步任務,Run Now 測試檔案同步是否成功

clent 端傳送的資料內容,homes/301 、 homes/302FreeNAS-task-06

server端 接收到的資料內容,backup245/homes/301 、 backup245/homes/302FreeNAS-task-07

參考

Rsync https://doc.freenas.org/9.10/tasks.html#rsync-tasks

FreeNAS VMware-Snapshot

FreeNAS 的 NFS 服務可以將Dataset 做為ESXi的Datastore,Periodic Snapshot Tasks 可以為Dataset 定期備份,做 snapshot 時會把目前檔案的狀態記錄起來,但是如果把虛擬機放在 FreeNas 的 NFS/iSCSI 的分享上就會產生 VM Guest 上面記憶體的資料有遺失的風險,比如說資料應該於此時由記憶體存檔但存到一半或不存檔,這樣會導致資料不完整性。FreeNas 的 VMware-Snapshot 會於做 snapshot 的時候主動去通知 VMWare 的 DataStore,要求這個 DataStore 上面的 VM guest 做一次暫存資料寫入 (dirty memory to disk),來確保此時的備份資料狀態已經更新到最新狀態 (快速地建立一個 snapshot,完成處理後就立即刪除),其做法如下

1. 建立給ESXi 的 DatasetFreeNAS-storage-40

2. 新增 NFS 分享 , Path 為 NFS 共用的路徑FreeNAS-storage-42

3. 在 ESXi 的儲存區新增資料儲存區,掛接 NFS 資料儲存區FreeNAS-storage-43

輸入IP及路徑FreeNAS-storage-44

FreeNAS-storage-45

4. 在 ESXi 中,使用上述Datastore 新增虛擬機器FreeNAS-storage-46

5. 在 FreeNAS 中新增 Periodic Snapshot Tasks FreeNAS-storage-47

6. 新增 VMware-Snapshot

Hostname: ESXi IP
Username: ESXi 帳號 
Password:   ESXi 密碼
ZFS Filesystem:  Dataset (for  esxi datastore)
Datastore: ESXi 資料儲存區名稱

FreeNAS-storage-48

FreeNAS-storage-49

在 Periodic Snapshot Tasks 出現了些差異

FreeNAS-storage-50

7. 進行手動快照,有做 VMware-Snapshot 設定會自動出現 VMware Sync 選項FreeNAS-storage-51

8.ESXi 在FreeNAS 進行快照的狀態,新增了快照,又刪除了一個快照

 FreeNAS-storage-53 FreeNAS-storage-52

狀態列,FreeNAS-storage-54

FreeNAS snapshotFreeNAS-storage-55

9. 在ESXi VM 中新增移除,並由FreeNAS還原看看是否成功

 

參考

VMware-Snapshot

Freenas 新功能 VMware-Snapshot

FreeNAS Replication Tasks 異地備份

FreeNAS 提供異地備份的機制 Replication Tasks,完成週期快照的任務,FreeNAS會建議進行Replication Tasks

FreeNAS-storage-30

建立 Replication Tasks 的方式如下

1. 在第一台 FreeNAS 建立 Periodic Snapshot , 本例建立 Raid/homes 的週期備份FreeNAS-storage-31

2.開啟第二台FreeNAS SSH services ,並設為開機啟用服務,目的 Dataset 可有可無,如果無特備份位置,即為 ZFS Volume 根目錄 ,本例為 Raid , 並未另外新增 DatasetFreeNAS-storage-32

3.新增 Replication Tasks ,

Volume/Dataset: 內容來自 Periodic Snapshot,所以必需先建立,才會顯示在下拉選單中

Remote ZFS Volume/Dataset: 目的端位置

Setup mode: Semi-Automatic

Remote hostname: 目的端 IP

Remote Auth Token: 在目的端 Replication Tasks ,按 Temporary authentication token 產生 FreeNAS-storage-33

FreeNAS-storage-34

4. 資料資份狀態FreeNAS-storage-35

5. 目的端備份內容,已產生 homes Dataset FreeNAS-storage-36

參考 https://doc.freenas.org/9.10/storage.html#replication-tasks

FreeNAS Snapshot 手動快照,建立備份

FreeNAS 提供了快照的功能,作法如下,

1. 在 Storage 的 Volumes 下,點選要快照的Dataset,再點下方功能 Create Snapshot,給定名稱後即可完成快照,建立差異備份FreeNAS-storage-01

資料夾內容

FreeNAS-storage-02

2. 在 Snapshot 標籤下,可以檢視所有快照,右邊有三個功能 ,最右邊的Rollback 可以直接還原至快照的內容,中間是刪除快照,Clone 可以將差異備份建立成一份完整備份,在不能直接還原時,做為還原點來使用

3. 新增或移除檔案後,進行 Rollback 還原測試 FreeNAS-storage-04

FreeNAS-storage-05

Rollback 後,重新整理分享資料夾,檔案恢後,刪除的回來了,複製過來的不見了

FreeNAS-storage-02

4. 同樣的Dataset 再做一次快照,會出現以下的畫面,Rollback 只能恢復至最近的一次,要回復至第一次的備份,可以把最近一次的快照刪除,即可還原上一次的快照,或使用 clone 的功能,建一份第一次的完整內容,再以手動方式複製貼上進行,最後再將 clone 後的dataset 刪除即可。FreeNAS-storage-07 FreeNAS-storage-08 FreeNAS-storage-09 FreeNAS-storage-02

5. 刪除 clone的分享及 dataset

FreeNAS-storage-11 FreeNAS-storage-12

6. Recursive snapshot

FreeNAS-storage-13

FreeNAS-storage-14

NFS 分享的資料夾複製

FreeNAS 使用NFS服務產生的共用資料夾,如果當做ESXi的Datastore ,需要備份或複製至其他FreeNAS的做法

1.開啟FreeNAS shell 或使用putty連線(FreeNAS 的SSH服務要先啟用)

(1). SSH 使用 root 帳號登 入,啟用FreeNAS SSH 服務,允許root登入(較不安全)FreeNAS-ssh-01 FreeNAS-ssh-02 FreeNAS-ssh-03

(2) 新增帳號或將某一帳號群組設為wheel,登入後切換成root (不允許root直接登入)FreeNAS-ssh-04  FreeNAS-ssh-05 FreeNAS-ssh-07

2. 掃瞄某一部主機他提供的 NFS 分享的目錄

啟動必備的服務
/etc/init.d/rpcbind start

showmount -e IPFreeNAS-ssh-11

3.將遠端主機的 /volume1/NFS_vm 掛載到本地端主機的 /mnt/Raid/vm2/vm

(1). 建立掛載點   mkdir -p /mnt/Raid/vm2/vm

(2). 實際掛載  mount -t nfs x.x.x.x:/volume1/NFS_vm /mnt/Raid/vm2/vmFreeNAS-ssh-12

(3). 看看掛載之後的情況如何 df

4. 複製資料夾,以複製遠端CentOS7為例

(1). 搜尋C開頭資料夾,   ll -d vm/C*

(2). 複製遠遄 CentOS7 資料夾至本地CentOS7,cp -r vm/CentOS7/ CentOS7 FreeNAS-ssh-13 

5. 取消掛接

(1). 取消掛接點 umount /mnt/Raid/vm2/vm

(2). 刪除掛接資料夾  rm -rf /mnt/Raid/vm2/vmFreeNAS-ssh-14

FreeNAS Email 設定

1.更改 root emailFreeNAS-Email01

2. 設定 Email 寄信資訊,這邊以google 帳號的smtp 服務寄信,smpt server : smtp.gmail.com,port :587 , TLS/SSL : TLS, 並且設定SMTP設證帳號及密碼,第一次使用該 gmail 帳號寄信時需至gmail中另外設定,才能完成寄信通知設定FreeNAS-Email02

3. 允許使用 gmail 帳號來寄信的設定

(1) 登入 gmail , 點右上角帳號,我的帳戶

FreeNAS-Email03

(2) 點選帳戶和安全性 ,具有帳戶存取權的應用程式

FreeNAS-Email04

(3) 啟用 允許較低安全性的應用程式

FreeNAS-Email05