深度解析 DSM 存储管理 及 备份建议 II
本帖最后由 wizardtt 于 2013-8-15 12:46 编辑续上贴http://www.nas1.cn/thread-64478-1-1.html。本贴主要讲述如何备份以及恢复DSM数据管理的配置信息 以及在异常情况(非物理损坏)下恢复数据,以及如何应对常见错误 “ 文件空间损毁”。 这里需要说明一点,本文只阐述DSM 硬盘文件系统配置信息的备份和恢复,这并不替代数据的备份,数据的备份还是必要的工作。
当然如果 DSM完全无法开机 就得将硬盘取出接入其他PC 用原厂提供的办法读取数据。
--〉 http://www.synology.com/support/faq_show.php?lang=enu&q_id=579
不过看完这个帖子你也就会明白 原厂提供这个办法的原理了。
下面进入正题:
I配置信息备份。
首先我们需要做的是备份硬盘分区信息 。在DSM系统中第一块硬盘的名称是 /dev/sda, 第二块 /dev/sdb 第三块 /dev/sdc 以此类推
那么查看分区信息 命令如下 (需要 用命令行登陆 DSM )DiskStation> parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VBOX HARDDISK (scsi)
Disk /dev/sda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
NumberStart End Size Type File system Flags
1 131kB 2550MB2550MBprimary ext4 raid
2 2550MB4698MB2147MBprimary linux-swap(v1)raid
3 4832MB8583MB3751MBextended lba
5 4840MB8583MB3742MBlogical raid这个分区表很重要 就像一张地图 指示了数据空间在硬盘的方位和大小。
那么如何备份呢 ? 首先我们用以下命令 得到所有分区的信息DiskStation> sfdisk -l > /var/log/sfdisk_partion_info.`date +%m%d%Y`
DiskStation> parted -l > /var/log/parted_partion_info.`date +%m%d%Y`生成的这两个文件就包含了系统内所有的分区信息。
另外还可以用底层的dd命令备份硬盘的头部信息 其中也包括了分区表的信息DiskStation> dd if=/dev/sda of=/var/log/sda_disk_head_info.`date +%m%d%Y` count=1 bs=512 所生成的文件可以拷贝在另外的地方,有了这些信息 我们就可以恢复损坏的硬盘分区信息。具体恢复的步骤 下面会详细谈到。
有了分区信息还是不够的,第二步我们要做的事情是备份 软raid信息 如下DiskStation> cat /proc/mdstat
Personalities :
md2 : active raid5 sda5 sdd5 sdc5 sdb5
10961088 blocks super 1.2 level 5, 64k chunk, algorithm 2
md1 : active raid1 sda2 sdb2 sdc2 sdd2 sde2
2097088 blocks
md0 : active raid1 sda1 sdb1 sdc1 sdd1 sde1
2490176 blocks
unused devices: <none>
DiskStation> cat /proc/mdstat > /var/log/mdstat_info.`date + %m%d%Y`这里可以看到这台DSM上软raid的详细信息,
第一个逻辑raid卷组 md0 raid级别是1 包含了5个分区 sda1,sdb1,sdc1,sdd1,sde1.
这里可以把更详细的信息做下备份DiskStation> mdadm -D /dev/md > /etc/mdadm.conf官方给的这个命令 mdadm -Asf 也只是重新生成软raid设备,但这些前提是硬盘的分区表是好的 并且 保存raid配置信息的 superblock 块也是完好的 否则运行这个命令是一定会报错的。 但如果我们事先保存了这些信息,即使报错的话还是会重新build raid 卷组。
raid信息备份完了,下面我们还需要的是备份逻辑卷(LVM)的配置信息 这个很简单DiskStation> vgcfgbackup
Volume group "vg1000" successfully backed up.生成的文件保存在 /etc/lvm/backup 也建议同前面的备份文件一起拷贝出来 单独保存。
有了这些信息 我们就有信心恢复绝大部分的文件空间方面的报错了。
未完 待续...
恩。又学习了 一招。谢谢分享。
非常感谢楼主! 谢谢奉献!!! 感谢分享,看来玩NAS linux基础很重要! 学习之中。。。 lvm备份,我觉得dsm的可靠性建立在对linux上.
不知道是否可以单纯备份系统盘. 本帖最后由 wizardtt 于 2013-8-15 13:05 编辑
amoboy 发表于 2013-8-15 12:21
lvm备份,我觉得dsm的可靠性建立在对linux上.
不知道是否可以单纯备份系统盘.
DSM的系统是分布在所有的硬盘上的,系统是运行在/dev/md0md0 是所有硬盘的第一个分区做了raid1所生成的逻辑设备。
硬件上 DS系列都内置了一块 128MB的flash disk 做启动盘。DSM的启动文件都在这flash disk 上面,系统运行文件是在 用户自己安装的硬盘上面 (md0)。这也就是为什么黑裙需要一个usb drive来引导 wizardtt 发表于 2013-8-15 12:53
DSM的系统是分布在所有的硬盘上的,系统是安装在/dev/md0上md0 是所有硬盘的第一个分区做了raid1生成的 ...
学习了.可惜linxu小白一个,看的头大 其实我只想自动备份远程PC的数据而已 期待更新。。 感谢楼主! 这样的技术贴真是给广大黑白用户一个定心丸 继续学习 这个比较复杂了,一般人可搞不定 很好的教程! 看起来很复杂的样子。 看起来很复杂的样子。
期待继续{:8_212:} 学习一下