A-A+

阿里云Linux服务器数据丢失又找回

2015年02月05日 Linux 暂无评论 阅读 4,964 views 次

今天客户有台阿里云的linux服务器出现了问题,需要重装系统。本来是很常见的操作,确遇到了很奇葩的问题,写这篇日志以记录之。

 

该客户的阿里云除了系统盘还有额外购买的一块数据盘,而且/mnt目录下已经有2个网站,直接导致我先入为主的认为/mnt目录已经挂载了数据盘。

因为网站数据太大,我就不打算下载备份,直接备份到/mnt目录,做好系统盘和数据盘的快照,然后重新装系统,装好系统挂载数据盘,显示无数据,(注意,linux挂载数据盘后可以看到数据盘的文件,但所挂载耳朵原文件夹下的文件就会看不见,unmount之后可以看见)。当时头脑发热把这个理论搞反了,以为只是看不到数据盘的数据,于是我到阿里云管理面板回滚数据盘的快照,结果更吃惊,显示数据盘还没分区!!这什么情况???!!!

这种现象不得不让我想到:其实他之前根本没有挂载数据盘,/mnt目录其实在系统盘!

 

于是我打算回滚系统盘的快照,只要回滚了系统盘的快照就可以找回数据,结果吃惊的发现系统盘的快照没了!!我勒个去,明明那么多系统盘快照,咋没了呢?这下咋办,数据没了,怎么向客户交代。于是向阿里云客服沟通,终于知道:只要更换系统,系统盘的快照就会删除掉,但是手动创建快照还在,虽然“本实例快照”下确实看不到了,但在“全部快照”里面可以找到手动备份的快照,注意只有手动备份的系统盘快照!

(这里可以看出手动快照的重要性,千万不要对阿里云的自动快照太过依赖,我很庆幸之前虽然看到了有今上午5点的自动快照但没有偷懒,还是手动快照了一下,不然数据真没了)

接着说,找到之前手动创建的快照后点击“创建自定义镜像”命名诶“系统盘20150205”,然后重新安装系统,系统盘选择“自定义镜像”找到“系统盘20150205”,OK,等待还原镜像完毕。

 

还原完毕后,登录,果然找到了/mnt目录下原来备份的数据,NND,果然之前没有使用系统盘。

 

文件找到后,继续之前的思路操作;

一、挂载数据盘

1、查看当前分区情况:

#df -h

#fdisk -l

2、数据盘没分区和格式化之前是不能挂载的,先分区和格式化

(1)分区:

#fdisk -S 56 /dev/xvdb

根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了。

分区完成使用“fdisk -l”命令可以看到,新的分区xvdb1已经建立完成了

(2)格式化新分区:

#mkfs.ext3 /dev/xvdb1

(也可自主决定选用其它文件格式,如ext4等)

(3)添加分区信息

#echo '/dev/xvdb1 /disk2 ext3 defaults 0 0' >> /etc/fstab

其中/disk2就是你要挂载的点,一般设置为/mnt,根据情况设置。我这里因为/mnt目录有数据,如果挂载到/mnt目录就看不到原来/mnt目录的数据,所以建立了/disk2目录来挂载硬盘,以便把/mnt备份的文件拷贝到数据盘/disk2。

然后使用“cat /etc/fstab”命令查看到添加分区信息成功。

(4)挂载分区

mount -a

挂载好后,使用df -h可以看到挂载成功!

 

3、转移/mnt目录备份的数据到数据盘/disk2

4、转移完数据后就可以去重装系统了;

5、重装好系统,挂载数据盘,因为之前已经分区和格式化好了,所以直接2步搞定:

添加分区信息:#echo '/dev/xvdb1 /disk2 ext3 defaults 0 0' >> /etc/fstab

挂载:#mount -a

6、装好服务器环境,还原数据库,一切搞定!

标签:

给我留言