AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 837671
Accepted
Betty Von Schmartenhausen
Betty Von Schmartenhausen
Asked: 2017-03-12 06:24:19 +0800 CST2017-03-12 06:24:19 +0800 CST 2017-03-12 06:24:19 +0800 CST

使用 dd 和 gzip 进行备份和恢复

  • 772

我看过各种帖子讨论使用 dd 创建驱动器映像并仅存储“使用过的数据”。在提出问题/问题之前,让我们假设一些事情。

假设

  1. 克隆/映像的驱动器是 /dev/sda
  2. /dev/sda 是 10TB
  3. /dev/sda 上的已用空间为 1TB
  4. 映像存储到某个远程 CIFS 安装位置

问题/问题

将选项cp与--sparse=always选项一起使用dd应该会生成一个稀疏文件,以便文件显示为 1GB:

cp --sparse=always <(dd if=/dev/sda bs=8M) /mnt/remote/location/disk.img

或者像下面这样,应该压缩所有归零的空间:

dd if=/dev/sda1 | gzip -c > /mnt/remote/location/disk.img.gz

那么,稀疏的图像文件对恢复有什么影响呢?传输的数据是 1GB 还是 10GB,包括感知到的空白/归零空间?这显然是评估潜在网络负载和恢复时间的考虑因素。

PS 我知道还有其他选项,例如 Clonezilla 和 ddrescue 之类的选项将允许恢复功能,但问题是关于在上述上下文中使用 dd 的具体问题。

谢谢。

backup linux clone gzip dd
  • 2 2 个回答
  • 7016 Views

2 个回答

  • Voted
  1. shodanshok
    2017-03-12T11:44:14+08:002017-03-12T11:44:14+08:00

    您可以将ddrescue与它的-S选项一起使用:

    -S --sparse Use sparse writes for outfile. (The blocks of zeros are not actually allocated on disc). May save a lot of disc space in some cases. Not all systems support this. Only regular files can be sparse.

    你可以发出类似的东西ddrescue /dev/sda1 /path/to/outfile

    • 2
  2. Best Answer
    kubanczyk
    2017-03-12T07:24:36+08:002017-03-12T07:24:36+08:00

    写入 Windows CIFS 共享 SMB1

    来自微软的说法是:“在 Windows NTFS 文件系统中,默认情况下文件不会稀疏。应用程序或用户需要通过 FSCTL_SET_SPARSE 控制代码显式标记文件稀疏。” 不幸的是,Linux 没有通过 SMB1 标记这些文件。据报道,如果您首先在 Windows 端(使用 Cygwin )使文件稀疏dd if=/dev/zero of=BigFile bs=1M count=1 seek=150000,那么您可以继续从 Linux 将其编写为稀疏文件。我相信阅读将是未优化的。

    实验

    使用 RHEL6 coreutils-8.4cp --sparse=always local_file /mnt/cifs/file_on_cifs不会写入稀疏文件。读取 CIFS 文件时,它会读取归零区域(无fiemap优化)。在 RHEL6 中,备份和恢复都将通过网络传输整个文件;更好的gzip它。

    在 Ubuntu 14x 上与 coreutils-8.25 的情况相同。

    写入 Windows CIFS 共享 SMB2/SMB3

    有一个2014 补丁“向 SMB2/SMB3 挂载添加稀疏文件支持”,因此希望在 Windows 8.1 和其他平台的挂载共享上支持稀疏文件。

    写入 Linux CIFS 共享

    当您从某个 Linux 服务器在 Linux 客户端上挂载 Samba 共享时,您甚至可以在 SMB1 上写入稀疏文件。没有阅读优化。

    • 1

相关问题

  • IIS 6.0 (Windows Server 2003) 备份的最佳实践?

  • 10TB数据和3台服务器的备份解决方案

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

  • 最佳混合环境(OS X + Windows)备份?[关闭]

  • 如何从 SQL Server 2008 中的备份中排除索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve