我试图验证 Linux VM 的 Azure 备份是否正常工作,因此我下载了最后一个还原点的还原脚本。 脚本运行并成功连接,但在尝试自动安装驱动器时挂起:
Microsoft Azure VM Backup - File Recovery
______________________________________________
Please verify the license, terms and conditions for using this script as mentioned here: https://aka.ms/OpenSourceLicenseForFileRecovery
------------------------------------------------
Checking for OS Compatibility: DONE
Checking for large disks: DONE
Checking for LVMs: DONE
Checking for network connectivity: DONE
Checking for required cipher suite: DONE
Please enter the password as shown on the portal to securely connect to the recovery point. : XXXXXX
Connecting to recovery point using ISCSI service...
Connection succeeded!
Please wait while we attach volumes of the recovery point to this machine...
SCSI
在 dmesg 中我可以看到驱动器已连接:
[ 168.267791] Loading iSCSI transport class v2.0-870.
[ 197.798995] iscsi: registered transport (tcp)
[ 198.059221] scsi host3: iSCSI Initiator over TCP/IP
[ 198.232121] scsi 3:0:0:0: Direct-Access MABILR I Disk 1.00 PQ: 0 ANSI: 5
[ 198.295800] sd 3:0:0:0: Attached scsi generic sg2 type 0
[ 198.336224] scsi host4: iSCSI Initiator over TCP/IP
[ 198.386131] sd 3:0:0:0: [sdb] 62914560 512-byte logical blocks: (32.2 GB/30.0 GiB)
[ 198.400660] sd 3:0:0:0: [sdb] Write Protect is off
[ 198.400669] sd 3:0:0:0: [sdb] Mode Sense: 27 00 10 04
[ 198.429963] sd 3:0:0:0: [sdb] Write cache: disabled, read cache: disabled, supports DPO and FUA
[ 198.530547] scsi 4:0:0:0: Direct-Access MABILR I Disk 1.00 PQ: 0 ANSI: 5
[ 198.591583] sd 4:0:0:0: Attached scsi generic sg3 type 0
[ 198.632254] scsi host5: iSCSI Initiator over TCP/IP
[ 198.681411] sd 4:0:0:0: [sdc] 1073741824 512-byte logical blocks: (550 GB/512 GiB)
[ 198.696483] sd 4:0:0:0: [sdc] Write Protect is off
[ 198.696490] sd 4:0:0:0: [sdc] Mode Sense: 27 00 10 04
[ 198.726301] sd 4:0:0:0: [sdc] Write cache: disabled, read cache: disabled, supports DPO and FUA
….
我能够手动挂载 rootfs 几次,但连接在短时间内停止工作,并且我在日志中看到超时消息,如下所示:
[ 378.572336] sd 3:0:0:0: [sdb] tag#67 timing out command, waited 180s
[ 378.577504] sd 3:0:0:0: [sdb] tag#67 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=180s
[ 378.577517] sd 3:0:0:0: [sdb] tag#67 Sense Key : Unit Attention [current]
[ 378.577525] sd 3:0:0:0: [sdb] tag#67 Add. Sense: No additional sense information
[ 378.577549] sd 3:0:0:0: [sdb] tag#67 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 378.577566] blk_update_request: I/O error, dev sdb, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 378.584439] Buffer I/O error on dev sdb, logical block 0, async page read
我根本无法检测和安装我的 LVM 卷。我在不同位置的两台不同机器上测试了这个,分别是 Debian 12、CentOS 7 和 Ubuntu 22.04。但它的行为是一样的。 我还尝试按照https://learn.microsoft.com/en-us/azure/backup/backup-azure-restore-files-from-vm中的建议增加iscsid.conf中的noop_out_timeout,但这没有帮助。
有人有类似经历或者知道可能是什么原因吗?
Linux虚拟机创建并备份成功:
在恢复点下载可执行的 Linux Azure VM 或使用生成的 python 脚本下载软件。
VM 备份文件恢复期间出现超时错误 当恢复点和计算机之间的 iSCSI 连接尝试还原 Linux VM 的 Azure 备份并从恢复点自动安装驱动器时,通常会出现此问题。
在计算机上的 iSCSI 启动器日志中,使用以下命令检查日志,这将实时显示系统日志消息。查找与 iSCSI 或连接的 SCSI 设备相关的消息。
tail -f /var/log/messages
确保检查没有防火墙或网络安全组 (NSG) 阻止流量:
您可以使用运行网络跟踪和 Linux 虚拟机防火墙。
#Network Trace
sudo tcpdump -i <interface> port 3260
#linux vm
sudo ufw status
在终端中使用
sudo bash
输入凭据并输入 chmod+x
现在,当我尝试输入密码时,连接成功并挂载路径附加卷,如下所示:
Microsoft Azure VM Backup - File Recovery
Please enter the password as shown on the portal to securely connect to the recovery point. :
connecting to recovery point using ISCSI service...
connection succeeded!
Please wait while we attach volumes of the recovery point to this machine...
********* Volumes of the recovery point and their mount paths on this machine
Sr.No. | Disk | Volume | MountPath Pad
1) | /dev/sdb | /dev/sdci | /home/Demouse/xxxxxx/
**************Open File Explorer to browse for files.*****************
After recovery, to remove the disks and close the connection to the recovery pot
ht, please click 'Unmount Disks' in step 3 of the portal.
After clicking 'Unmount disks’ from the portal, run the script with the paramete
r '-clean’ to remove the mount paths of the recovery point from this machine.
Please enter 'q/Q' to exit...
如果错误仍然存在,请尝试使用
mount
命令手动安装驱动器,并使用不同的恢复点来查看问题是否特定于当前恢复点。如果您能够使用不同的恢复点安装驱动器,则当前恢复点可能存在问题。
参考:
如何使用 作者 Charbel nemnom
从 Azure Linux VM 恢复文件和文件夹