作者 admin 的所有文章

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

WordPress 升級記錄

登入 WordPress 出現了以下的訊息,記錄一下更新的順序

update-01

1.更新前先備份資料庫,用phpMyAdmin進行資料庫備份,選取wordpress資料庫,匯出,執行update-03

2. 備份wordpress資料內容,將wordpress 下的 wp-content資料夾整個備份下來,存放至home

# cd /var/www/html/wordpress

# tar -zcvf /home/lai/wp-content.ta.gz wp-content/

3. 至中文官網 https://tw.wordpress.org/,點選下載,複製下載連結,以zip為例

4. 以putty 登入,切至home資料夾,下載新版內容

# wget https://tw.wordpress.org/wordpress-4.9-zh_TW.zip

5. 將下載內容解開

# unzip wordpress-4.9-zh_TW.zip

# tar -zxvf wordpress-4.9-zh_TW.tar.gz

6. 更改 wp-config-sample.php 的內容,存檔後將檔名改 wp-config.php

mv wp-config-sample.php wp-config.php

update-04

7.切換至 wordpress 更改檔案屬性

# chmod  -R 755 *

8. 上傳更新檔

# /bin/cp -Rf * /var/www/html/wordpress/

9. 檢查一下是否正常,如果出現以下情形,請檢查 wp-config.php 資料庫設定是否正確

update-05

# vi /var/www/html/wordpress/wp-config.php

10. 登入,升級資料庫

update-06

11. 異機還原後,需更改 URL 資料,login才能正常update-07 update-08