Linode SSH 备份, 通过 Linode 面板提供的完善功能,你可以利用 SSH 将你的 Linode 整个硬盘在不同机器之间传输,即备份和恢复。同时 SSH 的这个高级用法,也非常适合在 Linux 主机之间使用。在这篇指引中,你将Get 到这项技能。
准备工作
检查接收机器已经安装好 SSH,默认已经安装。
启动 Linode 进入安全模式
在启动数据传输前,请让你的 Linode 系统进入救援模式,并启动 SSH:
- 启动并进入救援模式
- 通过 Lish 进入Linode 系统后,首先修改 root 密码:
passwd
- 输入 root 密码
- 输入以下命令启动 SSH 服务:
/etc/init.d/ssh start
Linode SSH 备份 硬盘数据
现在 Linode 已经运行在救援模式下了,你可以随心所欲的折腾你的硬盘数据了,下面是介绍如何将 Linode 硬盘通过 SSH 传输(备份)到其他主机上:
- 在接收(备份)机器上输入以下命令,将
123.45.67.89
替代为你的 Linode IP地址,以及/home/archive/linode.img
替换为你想备份到的路径:ssh root@123.45.67.89 "dd if=/dev/xvda " | dd of=/home/archive/linode.img
- 接收机器SSH 连接上 Linode后出现以下提示,输入“yes”,并回车:
The authenticity of host '123.45.67.89 (123.45.67.89)' can't be established. RSA key fingerprint is 39:6b:eb:05:f1:28:95:f0:da:63:17:9e:6b:6b:11:4a. Are you sure you want to continue connecting (yes/no)? yes
- 输入 Linode 的 root 密码:
Warning: Permanently added '123.45.67.89' (RSA) to the list of known hosts. root@123.45.67.89's password:
传输开始启动,你会看到以下结果:
4096000+0 records in 4096000+0 records out 2097152000 bytes (2.1 GB) copied, 371.632 seconds, 5.6 MB/s 4096000+0 records in 4096000+0 records out 2097152000 bytes (2.1 GB) copied, 364.002 s, 5.8 MB/s
拷贝会持续一段时间,请耐心等待,假如你看到
Write failed: Broken pipe
的错误提示,请重新执行本步骤。
检查硬盘
当备份完成后,你可以通过 mount 的方式检查传输是否有问题
- 使用 Root 用户登陆接收主机(Linux 系统):
su
- 创建目录:
mkdir linode
- 加载接收的硬盘到该目录,命令如下:
mount -o loop linode.img linode
- 输入下面命令来检查文件是否缺失:
ls linode/
你应该看到类似的文件列表,如下,表明你的传输已经成功:
bin dev home lost+found mnt proc sbin srv tmp var boot etc lib media opt root selinux sys usr
至此,你已经成功完成了 Linode 硬盘的备份。
上传硬盘数据到 Linode
当你有了一份你的 Linux 硬盘拷贝后,某天你想要恢复这个系统时,应该怎么做呢.
- 准备好一块空白的新硬盘,在 Linode 面板上选择 Add a disk(创建一块新硬盘)
- 输入 Label(名称),并分配足够的Size(大小)给新的数据。最后点击 Save Changes(保存更改)
- 启动并进入救援模式
- 登陆保存待恢复硬盘数据的主机,输入以下命令,其中
/home/archive/linode.img/为之前保存硬盘镜像的路径;
123.45.67.89
替换为你的 Linode 主机 IP。dd if=/home/archive/linode.img | ssh root@123.45.67.89 "dd of=/dev/xvda"
当传输完成,你会看到类似如下的结果:
49807360+0 records in 49807360+0 records out 25501368320 bytes transferred in 9468.878375 secs (2693177 bytes/sec) 49807360+0 records in 49807360+0 records out 25501368320 bytes (26 GB) copied, 9462.12 s, 2.7 MB/s
拷贝会持续一段时间,请耐心等待,假如你看到
Write failed: Broken pipe
的错误提示,请重新执行本步骤。
检查硬盘
和上面类似,当上传完成后,你也需要通过 mount 的方式检查传输是否有问题
- 创建目录:
mkdir linode
- 加载接收的硬盘到该目录,命令如下:
mount /dev/xvda linode
- 输入下面命令来检查文件是否缺失:
ls linode/
你应该看到类似的文件列表,如下,表明你的传输已经成功:
bin dev home lost+found mnt proc sbin srv tmp var boot etc lib media opt root selinux sys usr
从恢复硬盘启动系统
你需要创建一个新的系统配置文件,然后设置以接收到的硬盘作为启动盘。
- 在 Linode 后台面板,选择 Add a New Configuration(创建新的系统配置)
- 输入新的系统配置 Label(名称),在 Block Device Assignment (设备分配)一栏中,设置
/dev/xvda
(启动盘)为刚刚接收并恢复数据进去的新硬盘。设置 SWAP 分区到/dev/xvdb
。点击 Save changes(保存配置)。 - 回到 Linode 后台 dashboard 页面,选择刚刚创建的系统配置,并点击 Reboot(重启).
- 这样,就完成了 Linode 备份 与硬盘恢复。