之路 on it Road.com

2. 备份整个硬盘到磁盘镜像

  1. 我们可以创建硬盘的镜像文件,并将其保存在其他存储设备中。
    将数据备份到磁盘镜像有许多优点,其中之一是易于使用。
    此方法通常比其他类型的备份更快,使我们能够在发生意外灾难后快速恢复数据。
    使用以下命令将硬盘 /dev/sda 备份到磁盘镜像文件。
# dd if=/dev/sda of=/var/tmp/sda_disk.img

其中
if :源磁盘驱动器 (/dev/sda)
of : 目标磁盘驱动器 (/dev/sdb)

  1. 要使用另一个硬盘的镜像文件恢复一个硬盘,请使用以下 dd 命令示例。
# dd if=sda_disk.img of=/dev/sdc

其中
if :源磁盘驱动器 (/dev/sda)
of : 目标磁盘驱动器 (/dev/sdb)

如何使用“dd”命令备份 Linux 操作系统

在进行操作系统备份以克隆安装操作系统的磁盘时,“dd”命令非常方便。
以下是使用 dd 命令进行操作系统备份的几个示例。

注意:目标驱动器必须与被克隆的驱动器大小相同或者更大。
dd 命令将从目标中复制已使用和未使用的空间。

1. 将整个硬盘备份到另一个磁盘

  1. 在下面的例子中,我们要克隆磁盘“sda”并在服务器上有一个与“sdb”相同的磁盘。
# fdisk -l
Disk /dev/sda: 12.9 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00010897
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 1567 12069888 8e Linux LVM
Disk /dev/sdb: 12.9 GB, 12884901888 bytes
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
  1. 要将一个硬盘的完整副本备份到连接到同一系统的另一个硬盘,请执行 dd 命令。
    源硬盘的 UNIX 设备名称为 /dev/sda,目标硬盘的设备名称为 /dev/sdb,同步选项允许使用同步 I/O 复制所有内容。
# dd if=/dev/sda of=/dev/sdb conv=noerror,sync
25165824+0 records in
25165824+0 records out
12884901888 bytes (13 GB) copied, 453.846 s, 28.4 MB/s

其中
if :源磁盘驱动器 (/dev/sda)
of : 目标磁盘驱动器 (/dev/sdb)
bs : 一次读取和写入 BYTES (默认为 512 Bytes,对于更大的磁盘,我们可以使用 bs=64k)
noerror :读取错误后继续。

sync : 对数据使用同步 I/O,也对元数据使用同步 I/O

  1. 如果要将数据恢复到原始磁盘,我们需要使用正确的源(sdb)和目标(sda)重复上一步。
    在这种情况下,我们甚至可以删除 sda 并从 sdb 启动。

注意:在 dd 命令中反转参数可能会导致删除所有宝贵的数据。
确保知道源(if=)和目标(of=)的位置和名称。

3. 备份整个硬盘到 NFS 上的磁盘镜像并恢复它

  1. 检查 nfs 服务器上是否有足够的可用空间。
# showmount -e nfs_server_IP
Export list for xx.xx.xx.xx:
/nfsshare *
# df -h
Filesystem                Size   Used  Avail  Use%  Mounted on
xx.xx.xx.xx:/nfsshare     16G    44M   15G    1%    /nfs_test
  1. 创建镜像
    确保我们有足够的可用带宽。
# dd if=/dev/sda of=/nfs_test/sda_disk.img
25165824+0 records in
25165824+0 records out
12884901888 bytes (13 GB) copied, 263.396 s, 48.9 MB/s

其中
if :源磁盘驱动器 (/dev/sda)
of : 目标磁盘驱动器 (/dev/sdb)

  1. 要从nfs 上的备份磁盘镜像恢复(例如如果磁盘sda 上的磁盘故障,系统无法启动),请通过网络启动到救援模式。

  2. 挂载 nfs 共享。
    假设新创建的目录 /nfsshare。

  3. 使用磁盘镜像备份恢复 sda。

# dd if=/nfsshare/sda_disk.img of=/dev/sda

其中
if :源磁盘驱动器 (/dev/sda)
of : 目标磁盘驱动器 (/dev/sdb)

  1. 重启服务器。
# shutdown -r now
日期:2020-09-17 00:13:09 来源:oir作者:oir