Atlas 200DK系统折腾纪实:(8)关于系统备份的123。。。

网友投稿 762 2022-05-29

笔者之前折腾Atlas200 DK的博客是分7篇发的:

华为Atlas 200DK初体验——写在昇腾新品发布的第二天  https://bbs.huaweicloud.com/blogs/193847

Atlas 200DK系统折腾纪实:(1)论图片及18.04.1的诞生  https://bbs.huaweicloud.com/blogs/194291

Atlas 200DK系统折腾纪实:(2)视频的诞生 https://bbs.huaweicloud.com/blogs/194641

Atlas 200DK系统折腾纪实:(3)强大的yolo3物体检测——你想看的内容已被系统提取 https://bbs.huaweicloud.com/blogs/194816

Atlas 200DK系统折腾纪实:(4)18.04.1的软件安装及双系统切换验证 https://bbs.huaweicloud.com/blogs/195227

Atlas 200DK系统折腾纪实:(5)Atlas让黑白照片原彩重现 https://bbs.huaweicloud.com/blogs/195391

Atlas 200DK系统折腾纪实:(6)Atlas让黑白视频原彩重现 https://bbs.huaweicloud.com/blogs/195590

Atlas 200DK系统折腾纪实:(7)流媒体人体检测 https://bbs.huaweicloud.com/blogs/195833

所以今天用8档起步。。。

话说,经过笔者这么长时间的折腾,一直在考虑一个问题,要是系统坏了咋办?比如,如果虚拟机的ubuntu系统坏了,怎么恢复?如果开发板的ubuntu系统坏了,怎么修复?还是像我前面的博客那样按照手册装半天吗?显然不是一个好的办法。

由于一开始虚拟机使用VMWare装的,@Jokey 大大指出,VMWare其实是有快照功能的。。

可以通过拍摄快照来做备份,然后通过快照管理器来进行管理:比如把快照恢复到系统中。

不过笔者本人对这个高大上的东西总是有点不大敢尝试,笔者的土办法是:先Shutdown系统,然后找到VMWare虚拟机所在的数据文件目录,将这个目录复制一份。

因为笔者认为与其做快照恢复,还不如直接改个目录名称,直接打开就完了。。。。这样也许最快。

毕竟Vmware的虚拟机发生故障,或者因为笔者安装软件包错误,(比如错误地把16.04升级导致系统无法运行等等),造成软件无法运行的可能性还是有的。谁都不是完人,何况笔者这种小白。

所以,笔者在进行重大安装的时候(比如在空白的Unbuntu 18.04上装atlas 200DK的软件包),都会考虑将之前的目录备份一下(记得一定要在关机的情况下备份才保险)

这样,原来的那个系统,不仅可以给你装200DK的软件包,还可以给你装其他系统玩别的东西。。这样子下来,atlas 200DK的虚拟机备份的事情就解决了。

那么怎么恢复呢?也很简单,像上图的例子,将ATLAS200DK的目录改名为ATLAS200DK-old,然后将ATLAS200DK-20200830的目录拷贝一份到ATLAS200DK就行了(为什么不用改名而用复制,因为你总要留一个好的备份在。不然当你这个系统也给你装坏了,那就没有好的系统玩了。。。)——其实这点有点像小时候玩游戏,把最好的记录存档下来。然后接着最好的记录往下打,一旦打的不好,就重启加载那个记录继续重打。。。)

那我们就来谈一谈难度有点高的开发板的SD卡的备份吧。

我们知道,开发板的SD卡,其实是手机卡MicroSD卡,俗称TF卡。

真正的SD卡应该是原来照相机里面用的那种大卡:

但是我们这里还是把前面那个卡叫做SD卡。

这个SD卡如果在虚拟机里面直接看,是这样的情况:(可以使用root用户fdisk -l,也可以使用ascend用户做sudo fdisk -l)

从开发板拔出来,插入USB接口的TF卡读卡器,是这样的情况:

可见,这个16.04的ubuntu ARM系统有三个分区。原来打算使用Win32DiskImager进行备份,后来发现,好像没法选择三个分区(只能选择盘符)

好像貌似镜像在windows上不大好做。

那么,我们还是把卡切换到虚拟机的系统中去。(具体方法是在虚拟机VMWare的菜单:虚拟机-可移动设备-Realtek USB3.0-CRW-连接)

上面Realtek USB3.0-CRW 是我的USB读卡器的设备名,大家自己的USB读卡器可能是别的名称。

这样,又可以用sudo fdisk -l看到SD卡的信息:(跟前面的图一样不贴了)

下面的骚操作借鉴了这段博客:https://blog.csdn.net/running_free/article/details/103028160

首先开一个Terminal窗口,执行以下命令:

执行完会显示以下窗口:

然后,在原来的终端,执行以下命令:

这样,可以依次看到 系统从/dev/sdb的sd卡读取信息,通过gzip压缩后写入到altas200dk_v16.gz文件的进度。。。

直到上面的画面出现,16G的内容就都被复制成功了。

让我们看一下复制的结果:

不好意思,前面dd命令的gz文件名敲错了,atlas敲成了altas...没关系,名字mv一下就可以。

可见。16G的SD卡,最后的镜像压缩后大概是991M左右。

我们可以及时地将这个gz文件用scp拷贝出来。以后待用。

下面,我们需要做的事情是找到另外一张SD卡:

同样的方法,将其挂到虚拟机中:(里面的东西记得备份。。。但是没必要删除,因为恢复镜像的时候会自动覆盖)

然后再看看这张卡的信息:

它的磁盘名称也叫/dev/sdb,只不过原来是一个分区。

那我们来试着恢复吧。。。。

记得,前面的那个watch命令的窗口不要关(如果你是十年以后做的恢复,那也麻烦把那个watch命令用新的终端启动下。。。)

唉,感觉这张卡速度好慢。会不会做完后启动不起来呢?早知道拿个高速卡试一下了(旁白:你给我钱买的额外的高速卡?)

不管了,先耐心等待吧。。。

好像有点不妙。。。怎么有个错误?

仔细再看一下,如果不是卡坏了,就是两张卡有点不一致:

源卡:

目的卡:

感觉不行。这卡不仅速度慢,还比源卡容量小。。小了0.1G。。。唉,三星你做sd卡就为了省这0.1G吗?看来我要禁用你了。。。。

那怎么办?再找一张卡试验吧。。。还能怎样?

笔者只好把原来放在小米摄像机里面的TF(SD)卡取出来。。。

居然有32G。

也不知道16G的镜像如果还原到32G的卡上是否可以?

笔者自己猜想:按理说应该是将 16G的内容全部映射过去,剩下的可能就是未分区的空间。。也不知道这种猜想对不对。反正继续开干吧。。

从速度上来说,好像比原来16G卡写入的速度要快1倍。。。

继续等(中途经过吃饭,睡觉,等一系列环节。。。)

中途看了看,已经dd超出了原来16G卡的出错范围。。。看来要等到16G的内容全部dd完毕才行。。。

继续等吧。。。。

2/3的进度。。。

Atlas 200DK系统折腾纪实:(8)关于系统备份的123。。。

终于dd成功了。

先记下这个时刻,共耗时4662.43秒,也就是73.3333分钟。。1小时加1刻钟左右。如果后面能启动成功的话,这样的时间还是值得的。毕竟不要装那些东西了。。。(不过32G的18.04可能时间要double,笔者突然庆幸自己是用16G的16.04做的实验。。。)

那我们试一下能不能用新卡启动开发板吧。。。。

拔卡的时候注意点:

断开虚拟机后,弹出个窗口:

那是windows 10识别出来SD卡了。可你千万不要将其格式化。。

你可以去看看计算机管理看看这张卡的分区情况:

果然,前面的部分应该跟源卡是吻合的,后面14G左右没有分配空间。。。看来可行。。。

为了保险,我们再次安全地断掉硬件:

将其插入到开发板:

为了证明真实性,笔者将两张原来的卡放在旁边:

加电启动:

发现了sd卡:

连接后ssh登录开发板:

一切正常。。。(如果一开始没显示出网卡地址,可以重启下虚拟机再连接)

笔者就这样完成了16.04卡的备份和还原。。。

下面再试一下18.04卡的备份,还原就不试了。。。

过程跟前面16.04的同样,这里只贴几张截图:

watch启动后:

查看sd卡信息:

执行dd:

速度感觉非常快啊 。。。。毕竟是自称是90M/s的卡。。。

dd成功结束:

花了12分钟。。应该还是蛮值得的。

最后备份的压缩包有2.2G左右。赶紧将其备份出来吧。。。

今天的博文到此结束,观众可以撒花了。。。

BTW:我要去东哥那里买卡了。买两张32G的卡,做个备份还是值得的。。。至于这张卡,还得还原到小米摄像头上去,不然家里东西被偷了都没有记录。。。

(全文完,谢谢阅读)

EI企业智能 昇腾 华为Atlas 200 DK AI开发者套件

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:华为云DevCloud助力星华智能云时代DevOps转型
下一篇:SDN第二章 Ubuntu系统常用操作命令
相关文章