IBM Cloud Docs
创建 Veeam Linux托管服务器

创建 Veeam Linux托管服务器

本步骤描述网络管理员使用 Veeam® 数据集成 API 访问网络备份的使用案例。

从现有的 Linux 服务器创建 Veeam Linux® 受管服务器。 当服务器由 Veeam 管理时,Veeam 可访问服务器。 对于此使用案例,请使用 Veeam 数据集成 API。

Veeam 数据集成 API 允许在 Microsoft® Windows® 或 Linux 服务器上安装备份文件。 您可以指定备份文件的还原点,将其挂载为 Windows 文件夹或 Linux 挂载点,然后访问备份文件中的文件。 要在使用 Microsoft Windows 操作系统的服务器上加载虚拟机 (VM) 文件系统,Veeam 使用 iSCSI 协议。 要在使用 Linux 操作系统的服务器上挂载虚拟机文件系统,Veeam 使用 FUSE(用户空间文件系统)。 FUSE 是用户空间程序向 Linux 内核导出虚拟文件系统的一个简单接口。

Linux支持一种名为循环设备的特殊块设备,它将普通文件映射到虚拟块设备上。 它允许将文件用作另一个文件内的虚拟文件系统。

本用例具有以下任务:

  • 将 Linux 服务器的凭据添加到 Veeam 的凭据存储区。
  • 将挂载所需虚拟机最后还原点的备份内容发布到 Linux 服务器。
  • 取消出版。

添加 VBR 凭证

以下 PowerShell 命令将 Linux 托管服务器上的用户添加到 Veeam 凭据存储库。 将 usernamepassword 替换为要管理的 Linux 服务器的凭据。

$LinuxManagedServerUser = "<username>"
$LinuxManagedServerPassword = "<password>"
$LinuxManagedServerDescription = "Service Account for Linux Managed Server"
$LinuxManagedServerSSHPort = "22"
Add-VBRCredentials -User $LinuxManagedServerUser -Password $LinuxManagedServerPassword -Description $LinuxManagedServerDescription -Type Linux -SshPort $LinuxManagedServerSSHPort -ElevateToRoot -AddToSudoers

发布

在以下 PowerShell 命令中,用所需值替换 managed_linux_server_ip_or_fqdnusernamebackup_job_name

$TargetServer = "<managed_linux_server_ip_or_fqdn>"
$CredsName = "<username>"
$TargetServerCreds = Get-VBRCredentials -Name $CredsName
$BackupJobName = "<backup_job_name>"

# Build objects
$BackupJobObjects = Get-VBRJobObject -Job $BackupJobName

# Mount last restore point for each VM in the backup job
Foreach ($Job in $BackupJobObjects) { $RestorePoint = $Job | Get-VBRRestorePoint -Name *$($Job.Name)* | Sort-Object –Property CreationTime –Descending | Select-Object -First 1; $Session = Publish-VBRBackupContent -RestorePoint $Restorepoint -TargetServerName $TargetServer -TargetServerCredentials $TargetServerCreds -EnableFUSEProtocol -RunAsync }

# Show mounted disk location
$SessionArray = Get-VBRPublishedBackupContentSession
Foreach ($Session in $SessionArray) { $ContentInfo = Get-VBRPublishedBackupContentInfo -Session $Session; Foreach ($Disk in $ContentInfo.Disks.DiskName) { Write-Host $Disk } }

要了解已加载文件系统和底层网络连接的示例,请参阅 示例

正在取消发布

不再需要访问已发布的备份时,可使用以下 PowerShell 命令取消发布:

$SessionArray = Get-VBRPublishedBackupContentSession
Foreach ($Session in $SessionArray) { Unpublish-VBRBackupContent -Session $Session -RunAsync }

示例

在 Linux 受管服务器上,没有与任何 Veeam 组件的连接。

sudo netstat -nutlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      136174/sshd         
tcp        0      0 0.0.0.0:6162            0.0.0.0:*               LISTEN      13716/veeamtranspor
tcp6       0      0 :::22                   :::*                    LISTEN      136174/sshd         
udp        0      0 127.0.0.1:323           0.0.0.0:*                           1663/chronyd        
udp6       0      0 ::1:323                 :::*                                1663/chronyd       

在 Linux 托管服务器上,veeamagent 打开了 TCP 2500 - 2502 端口:

sudo netstat -nutlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      136174/sshd         
tcp        0      0 0.0.0.0:6162            0.0.0.0:*               LISTEN      13716/veeamtranspor
tcp        0      0 0.0.0.0:2500            0.0.0.0:*               LISTEN      710143/veeamagent   
tcp        0      0 0.0.0.0:2501            0.0.0.0:*               LISTEN      711191/veeamagent   
tcp        0      0 0.0.0.0:2502            0.0.0.0:*               LISTEN      712309/veeamagent   
tcp6       0      0 :::22                   :::*                    LISTEN      136174/sshd         
udp        0      0 127.0.0.1:323           0.0.0.0:*                           1663/chronyd        
udp6       0      0 ::1:323                 :::*                                1663/chronyd

在 Linux 管理的服务器上,挂载指向已发布的文件,如下例所示。

lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0     7:0    0  600M  0 loop /tmp/Veeam.Mount.FS.b2811b87-5bf4-4056-8134-21ce9555dca7/centos01-flat.vmdk_0
loop1     7:1    0 67.2M  1 loop /snap/lxd/21835
loop2     7:2    0 61.9M  1 loop /snap/core20/1242
loop3     7:3    0 55.5M  1 loop /snap/core18/2246
loop4     7:4    0 32.5M  1 loop /snap/snapd/13640
loop5     7:5    0 61.9M  1 loop /snap/core20/1169
loop6     7:6    0 42.2M  1 loop /snap/snapd/13831
loop7     7:7    0 67.2M  1 loop /snap/lxd/21803
loop8     7:8    0 55.5M  1 loop /snap/core18/2253
loop9     7:9    0    1G  0 loop /tmp/Veeam.Mount.FS.b2811b87-5bf4-4056-8134-21ce9555dca7/centos01-flat.vmdk_1
loop10    7:10   0  1.6G  0 loop
loop11    7:11   0 12.8G  0 loop /tmp/Veeam.Mount.FS.b2811b87-5bf4-4056-8134-21ce9555dca7/cl-root
loop12    7:12   0  600M  0 loop /tmp/Veeam.Mount.FS.5f9917d0-cd25-4497-9c36-de21d5c93e23/centos02-flat.vmdk_0
loop13    7:13   0    1G  0 loop /tmp/Veeam.Mount.FS.5f9917d0-cd25-4497-9c36-de21d5c93e23/centos02-flat.vmdk_1
loop14    7:14   0  1.6G  0 loop
loop15    7:15   0 12.8G  0 loop /tmp/Veeam.Mount.FS.5f9917d0-cd25-4497-9c36-de21d5c93e23/cl-root
loop16    7:16   0    1M  0 loop
loop17    7:17   0    1G  0 loop /tmp/Veeam.Mount.FS.3b386d5e-9906-47ec-b8bd-7e17131f68a3/moss-web02-flat.vmdk_1
loop18    7:18   0 29.5G  0 loop /tmp/Veeam.Mount.FS.3b386d5e-9906-47ec-b8bd-7e17131f68a3/ubuntu-vg-ubuntu-lv
sda       8:0    0  931G  0 disk
├─sda1    8:1    0    1G  0 part /boot
├─sda2    8:2    0    1G  0 part [SWAP]
└─sda3    8:3    0  929G  0 part /
sdb       8:16   0 10.9T  0 disk
└─sdb1    8:17   0 10.9T  0 part /mnt/veeamrepo01

在 Veeam 备份服务器上,可以看到以下连接,其中

  • 10.38.207.157 是 Veeam 备份服务器。
  • 10.38.207.142 是用于挂载已发布文件的 Veeam Linux 托管服务器。
  • 10.38.207.178 是 Veeam Linux 加固备份服务器。
netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 10.38.207.137:22        10.38.207.142:58912     ESTABLISHED
tcp        0      0 10.38.207.157:2500     10.38.207.142:37784    ESTABLISHED
tcp        0      0 10.38.207.157:2500     10.38.207.142:37786    ESTABLISHED
tcp        0      0 10.38.207.157:2500     10.38.207.142:37788    ESTABLISHED
tcp        0      0 10.38.207.157:2500     10.38.207.142:37790    ESTABLISHED
tcp        0      0 10.38.207.157:2500     10.38.207.142:37792    ESTABLISHED
tcp        0      0 10.38.207.157:2500     10.38.207.142:37794    ESTABLISHED
tcp        0      0 10.38.207.157:2500     10.38.207.142:37796    ESTABLISHED
tcp        0      0 10.38.207.157:2500     10.38.207.142:37798    ESTABLISHED
tcp        0      0 10.38.207.157:2501     10.38.207.142:57486    ESTABLISHED
tcp        0      0 10.38.207.157:2501     10.38.207.142:57488    ESTABLISHED
tcp        0      0 10.38.207.157:2501     10.38.207.142:57490    ESTABLISHED
tcp        0      0 10.38.207.157:2501     10.38.207.142:57492    ESTABLISHED
tcp        0      0 10.38.207.157:2501     10.38.207.142:57494    ESTABLISHED
tcp        0      0 10.38.207.157:2501     10.38.207.142:57496    ESTABLISHED
tcp        0      0 10.38.207.157:2501     10.38.207.142:57498    ESTABLISHED
tcp        0      0 10.38.207.157:2501     10.38.207.142:57500    ESTABLISHED
tcp        0      0 10.38.207.157:53207    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53219    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53255    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53273    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53313    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53323    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53463    10.38.207.178:6162     ESTABLISHED
tcp        0      0 10.38.207.157:53464    10.38.207.178:6162     ESTABLISHED
tcp        0      0 10.38.207.157:53466    10.38.207.178:2501     ESTABLISHED
tcp        0      0 10.38.207.157:53467    10.38.207.178:2501     ESTABLISHED
tcp        0      0 10.38.207.157:53468    10.38.207.178:2501     ESTABLISHED
tcp        0      0 10.38.207.157:53469    10.38.207.178:2501     ESTABLISHED
tcp        0      0 10.38.207.157:53471    10.38.207.178:6162     ESTABLISHED
tcp        0      0 10.38.207.157:53473    10.38.207.178:6162     ESTABLISHED
tcp        0      0 10.38.207.157:53475    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53476    10.38.207.178:2502     ESTABLISHED
tcp        0      0 10.38.207.157:53477    10.38.207.178:2502     ESTABLISHED
tcp        0      0 10.38.207.157:53482    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53486    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53491    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53492    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53493    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53498    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53499    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53500    10.38.207.142:22       ESTABLISHED
tcp        0      0 10.38.207.157:53502    10.38.207.142:2500     ESTABLISHED
tcp        0      0 10.38.207.157:53503    10.38.207.142:2500     ESTABLISHED
tcp        0      0 10.38.207.157:53505    10.38.207.142:2501     ESTABLISHED
tcp        0      0 10.38.207.157:53506    10.38.207.142:2501     ESTABLISHED
tcp        0      0 10.38.207.157:53508    10.38.207.142:2502     ESTABLISHED
tcp        0      0 10.38.207.157:53509    10.38.207.142:2502     ESTABLISHED