如何创建远程 ubuntu 16.04 服务器的完整备份?

如何创建远程 ubuntu 16.04 服务器的完整备份?

我刚刚配置完专用的远程 ubuntu 服务器,想要使用 DD 创建备份,以便在出现硬件问题时能够快速重建。

该系统有 2 个 500GB 的 SSD 驱动器和一个可用于备份的远程 FTP 服务器。我创建了以下备份,但我不确定这是否正确完成,是否允许我按预期进行恢复。由于它是一个软件 raid,我认为备份 MBR 和一个 SSD 就足够了

问题:这个备份过程是否可行且足以恢复到同一台服务器,以及从备份文件重建的最安全方法是什么?

root@rescue ~ # lsblk
NAME                     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sdb                        8:16   0 465.8G  0 disk  
|-sdb2                     8:18   0 465.3G  0 part  
| `-md1                    9:1    0 465.1G  0 raid1 
|   |-vg0-swap           253:1    0     4G  0 lvm   
|   |-vg0-pro2          253:6    0    24G  0 lvm   
|   |-vg0-pro1         253:4    0    30G  0 lvm   
|   |-vg0-tmp            253:2    0     5G  0 lvm   
|   |-vg0-root           253:0    0    10G  0 lvm   
|   |-vg0-staging_pro1 253:7    0    30G  0 lvm   
|   |-vg0-restore        253:5    0    30G  0 lvm   
|   `-vg0-home           253:3    0   140G  0 lvm   
`-sdb1                     8:17   0   512M  0 part  
  `-md0                    9:0    0 511.4M  0 raid1 
loop0                      7:0    0     2G  1 loop  
sda                        8:0    0 465.8G  0 disk  
|-sda2                     8:2    0 465.3G  0 part  
| `-md1                    9:1    0 465.1G  0 raid1 
|   |-vg0-swap           253:1    0     4G  0 lvm   
|   |-vg0-pro2          253:6    0    24G  0 lvm   
|   |-vg0-pro1         253:4    0    30G  0 lvm   
|   |-vg0-tmp            253:2    0     5G  0 lvm   
|   |-vg0-root           253:0    0    10G  0 lvm   
|   |-vg0-staging_pro1 253:7    0    30G  0 lvm   
|   |-vg0-restore        253:5    0    30G  0 lvm   
|   `-vg0-home           253:3    0   140G  0 lvm   
`-sda1                     8:1    0   512M  0 part  
  `-md0                    9:0    0 511.4M  0 raid1 

// 主引导记录

dd if=/dev/sda bs=512 count=1 | gzip -fc | lftp userxx.your-backup.de -u uxx,pw -e "put /dev/stdin -o backup-MBR-$(date +%Y%m%d%H%M).gz; quit"

// 固态硬盘

dd if=/dev/sda2 bs=2048 conv=noerror,sync | gzip -fc | lftp userxx.your-backup.de -u uxx,pw -e "put /dev/stdin -o backup-sda2-$(date +%Y%m%d%H%M).gz; quit"

// 分区表

sfdisk /dev/sda –d | gzip -fc | lftp userxx.your-backup.de -u uxx,pw -e "put /dev/stdin -o backup-sda-part-table-$(date +%Y%m%d%H%M).gz; quit"

备份文件看起来不错:

ls -lh
-rw-r--r--   1        486 Feb 10 12:51 backup-MBR-201702101351.gz
-rw-r--r--   1        143 Feb 10 15:56 backup-sda-part-table-201702101656.gz
-rw-r--r--   1      86.7M Feb 10 15:54 backup-sda1-201702101654.gz
-rw-r--r--   1     182.3G Feb 10 15:42 backup-sda2-02-201702101440.gz

答案1

您无法创建dd正在运行的系统备份,因为您很可能无法获得文件系统的一致映像。要使用该映像,dd必须未安装或以只读方式安装。

使用众多其他工具之一来进行适当的备份。

如果您dd使用的是救援系统而不是实时系统,您也可以一次备份整个sda(或sdb)。目前,您似乎缺少/dev/sda1,它很可能被劫持为/boot,其中包含您的内核(这当然是必不可少的)。此外,如果您有 MBR 分区表,则分区表将已包含在 MBR 中(当然,对于 GPT 来说情况并非如此)。

相关内容