为什么 .img 文件比实际磁盘大这么多?

安德鲁·纽比

我想弄清楚为什么我的磁盘映像要大得多。这是源服务器的磁盘:

root # df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           395M  7.1M  388M   2% /run
/dev/sda         79G   43G   32G  58% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           395M     0  395M   0% /run/user/0

我正在创建它:

ssh [email protected] "dd if=/dev/sda " | dd of=/backup/server-images/west.img

它仍在运行,到目前为止映像为 72gb - 因此几乎是其备份磁盘实际大小的两倍。我错过了什么?如果我有一个 200gb 的磁盘,它会是 400gb+ 吗?

然而图像是

罗艾马

dd不带参数使用是非常低效的 - 每次读取将使用 512 字节块。您可以调整dd块大小(bs=32M例如),但这里有一些更简单、更快的替代方法

# Compressed image
ssh [email protected] "gzip --rsyncable </dev/sda" >/backup/server-images/west.img.gz

# Uncompressed image
ssh [email protected] "gzip  --rsyncable </dev/sda" | zcat >/backup/server-images/west.img

# Uncompressed image with seriously fast network
ssh [email protected] "cat /dev/sda" >/backup/server-images/west.img

请注意,它们都没有使用dd. --rsyncable如果您gzip不理解标志,或者您可以绝对保证以后再也不想使用标志rsync来传输压缩图像忽略该标志

顺便说一句,如果/dev/sda安装了任何文件系统,或者任何分区正在使用中,您的备份可能会损坏。这不是如何对实时系统执行基于块的备份。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么普通的 Angular 项目包含这么多文件?

为什么div环绕img标签总是比img大?

为什么命令“ pod install”或“ pod update pod_name”安装了这么多文件?

“优化 CSS 交付” - 为什么 Google 使用这么多代码来加载 CSS 文件?

为什么Java源代码彼此之间有这么多文件夹?

为什么这么多 Android 游戏要求完全访问文件而不是使用内部存储?

为什么我的主目录中有这么多 cron.#### 文件?

为什么从文件读取的numpy narray会占用这么多内存?

为什么* .prof文件中有这么多的反斜杠(\)?

MPG文件为什么要占用这么多空间?它是过时的格式吗?

为什么我有这么多/etc/resolv.conf.dhclient-new.xxxx文件?

为什么二进制文件中有这么多零?

IE为什么要占用这么多CPU?

为什么要运行这么多的Apache进程?

为什么输入的宽度会增加这么多?

为什么/ dev中有这么多设备?

Python:为什么等待线程占用这么多 CPU

为什么会有这么多的回送地址?

为什么有这么多python版本在使用?

扫描为什么要占用这么多空间?

为什么这么多的汇编语法包含逗号?

为什么主板只支持这么多的RAM?

为什么这个Haskell程序分配这么多内存?

ActionCable:为什么有这么多连接?

为什么会有这么多sidekiq进程?

为什么docker占用了这么多VIRT内存?

为什么python字典会占用这么多内存?

为什么 WriterT State 需要这么多内存?

为什么这个tensorflow循环需要这么多的内存?