2020年11月20日 星期五

BK,雲端 vCD BK 到 S3 空間(ISP端建置S3+Tenant於SSBP操作)

這邊將實作
將雲端vCD內的VM 
透過Veeam備份到S3空間


這部分的實作
原本認為是最沒有問題的
但LAB後才發現,這才是最有問題的
且這還是個邏輯問題

一、可能的VCC角色限制
二、Veeam的架構組合隊形
三、ISP端架構的重置
四、建置 S3 Storage(使用MinIO模擬S3)
五、建置 https 的S3 Storage(使用MinIO模擬S3)
六、設定 VBR Scale-out Repository (ISP端設定hicloud S3)
七、設定 VEM Self-Service (ISP端設定
hicloud S3)
八、驗證 備份 vCD 的 VM 到 hicloud S3 (Tenant角度)
九、驗證 備份 vCD 的 VM 到 MinIO S3 (Tenant角度)
十、MinIO S3 的問題 

一、可能的VCC角色限制
對於Veeam的部分
到目前已經有VBR, VEM, VCC, SPC...元件了
若要以ISP角度去看Veeam這件事
我們先確認ISP想要透過Veeam實作什麼樣的服務
a.DR情境
用戶將地端的VM,DR到vCD內
這個情境,在前面幾個章節已經實作完成囉

b.BK情境
將用戶於vCD內的VM,備份到 S3空間
這部分比較弔詭
幾經測試都是失敗,明明Job都已經Create好了
但就是失敗

就差最後一哩路了
但就是失敗,從SPC查看錯誤訊息
指的就是VCC不支援備份啦~

透過錯誤訊息
去網路上查看相關文章
大都指向是早期版本的VCC是可以同時做BK和DR的
後來好像是為了減少VCC負擔,而把BK功能拿掉
https://forums.veeam.com/veeam-backup-replication-f2/veeam-9-5-update-4-can-t-use-same-repository-for-vcc-and-vbr-t56198.html


二、Veeam的架構組合隊形
在架構上
Veeam其實是蠻有彈性的
但對於ISP角度,就有些地方
可能還是沒有那麼有彈性
VCC角色
主要是能提供Cloud Gateway服務
並Create Tenant讓地端Tenant的VBR可以接上ISP的VCC

VBR角色
主要就是去做BK功能的

VEM角色
是個全portal的操作介面
可以去介接VBR
若VEM使用的為VCC的license
那麼所介接的VBR將成為VCC角色


三、ISP端架構的重置
作為一個系統管理者
應該是在可能的系統可以負擔的情況下
將功能放在同一台上
如: Tenant透過單一個介接 Service Provider Console Portal(SPC)
就能操做BK的建立和還原及DR的切換(僅切換)

但Veeam 的VCC角色
明明可以做到DR和BK功能的,但實作上卻都失敗
既然可能是把VCC限制的BK給封印了
我們在提供用戶單一介面 這個方向上
就需要有所取捨了

重置架構為
DR情境
雲端: SPC+VCC或再加上SPC
地端: VBR
設定: 地端VBR
切換: 用戶可以透過Servcie Provider Console去做切換
注意: VEM+VCC都使用VCC的license

BK情境
雲端: VBR+VEM
地端: 無
設定: VEM 的 Self-Service Backup Portal
還原: VEM 的 Self-Service Backup Portal
注意: 這個VEM不可匯入VCC的license

我個人在LAB上
隨時可以作變更,因為我很清楚我的LAB環境
但看這篇的網友們,可能會比較吃力一點

也就是說
若您已經在我前面幾篇都實作完成了
那麼本篇,請您依序以下步驟
就會是個比較乾淨的VEM+VBR環境
a. 在VEM解除和VCC的介接
b. 在VEM匯入非VCC的license
c. 在VEM介接VBR

四、建置 S3 Storage(使用MinIO模擬S3)
S3空間
不是每個人都能擁有的
這是要錢的
不過可以透過軟體去模擬~
那就是 MinIO去模擬S3

我是用CentOS7來實作
IP為192.168.11.88


去下載minio
#cd /tmp
#wget https://dl.minio.io/server/minio/release/linux-amd64/minio

查看一下檔案
#ls -al

給予minio執行的權限
#chmod +x minio
#ls -al

執行minio
而/data是檔案儲存地方
#./minio server ./data


再查看一下
就會發現多個date的資料夾

永久背景執行
#nohup ./minio server ./data >/dev/null 2>&1 &

關閉資安設定
vi /etc/selinux/config

將SELINUX=enforcing
改成SELINUX=disabled

關閉防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service

透過Browser去連看看
照規劃,我的MinIO連結為
http://192.168.11.88:9000
id: minioadmin
pw: minioadmin


點一下
右下方的【Create bucket】

給個名稱【tonyyen】

下載 S3 Browser
https://s3browser.com/download.aspx


安裝完成後
桌面上就會出現這個icon
執行他~

新增S3帳號
Accounts>Add new account...

依序連入以下資訊
請取消勾選 Use secure transfer(SSL/TLS)
Account Name:
>>LAB1_MINIO

Account Type:
>>S3 Compatible Storage

REST Endpoint:
>>192.168.11.88:9000

Access Key ID:
>>minioadmin

Secret Access Key:
>>minioadmin


帳號建立好了之後
再從Accounts 功能中去點選一下【LAB1_MINIO】


就能順利連過去囉~


再透過S3 Browser
去建個資料夾

完成囉~

五、建置 https 的S3 Storage(使用MinIO模擬S3)
前面小節
所建立的MinIO S3為http
在Veeam中,要用https
不然VBR在加這個MinIO S3時會出現錯誤

對於
如何建置https的MinIO S3
MinIO官網友說明,有興趣就去看看喔
https://docs.minio.io/docs/how-to-secure-access-to-minio-server-with-tls#generate-a-self-signed-certificate

我自己也是照官網去實作的
所以接下來
我要把http設定成https
為MinIO S3建立https

先切換一下所在路徑
#cd ${HOME}/.minio/certs

使用OpenSSL工具
來產生RSA加密演算法的Private key
#openssl genrsa -out private.key 2048
#ls -al

將以下設定的內容
貼到 /root/.minio/certs/openssl.conf內
#vi /root/.minio/certs/openssl.conf
///////////////////
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no

[req_distinguished_name]
C = US
ST = VA
L = local
O = MyOrg
OU = MyOU
CN = minio

[v3_req]
subjectAltName = @alt_names

[alt_names]
IP.1 = 192.168.11.88
DNS.1 = localhost
///////////////////


覆蓋憑證
#cd /tmp
#./minio server --certs-dir

切換目錄
#cd /root/.minio/certs

產生憑證
#openssl req -x509 -nodes -days 730 -key private.key -out public.crt -config openssl.conf


再重啟MinIO
#cd /tmp
#./minio server ./data

重啟MinIO後
也可以再透過Browser去查看一下
https://192.168.11.88:9000


然後到VBR
介接這個 MinIO S3
Service point:
>>https://192.168.11.88:9000(一定要使用https喔)

Access Key:
>>minioadmin

Secret Key:
>>minioadmin

建個目錄

下一步

完成

建好囉~

再去透過Browser看一下

因為現在
連MinIO S3已經是https
所以記得在 S3 Browser的地方
把這邊SSH/TLS打勾喔~



六、設定 VBR Scale-out Repository (ISP端設定hicloud S3)
就Veeam的設計
備份的資料,不會第一時間就往外部空間丟
而是會先放在Local的某個空間(Performance Tier)
然後再往Scale-out Backup Repository(Capacity Tier)丟

你可能
要先另外建一個 local 的 Repository
我是把 C:\Backup2020-12-10 設定成Backup Repositories的空間


當你新增完 Backup Repository後
都會問你要不要將此新增的 Repository空間
當成 Configuration Backup 位置,要選否喔~
或是來這邊重新設定~
而空間位置記得要清空喔
 
新增 Scale-out Repository

給個名稱
(事後截圖)

選定剛剛建好的空間
當作是 Performance Tier
(事後截圖)

預設就好


選擇建好的 Object storage repository S3 hicloud
若沒這個可選,那就按【Add...】去新增囉~


若選擇【Add...】
就會跳出這個視窗
若是S3 相容性的空間,就選擇【S3 Compatible】
然後還會要你輸入
Site: 如hicloud S3就是 s3.hicloud.net.tw
及Access Key ID、Secret Access Key
然後就依序完成設定囉
打個小廣告
若要申租Hinet的S3,網址如下
http://hicloud.hinet.net/s3_guide.html



建好後,如下圖


七、設定 VEM Self-Service (ISP端設定hicloud S3)
為什麼要設定VEM Self-Service呢
因為BK情境
我要實作的是,將vCD內的VM備份到S3空間
VEM可以去介接vCD
並整合vCD的帳號
具體一點,就是可以讓vCD的Tenant
使用vCD的帳密登入VEM Self-Service Portal
就可以讓Tenant自助操作備份
但需要對VEM做些設定

我的VEM的管理portal為
https://192.168.11.92:9443
帳號和密碼 就是這個Windows 2019的帳密


因為畫面關係
請將下方水平卷軸移到最右邊


然後
點選右上方的【Configuration】

在【Self-service】的地方,選擇【Add】

選定Org
並選擇 Repository 為 Scale-out Backup Repository 1
(這是事後的截圖)

這樣就設定完成囉~

八、驗證 備份 vCD 的 VM 到 hicloud S3 (Tenant角度)
現在
就用vCD Tenant的角度
去登入VEM所提供的Self-Service portal吧~
我的VEM是192.168.11.92
我的Org是HN00001
我的vCD Org帳號是 hn00001

透過登入這個Portal
去看一下是否能看到Tenant在vCD中的VM

所以連的VEM Self-Service Portal是
https://192.168.11.92:9443/vCloud/HN00001

點一下【jobs】

點一下【Create...】

給這個Backup Job名稱

加入VM【Add】

看到沒有
這就是vCD的目錄結構
而且也只能看到自己Org內的
代表這個和vCD整合的架構,基本上是OK的囉~
我選個容量小一點的CentOS吧~

【下一步】

【下一步】

這個BK的Job
只是LAB而已,不需要排程
所以就取消勾選【Run the job automatically】
不然我LAB環境的備份到hicloud S3的流量
會算在我手機的4G身上
我整台LAB環境對外往internet的流量是透過手機4G啊~
口袋不夠深,只能將就一點
只有在要往真正internet的時候才會把4G給介接上去

完成

這樣
透過VEM的Self-Service Backup Protal
備份vCD內的VM到hicloud S3的Job就建立完成囉~

按一下【Start】
開始進行備份到 hicloud S3

看一下這個Job的狀態
要等一陣子,畢竟是透過我手機的4G網路出去internet的
可以看到這台VM,使用了4.2GB的容量

我的手機4G網路果然夠快

查看一下Job
恩恩~確認備份完成囉~

來到ISP端vCenter
去觀察一下實際扛BK流量的VBR這台的網路流量狀況
跑了約4分鐘,流量取中位數100,000 KB(100MB)
4分鐘 x 60秒鐘 x 100MB = 24GB(這點,我是覺得蠻奇怪的)

觀察VBR本機空間
備份的檔案有進來了~

透過S3 Browser去查看
看起來檔案也有近來囉~ 

九、驗證 備份 vCD 的 VM 到 MinIO S3 (Tenant角度)
在以Tenant角度去建立BK的Job之前
ISP端當然要在VEM的Self-Service Portal
先指定好這個Tenant所要用的MinIO S3 Repository
https://192.168.11.92:9443


而在設定上面那個之前
ISP端的VBR這台,要先把Scale-out Backup Repository指定到 MinIO S3


在這個之前
要先把本機的空間先建好

以Tenant角度
到VEM的Self-Service Portal
去建立vCD的VM備份到MinIO S3
開始備份囉~
https://192.168.11.92:9443/vCloud/HN00001


備份完成


看一下 History


看一下備份的狀態

查看一下VBR這台
的本機空間~

也查看一下
MinIO S3的空間


十、MinIO S3 的問題 
最近2021-09
又開始建起S3 Storage環境
發現Veeam VBR(v11版) 竟然S3掛不起來
在選擇Bucket的階段,會跳出以下錯誤

再回到MiniO S3的畫面
看一下執行指令後,跳出的紅色訊息
這是我近期的LAB,所以上面的IP和前面的小節沒有連貫

訊息如下:
WARNING: Console endpoint is listening on a dynamic port (37465), please use --console-address ":PORT" to choose a static port.
WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables

主要在說2件事
1. 請改用靜態port
2. 不要用預設的帳密

宣告一下帳密
#export MINIO_ROOT_USER=minio-admin
#export MINIO_ROOT_PASSWORD=minio-admin

改用靜態port的部分
因為新版的MiniOS已經將API和Console分成2個不同的port
和舊版同時使用相同的9000 port的做法不同
所以關於啟動MiniO S3指令,改為
API為 9000 port
Console為 9999 port
#./minio server --address ':9000' --console-address ':9999' ./data

透過Browser去看一下
輸入https://192.168.31.141:9000也會被導到:9999上
帳密就是剛剛宣告的那個minio-admin

畫面再回到
Veeam VBR上
再去掛載看看
因為Veeam是透過API掛載MinioS3的
所以在Service point的地方就要輸入
https://192.168.31.141:9000



順利找到Buckets囉~






若跳出以下訊息
請注意VBR這台的時間同步是否正確
"Failed to load S3 configuration: REST API error: 'S3 error: The difference between the request time and the server's time is too large."



沒有留言:

張貼留言