我需要备份一台(虚拟)Ubuntu 服务器。备份介质(外部 USB 磁盘)安装在 Windows(Hyper-V 服务器)主机上。同一主机上的 Windows 服务器可以简单地使用 SMB 上的 Windows Backup 进行备份。
鉴于 Linux 最终将存储在 NTFS 格式的磁盘上,我该如何备份它?
更新
我不太确定 Samba 是否能正常工作——它不会保留符号链接、设备节点、权限等等。同样,它也不会保留文件名大小写和其他奇怪的字符。
我希望它是全保真的,这样我就可以用它来进行灾难恢复......
答案1
您将使用 Samba 作为传输 - 我建议使用 tar 创建实际备份。Tar 将遵守符号链接并存储权限。
这里是一个很好的网站,我用它来了解 tar 作为备份程序
答案2
如果您首先制作数据的 tarball,然后将 tarball 备份到 cifs 挂载点(如其他答案中所述),那么您将保留符号链接等。
答案3
安装(和配置)桑巴将允许您像其他 Windows 服务器一样备份 Linux 主机。
答案4
您只需要 Ubuntu 上的 samba 客户端 - 很可能已经安装好了。使用以下命令挂载共享:
sudo mount -t cifs //netbiosname/sharename /media/sharename -o username=winusername,password=winpassword,iocharset=utf8,file_mode=0777,dir_mode=0777
然后,您可以使用 cp、rsync 或您选择的程序执行备份。
备用:如果您不能使用 samba,您可能只想在 samba 文件系统上创建一个文件(或者直接创建一个,因为 USB 驱动器位于主机上,您应该能够在您的 VM 中访问它),然后在驱动器上创建一个“环回”文件系统来进行备份。
dd if=/dev/zero of=/tmp/test-img bs=1024 count=10000000 # 10G filesystem
mkfs -t ext3 -q /tmp/test-img
mkdir /mnt/image
mount –o loop /tmp/test.img /mnt/image