Agentless based và Agent based là gì? trong Sao lưu khác nhau như thế nào ?


Agentless based:

image

1. Sao lưu không cần có Agent nghĩa là ít phải can thiệp quản trị hơn và ít chi phí về phần mềm hơn vì nó không đòi hỏi bạn phải cài đặt các dịch vụ “tác nhân điều khiển” trên mỗi máy chủ / máy trạm hay máy ảo cần sao lưu.

2. Nó an toàn hơn vì bạn không bắt buộc phải mở nhiều cổng cho các Agents. Dễ nâng cấp và phát hành các phiên bản phần mềm mới vì thực tế không cần phải được cập nhật nhiều do không có Agents.

Ví dụ: AT.COM Partners and customers enjoy the multiple benefits of agentless backup, as it is less resource intensive. AT.COM Cloud Backup is a comprehensive agentless data protection software solution that is hardware agnostic and protects data on physical and virtual servers, enterprise databases and applications, workstations, laptops, smartphones, tablets, Office 365, Google Apps, OwnCloud, Zimbra, Exchange, MOOC E-learning, UC, AWS and Azure.

3. Veeam Backup & Replication không triển khai các dịch vụ Agent “tác nhân liên tục” trong máy ảo. Thay vào đó, nó sử dụng một quá trình phối hợp thời gian chạy trên mỗi máy ảo “dựa vào VM Tool Install” được khởi động khi hoạt động sao lưu được khởi chạy “tạo ra bản snapshot” và gỡ bỏ ngay sau khi hoàn tất “xoá snapshot”. Điều này giúp tránh các nhược điểm liên quan đến việc phải cài đặt Agent trước”, xử lý sự cố và cập nhật các bản Agents.

4. Kiểm soát hoàn toàn về phía máy chủ, sử dụng API hoặc bất kỳ nguồn nào khác, tất cả các chi tiết dữ liệu được rút trực tiếp về máy chủ sao lưu. Một số sản phẩm sao lưu sử dụng với sự trợ giúp của dịch vụ native Windows sẽ nhận được thông tin HĐH. Lịch trình dự phòng bắt đầu xảy ra ở phía máy chủ.

5. Bị giới hạn bởi hình thức sao lưu Snapshot, do vậy hình thức này sẽ không hỗ trợ các loại sau:

1. Không hỗ trợ sao lưu snapshot kiểu ổ cứng Raw disk, RDM physical mode disk, Oracle RAC RDM hoặc HĐH guest mà có sử dụng iSCSI Initiator trong Guest.

2. Máy ảo với đĩa độc lập phải được tắt nguồn trước khi bạn muốn snapshot.

3. Snapshot không hỗ trợ khi VM dùng các thiết bị PCI vSphere DirectPath I/O devices (vGPU/ DGPU/ SGPU).

4. Snapshot không hỗ trợ khi các máy ảo được cấu hình để chia sẻ bus “Bus Sharing” đây cũng là hình thức của vGPU cần cấu hình Sharing PCI và để tạo GPU profile cho từng VM.

Tham khảo: http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.vm_admin.doc_50%2FGUID-53F65726-A23B-4CF0-A7D5-48E584B88613.html

Những chức năng mà Agentless based không làm được ở trên, bạn sẽ thấy ở sự khác biết của phần Agent based.

Agent based:

image

1. Điểm đầu cuối “Endpoint” yêu cầu một phần của phần mềm hoặc dịch vụ để bắt đầu dịch vụ sao lưu trong đó. Bạn có thể triển khai phần mềm hoặc điều khiển dịch vụ từ một máy chủ tập trung dịch vụ backup như VBR. Nhưng có một sự giao tiếp xảy ra giữa máy chủ đầu cuối Endpoint và máy chủ sao lưu VBR bằng tiến trình mở cổng kết nối Agent và ấn định vị trí sao lưu, phương thức lưu bản backup tới đích. Khởi tạo lịch trình sao lưu xảy ra ở phía Điểm đầu cuối Endpoint / máy trạm Client side.

2. Sao lưu được máy chủ/ máy trạm có cấu hình vật lý cũng như ảo hoá. HĐH là Windows hoặc Linux

3. Agent based được cài phần mềm dịch vụ trong HĐH windows / Linux nên các cấu hình Sharing Bus hay PCI vSphere DirectPath I/O devices hay kiểu ổ cứng Raw disk, RDM physical mode disk, Oracle RAC RDM hoặc HĐH guest mà có sử dụng iSCSI Initiator trong Guest đều sử dụng bình thường.

 

Bottom Line:

Bạn có thể xem xét rằng các Agents thực hiện hầu hết các chức năng tương tự như Veeam backup runtime phối hợp xử lý. Tuy nhiên, thực tế của phần mềm là thực, phần mềm agents (không phải là tiến trình run-time), dẫn đến vấn đề được gọi là “quản lý agent”.

Bạn cần cấp phép, triển khai, quản lý, cập nhật và giám sát các agents đó để đảm bảo cho chúng vận hành chuẩn. Bởi vì chúng luôn hiện diện trên máy ảo/ máy vật lý, bạn cần đảm bảo chúng không ảnh hưởng đến các ứng dụng khác (với Veeam Agentless, VM vẫn “sạch” 99,9% thời gian).

Và tưởng tượng khách hàng với hàng trăm hoặc hàng ngàn máy ảo/ máy vật lý … đó là lý do tại sao mọi người không thích làm việc với các Agents và chỉ thích cách tiếp cận dùng Veeam Agentless.

Nhưng bạn cũng đã đọc phần trên mà tôi có viết, mục 5. Bị giới hạn bởi hình thức sao lưu Snapshot, do vậy hình thức này sẽ không hỗ trợ 4 loại sau. May thay, Agent based đã làm việc đó thay cho Agentless.

 

Chúc các bạn chọn đúng giải pháp sao lưu / khôi phục an toàn !

Cách dùng VEEAM Backup v9 sao lưu vCenter Appliance từ ESXi Host cũ và khôi phục sang ESXi Host khác


 

Sau đây tôi giới thiệu 1 bài Labs thực hành về phương pháp sao lưu/ khôi phục hệ thống VMware vSphere vCenter Server Appliance 6 thông qua công cụ Back/Restore chuyên nghiệp – số 1 Thế giới VEEAM Backup Free version 9.

– Cách dùng VEEAM Backup Free v9 backup vCenter Appliance 6 từ 1 ESXi Host cũ và khôi phục sang 1 ESXi Host khác

(Trường hợp: do không có Share Storage/SAN chung cho các ESXi Host, chỉ có 1 máy ảo VM có hệ điều hành Opensource/MS Server như: Openfiler/FreeNAS hoặc WIndows Server 2012 làm Software NFS)

Các bước chuẩn bị cho hệ thống VEEAM Backup:

Bước 1. Cách cấu hình VEEAM Backup Free v9

  • Tải bản ISO cài đặt VEEAM Backup Free v9
  • Cài hệ thống VEEAM Backup Free v9 xin tham khảo:
  • Cấu hình VEEAM Backup Free v9 trên  3 mô hình chính:
    • Cài trên 1 VM windows 2012 R2
    • Cài trên 1 Hyper-V và có windows 2008 R2/ W2K12/W2K12R2.
    • Cài .Net framework 4.5, SQL Express2013 Sp1

Bước 2. Cách viết script cho VEEAM Backup trên PowerShell v2

 

– Nội dung file VEEAMBackup.ps1  script:

##################################################################

#                   User Defined Variables

##################################################################

# Names of VMs to backup separated by comma (Mandatory). For instance, $VMNames = “VM1”,”VM2”

$VMNames = “VCVA60”

# Name of vCenter or standalone host VMs to backup reside on (Mandatory)

$HostName = “10.10.11.80”

# Directory that VM backups should go to (Mandatory; for instance, C:\Backup)

$Directory = “E:\Backup_K2”

#Optionally, you can change compression level and desired retention, disable VMware quiescence, enable encryption or even notification settings:

# Desired compression level (Optional; Possible values: 0 – None, 4 – Dedupe-friendly, 5 – Optimal, 6 – High, 9 – Extreme)

$CompressionLevel = “5”

# Quiesce VM when taking snapshot (Optional; VMware Tools or Hyper-V Integration Components are required for this in the guest OS; Possible values: $True/$False)

$EnableQuiescence = $True

# Protect resulting backup with encryption key (Optional; $True/$False)

$EnableEncryption = $False

# Encryption Key (Optional; path to a secure string)

$EncryptionKey = “”

# Retention settings (Optional; by default, VeeamZIP files are not removed and kept in the specified location for an indefinite period of time.

# Possible values: Never, Tonight, TomorrowNight, In3days, In1Week, In2Weeks, In1Month)

$Retention = “Never”

#If you like to get an email report once the backup is completed, you should additionally fill out the following notification settings.

##################################################################

# Notification Settings

##################################################################

# Enable notification (Optional)

$EnableNotification = $True

# Email SMTP server

$SMTPServer = “”

# Email FROM

$EmailFrom = “”

# Email TO

$EmailTo = “”

# Email subject

$EmailSubject = “”
##################################################################
#                   Email formatting
##################################################################

$style = “<style>BODY{font-family: Arial; font-size: 10pt;}”
$style = $style + “TABLE{border: 1px solid black; border-collapse: collapse;}”
$style = $style + “TH{border: 1px solid black; background: #dddddd; padding: 5px; }”
$style = $style + “TD{border: 1px solid black; padding: 5px; }”
$style = $style + “</style>”

##################################################################
#                   End User Defined Variables
##################################################################

#################### DO NOT MODIFY PAST THIS LINE ################
Asnp VeeamPSSnapin

$Server = Get-VBRServer -name $HostName
$MesssagyBody = @()

foreach ($VMName in $VMNames)
{
  $VM = Find-VBRViEntity -Name $VMName -Server $Server
  If ($EnableEncryption)
  {
    $EncryptionKey = Add-VBREncryptionKey -Password (cat $EncryptionKey | ConvertTo-SecureString)
    $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention -EncryptionKey $EncryptionKey
  }
  Else
  {
    $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention
  }
  If ($EnableNotification)
  {
    $TaskSessions = $ZIPSession.GetTaskSessions().logger.getlog().updatedrecords
    $FailedSessions =  $TaskSessions | where {$_.status -eq “EWarning” -or $_.Status -eq “EFailed”}
  if ($FailedSessions -ne $Null)
  {
    $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @{n=”Name”;e={($_.name).Substring(0, $_.name.LastIndexOf(“(“))}} ,@{n=”Start Time”;e={$_.CreationTime}},@{n=”End Time”;e={$_.EndTime}},Result,@{n=”Details”;e={$FailedSessions.Title}})
  }
  Else
  {
    $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @{n=”Name”;e={($_.name).Substring(0, $_.name.LastIndexOf(“(“))}} ,@{n=”Start Time”;e={$_.CreationTime}},@{n=”End Time”;e={$_.EndTime}},Result,@{n=”Details”;e={($TaskSessions | sort creationtime -Descending | select -first 1).Title}})
  }
  }  
}
If ($EnableNotification)
{
$Message = New-Object System.Net.Mail.MailMessage $EmailFrom, $EmailTo
$Message.Subject = $EmailSubject
$Message.IsBodyHTML = $True
$message.Body = $MesssagyBody | ConvertTo-Html -head $style | Out-String
$SMTP = New-Object Net.Mail.SmtpClient($SMTPServer)
$SMTP.Send($Message)
}

Bước 3. Cấu hình PowerShell V2 cho phép chạy, read/write/executive trên máy chủ Windows chạy bản VEEAM Backup Free v9.

Lưu ý khi lần đầu cài Microsft PowerShell và chạy trên máy PC mới:

  • Gõ lệnh trên màn PowerShell / cmdlet / cmdDOS :

Get-PSSnapin

  • Gõ lệnh kiểm tra quyền chạy  WinRM kết nối tới  Office 365 (O365):

net start winrm
winrm get winrm/config/client/auth

  • Gõ lệnh cấu hình lại quyền chạy winrm (nếu kết quả báo: Basic=false):

winrm set winrm/config/client/auth @{Basic=”true”}

  • Một số trường hợp đặc biệt, máy PC của bạn đang join domain và  bị Global domain ngăn cản bằng các Policy domain hãy gõ lệnh sau để thiết lập quyền kết nối và điều khiển Office 365 bằng PowerShell:

Set-ExecutionPolicy RemoteSigned

Set-ExecutionPolicy Unrestricted

  • Nếu là bị  GPO hạn chế  quyền restricted policy hãy gõ lệnh sau:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy unrestricted -force

  • Thêm vào đó 4 dòng lệnh sau:

Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy unrestricted -force

Set-ExecutionPolicy -Scope MachinePolicy -ExecutionPolicy unrestricted -force

Set-ExecutionPolicy -Scope UserPolicy -ExecutionPolicy unrestricted -force

Set-ExecutionPolicy -Scope Process -ExecutionPolicy unrestricted -force

Tham khảo link:  https://thangletoan.wordpress.com/2013/08/08/su-dung-powershell-trong-office-365/ 

 

Bước 4. Cấu hình Task Schedule trên Windows > Administrator Tool cho phép chạy Script theo lịch trình thời gian (onTime, on daily, on weekly, on Monthly…)

image

image

image

image

Bước 5. Kiểm tra history kết quả backup của VEEAM Backup Free v9

image

 

Phần khôi phục lại máy chủ ảo VCVA  trên một ESXi Host khác, sau khi đã backup VEEAM v9 thành công.

Bước 1.

– Mở VEEAM Backup chọn Menu HOME > chọn nút Restore

image

Chọn thư mục và tìm tới file đã backup máy chủ ảo VCVA

image

Chọn bản đã backup gần nhất để restore

image

Chọn kiểu Restore Entire VM

image

image

Chọn vị trí ESXi Host khác để restore VM

image

Chọn từ Host mặc định cũ: 10.10.11.80  và chuyển sang Host khác: 10.10.11.70

image

Đã chọn sang Host khác.

image

Cuối cùng là phần Datastore để chứa máy chủ ảo VCVA cần khôi phục, bạn sẽ phải trỏ tới 1 trong các vùng lưu trữ như: DAS, SSD, Local storage, SAN, NAS, Share Storage mà có thể kết nối thông với ESXi Host vừa trỏ tới.

image

Lưu ý: vùng trống để chứa và vận hành máy chủ ảo VCVA có kích thước tối thiểu:

(114,3 Gb +  8Gb (swap file for memory ~ 8Gram/1 VM)

Bước 2. Kiểm tra kết quả khôi phục:

image

 

Bước 3. Kiểm tra máy chủ ảo VCVA:

– Bật máy ảo vCenter Server 6 sau khi đã khôi phuc thành công từ VEEAM Backup

image

– Mở console vCenter Appliance 6 và kiểm tra tình trạng chạy ổn định

image

– Mở IE/FF kiểm tra web vsphere client

image

 

Chúc các bạn thành công với việc bảo vệ máy chủ vCenter Server Appliance an toàn.

Cách dùng VEEAM Backup v9


1. Cách cấu hình VEEAM Backup Free v9

  • Tải bản ISO cài đặt VEEAM Backup Free v9
  • Cài hệ thống VEEAM Backup Free v9 xin tham khảo:
  • Cấu hình VEEAM Backup Free v9 trên  3 mô hình chính:
    • Cài trên 1 VM windows 2012 R2
    • Cài trên 1 Hyper-V và có windows 2008 R2/ W2K12/W2K12R2.
    • Cài .Net framework 4.5, SQL Express2013 Sp1

2. Cách viết script cho VEEAM Backup trên PowerShell v2

image

– Nội dung file VEEAMBackup.ps1  script:

 

##################################################################

#                   User Defined Variables

##################################################################

 

# Names of VMs to backup separated by comma (Mandatory). For instance, $VMNames = “VM1”,”VM2”

$VMNames = “VCVA60″,”bigbluebutton”

 

# Name of vCenter or standalone host VMs to backup reside on (Mandatory)

$HostName = “10.10.11.80”

 

# Directory that VM backups should go to (Mandatory; for instance, C:\Backup)

$Directory = “E:\Backup_K2”

#Optionally, you can change compression level and desired retention, disable VMware quiescence, enable encryption or even notification settings:

# Desired compression level (Optional; Possible values: 0 – None, 4 – Dedupe-friendly, 5 – Optimal, 6 – High, 9 – Extreme)

$CompressionLevel = “5”

# Quiesce VM when taking snapshot (Optional; VMware Tools or Hyper-V Integration Components are required for this in the guest OS; Possible values: $True/$False)

$EnableQuiescence = $True

# Protect resulting backup with encryption key (Optional; $True/$False)

$EnableEncryption = $False

# Encryption Key (Optional; path to a secure string)

$EncryptionKey = “”

# Retention settings (Optional; by default, VeeamZIP files are not removed and kept in the specified location for an indefinite period of time.

# Possible values: Never, Tonight, TomorrowNight, In3days, In1Week, In2Weeks, In1Month)

$Retention = “Never”

#If you like to get an email report once the backup is completed, you should additionally fill out the following notification settings.

##################################################################

# Notification Settings

##################################################################

# Enable notification (Optional)

$EnableNotification = $True

# Email SMTP server

$SMTPServer = “”

# Email FROM

$EmailFrom = “”

# Email TO

$EmailTo = “”

# Email subject

$EmailSubject = “”
##################################################################
#                   Email formatting
##################################################################

$style = “<style>BODY{font-family: Arial; font-size: 10pt;}”
$style = $style + “TABLE{border: 1px solid black; border-collapse: collapse;}”
$style = $style + “TH{border: 1px solid black; background: #dddddd; padding: 5px; }”
$style = $style + “TD{border: 1px solid black; padding: 5px; }”
$style = $style + “</style>”

##################################################################
#                   End User Defined Variables
##################################################################

#################### DO NOT MODIFY PAST THIS LINE ################
Asnp VeeamPSSnapin

$Server = Get-VBRServer -name $HostName
$MesssagyBody = @()

foreach ($VMName in $VMNames)
{
  $VM = Find-VBRViEntity -Name $VMName -Server $Server
 
  If ($EnableEncryption)
  {
    $EncryptionKey = Add-VBREncryptionKey -Password (cat $EncryptionKey | ConvertTo-SecureString)
    $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention -EncryptionKey $EncryptionKey
  }
 
  Else
  {
    $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention
  }
 
  If ($EnableNotification)
  {
    $TaskSessions = $ZIPSession.GetTaskSessions().logger.getlog().updatedrecords
    $FailedSessions =  $TaskSessions | where {$_.status -eq “EWarning” -or $_.Status -eq “EFailed”}
 
  if ($FailedSessions -ne $Null)
  {
    $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @{n=”Name”;e={($_.name).Substring(0, $_.name.LastIndexOf(“(“))}} ,@{n=”Start Time”;e={$_.CreationTime}},@{n=”End Time”;e={$_.EndTime}},Result,@{n=”Details”;e={$FailedSessions.Title}})
  }
  
  Else
  {
    $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @{n=”Name”;e={($_.name).Substring(0, $_.name.LastIndexOf(“(“))}} ,@{n=”Start Time”;e={$_.CreationTime}},@{n=”End Time”;e={$_.EndTime}},Result,@{n=”Details”;e={($TaskSessions | sort creationtime -Descending | select -first 1).Title}})
  }
 
  }  
}
If ($EnableNotification)
{
$Message = New-Object System.Net.Mail.MailMessage $EmailFrom, $EmailTo
$Message.Subject = $EmailSubject
$Message.IsBodyHTML = $True
$message.Body = $MesssagyBody | ConvertTo-Html -head $style | Out-String
$SMTP = New-Object Net.Mail.SmtpClient($SMTPServer)
$SMTP.Send($Message)
}

– Cấu hình PowerShell V2 cho phép chạy, read/write/executive trên máy chủ Windows chạy bản VEEAM Backup Free v9.

– Cấu hình Task Schedule trên Windows > Administrator Tool cho phép chạy Script theo lịch trình thời gian (onTime, on daily, on weekly, on Monthly…)

image

image

image

image

– Kiểm tra history kết quả backup của VEEAM Backup Free v9

image

3. Các tình huống thực hành:

3.1. Backup VM thông qua vSphere Client gói OVA/OVF

image

image

 

3.2. Backup VM thông qua Script chạy trên PowerShell v2

image

 

3.3. Xóa máy ảo trên vSphere 6 sau khi đã backup bằng 2 cách trên

image 

3.4. Khôi phục lại VM bằng vSphere Client > Deployment OVA/OVF

image

3.5. Bật VM chạy thử nghiệm kiểm tra tình trạng VM

– Nếu chạy ổn định chuyển tiếp sang bước 3.6.

– Nếu không ổn phải chạy lại các bước

3.6. Sau khi chạy thử nghiệm VM chạy ổn định, ta xóa VM đó lần 2.

3.7. Chạy khôi phục lại VM bằng VEEAM Backup Free v9

– Mở VEEAM backup Free v9

image

– Chọn menu: SERVER > VMware vSphere > IP host / Name server ESXi host  để kiểm tra xem VM có còn không ?

– Chọn chuyển sang Menu: HOME

image

Bấm nút Restore > chọn File đã backup để restore

image

Sau khi VEEAM backup phân tích được file backup sẽ có thông tin chi tiết VM cần restore

image

image

Chọn nút Restore và bấm Popup menu: Entire VM (include registration)

image

Màn thông tin vị trí khôi phục lại VM

image

Chọn vị trí khôi phục là nguyên bản (như cũ) hoặc chọn vị trí máy chủ khác để khôi phục:

image

image

Nhập lý do khôi phục

image

Bấm Finish để bắt đầu khôi phục lại VM

Màn tiến trính khôi phục bắt đầu thực hiện

image

Kết quả hoàn thành việc khôi phục VM bằng VEEAM Backup Free v9

image

Kiểm tra tình trạng máy VM trên vShere client sau khi đã khôi phục thành công.

3.8.Tình huống backup và Restore VM đã được snapshot

image

image

– Sửa lại màn powerShell script

image

– Cho chạy script

image

– Sau khi chạy kết quả VM có snapshot được backup

image

Đến khoảng thời gian ngắn sau thì thấy ngừng chạy script, trên màn vsphere cleint báo lỗi VM có snapshot

image

“Snapshot not taken since the state of the virtual machine has not changed since the last snapshot operation.”

– Mở lại VEEAM Backup Free v9 để khôi phục VM có snapshot (đã xóa VM trên Host 10.10.11.80)

– Thực hiện lại tiến trình restore VM đã snapshot không thành công.

image

Kết luận:

– Những máy ảo nào đã được snapshot bằng vSphere VMware thì không thể backup bằng VEEAM Backup Free v9 thông qua Script PowerShell.

image

Muốn thực hiện backup/restore thành công các VM này phải Consolidate trước, sau đó delete all hết các bản Snapshot trước khi chạy Script powershell backup.

– Bản chất của quá trình backup của VEEAM Backup Free là có dùng cơ chế snapshot các VM, nên khi hệ thống VB đang vận hành cơ chế snapshot các máy ảo bạn đừng consolidate hay xóa các bản snapshot của VB, nó sẽ gây lỗi quá trình backup replicate

image

Chúc các bạn thành công trong công tác bảo vệ toàn vẹn và an toàn dữ liệu, máy ảo bằng VEEAM Backup v9 !