使用 `dd` 备份Ubuntu系统盘

news/2024/11/18 4:39:13/文章来源:https://www.cnblogs.com/daikaiqiang/p/18356650

1. 方案概述

dd 是一个低级别的数据复制工具,能够直接将磁盘或分区的内容逐位复制到另一个设备或文件中。使用 dd 备份系统盘可以获得整个系统的精确副本,包括操作系统、配置文件、已安装的软件、以及所有用户数据。

2. 前提条件

  • 源设备:包含系统的磁盘(如 /dev/sda
  • 目标设备或文件:可以是另一个磁盘(如 /dev/sdb),或者一个备份文件(如 /mnt/backup/system_backup.img),本次采用备份为img文件的方式测试备份。
  • 备用存储设备:用于存储备份数据,其容量应等于或大于源设备的容量。
  • 可启动的LiveCD/LiveUSB:用于停机时备份。

3. 备份前的准备工作

  1. 准备LiveCD/LiveUSB

    • 下载Ubuntu ISO镜像文件并制作LiveCD或LiveUSB。
    • 从LiveCD/LiveUSB启动系统,以避免备份过程中文件系统的变动。
  2. 确认设备名称

    • 使用 lsblk 命令确认系统盘(源设备)和目标盘(或备份位置)的名称。
    • 示例:
      lsblk
      
  3. 检查磁盘使用情况

    • 确保目标设备的容量足够大,可以容纳源设备的数据。
  4. 环境介绍

    • 本次使用测试环境环境进行测试,系统分区如下,需要备份区域为整个sda磁盘:
      alt text
    • LiveUSB启动系统后系统分区如下:
      alt text
      /dev/sda   # 目标备份盘
      /dev/sdb   # 备份存储盘
      /dev/sdc   # LiveUSB启动盘
      

4. 备份过程

  1. 使用 dd 创建备份

    • 如果目标是另一个磁盘:
      sudo dd if=/dev/sda of=/dev/sdb bs=4M status=progress
      # 速率由500MB/s降至250MB/s趋于稳定 花费时间在6000s左右,具体速率与存储介质有关
      
    • 如果目标是备份文件:
      sudo dd if=/dev/sda of=/mnt/ubuntu_2.0.img bs=4M status=progress
      # 速率由500MB/s降至250MB/s趋于稳定 花费时间在6000s左右,具体速率与存储介质有关
      
  2. 使用压缩减少备份文件大小(可选):

    • 适用于目标设备空间不足的情况,通过压缩备份文件以节省存储空间。
      sudo dd if=/dev/sda bs=4M | gzip > /mnt/backup/system_backup.img.gz# 该项未进行测试
      

5. 恢复过程

  1. 从备份文件恢复到磁盘

    • 从备份文件恢复:
      sudo mount /dev/sdb1 /mnt # 挂载备份存储盘
      sudo dd if=/mnt/ubuntu_2.0.img of=/dev/sda bs=4M status=progress
      
      alt text
    • 如果备份文件被压缩:
      gunzip -c /mnt/backup/system_backup.img.gz | sudo dd of=/dev/sda bs=4M status=progress  #未测试
      
  2. 从备份磁盘恢复到原始磁盘

    sudo dd if=/dev/sdb of=/dev/sda bs=4M status=progress
    # 该项未测试,直接将启动盘设置为/dev/sdb 后系统可以正常启动。(遇到不能识别磁盘时,在BIOS中将硬盘做RAID后可以正常识别启动)
    

6. 可行性分析

  • 优点

    • dd 是一种简单而直接的备份方法,能够完整地备份整个系统盘,包括引导扇区、文件系统、分区表等。
    • 适用于需要将系统恢复到与原始硬件完全相同的情况。
  • 缺点

    • 备份时间较长,特别是在磁盘容量较大的情况下。
    • 备份文件大小与磁盘大小相同,除非使用压缩,否则备份文件会非常大。
    • 恢复到不同硬件时可能需要额外的配置调整,如修复GRUB引导加载器、调整网络接口名称等。
  • 适用场景

    • 系统迁移:将整个操作系统迁移到新的磁盘或硬件设备。
    • 系统恢复:在系统崩溃或硬件故障时,快速恢复到备份时的状态。
    • 环境复制:复制相同配置的多个系统环境。

7. 注意事项

  • 备份和恢复过程中,确保不对源设备进行写操作,以防数据不一致。
  • 如果目标设备容量小于源设备,无法使用 dd 进行完整备份。
  • 使用LiveCD/LiveUSB时,建议在挂载目标设备时确保其已被正确识别且无数据损坏。

8. 方案总结

使用 dd 备份Ubuntu系统盘是一种可靠的方法,适用于完整系统的复制和恢复操作。通过压缩和合理的磁盘管理,可以克服备份文件过大的问题,并确保系统能够在需要时恢复到工作状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/783212.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

淘宝直播自动回复评论 - 浏览器插件

功能介绍 浏览器插件源码开放,可以随意二次开发,无时间限制,无账号限制,无电脑限制 实现原理,纯浏览器插件实现,监控浏览器界面元素变动,获取直播间或者直播中控后台的评论文本,匹配回复关键词或调用AI接口,再利用js模拟输入和点击等操作 支持以下中控台或直播间地址,…

QC_操作

场景1. MINUS2 如:百乐Step1,q28<>可擦中性笔 →q14使用中性笔 (7) 删除 排除样本(OMIT)

【日记】酸奶冻成冰块了 QvQ(457 字)

正文我不知道一楼的冷藏柜已经修好了,早知道我就把酸奶放一楼了。放在六楼,现在酸奶已经冻成冰块了……今天基本上一整天都在摸鱼看书,中午把经济师报名了,报名费 122 块。有点贵……昨天给全家上了一个 10 万的意外险,包含医疗责任,一共 200 多块钱。但是似乎没办法给兄…

Codeforces Round 903 (Div. 3) F. Minimum Maximum Distance

https://codeforces.com/contest/1881/problem/F不难发现一件事情,我们这里最后的答案所在的点是 1 和 3 号点。 我们有没有发现一个性质:就是这两个点都是红点间的路径上的,而且最后的答案就是最长的红点间的距离的长度除以二上取整。 那么,我们怎么找到最长的红点间的距离…

apifox进行https接口测试

SSL双向认证-SpringBoot项目_apifox 添加证书-CSDN博客 说是 SSL 证书验证 开启,可能验证不通过,根据实际情况来单向认证,客户端证书就不必上传了注: 这里我上传的是p12证书,所以选择下图所示上传另外,这里用的是rsa2048,SM2试了,貌似有问题,如果只是简单的get,可以考…

docker 构建java 部署包

去官网查找对应的镜像资源。 建议最好选择官方的镜像,避免出现一些奇奇怪怪的问题。由于JDK8现在开始收费,因此只能使用OpenJDK的镜像。.1.拉取Java镜像. docker pull java:openjdk-82.运行java容器。 a.先创建一个Java目录 :mkdir /app/zh_lawsuit_oracle/ b.在本地准备一…

Odoo17 门户链接访问令牌

为了方便共享文档,odoo在每个文档模型中都加入了共享链接的快捷分享功能,用户可以方便的在想要分享的文档上将文档的链接分享给客户/供应商。我们以销售订单为例,来看一下分享功能的使用方法. 生成共享链接 我们在想要分享的文档上点击动作-分享,会弹出一个对话框:在显示的…

USB硬件特性(速度、名称、供电)

USB传输速度 USB1.0版本,USB LS(Low Speed低速),速度1.5Mbps。 USB1.1版本,USB FS(Full Speed全速),速度12Mbps。 USB2.0版本,USB HS(High Speed高速),速度480Mbps。 USB3.0版本,USB SS(Super Speed超速),速度5Gbps。 USB3.1版本,USB SS(Super Speed超速),速度10Gbps…

wpf 如何写一个圆形的进度条

先看一下效果吧调用代码如下<local:CycleProgressBar Width="100" Height="100" Background="#FFF68986" Foreground="#FFFA1F09"Maximum="100" Minimum="0" Value="20" IsIndeterminate="Fals…

与LLMs进行在IDE中直接、无需提示的交互是工具构建者探索的一个有希望的未来方向

这个观点在卡内基梅隆大学与谷歌研究人员合作文章《Using an LLM to Help With Code Understanding》中提出。这个观点在卡内基梅隆大学与谷歌研究人员合作文章 《Using an LLM to Help With Code Understanding》 中提出。 论文地址:https://dl.acm.org/doi/abs/10.1145/3597…

dbeaver连oceanBase

1. OceanBase OceanBase是由蚂蚁集团完全自主研发的企业级分布式关系数据库,始创于2010年。OceanBase具有数据强一致、高可用、高性能、在线扩展、高度兼容SQL标准和主流关系数据库、低成本等特点。 2020年6月:OceanBase独立公司化运作。2021年6月1日,OceanBase正式对外开源…

KingbaseES RAC运维案例之---集群及数据库管理

KingbaseES、KingbaseRAC案例说明: KingbaseES RAC在部署完成后,进行日常的集群及数据库管理。 适用版本: KingbaseES V008R006C008M030B0010 操作系统版本: [root@node201 KingbaseHA]# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)集群架构: 如下所示…