创建 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 凭据存储库。 将 username
和 password
替换为要管理的 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_fqdn
、username
和 backup_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