扫描二维码关注官方公众号
返回列表 发布新帖

[玩法/技巧] 深度解析 DSM 存储管理 及 备份建议

 火...
41573 484
发表于 2013-5-30 15:19:20 | 显示全部楼层 阅读模式

来吧兄弟,一起玩一起讨论!

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 wizardtt 于 2014-2-16 21:40 编辑

使用NAS最大的担心就是存储在NAS上数据丢失,无法恢复.Synology 的DSM系统作为目前比较流行的NAS 操作系统也诸如此类的问题,用户的数据因为不当操作,突然掉电 硬盘损坏而无法读取. 其实在大多数的情况下,数据还是可以完整恢复的。 当然保持一份可用的备份才是王道。下面就详细解析DSM 系统的存储管理以及备份恢复建议。

1 存储管理基础:DSM 初始化硬盘
不论是初始安装 还是加入新的硬盘,DSM总是要对新识别的硬盘做初始化. 其初始化实质就是对硬盘划分了4个分区。以后安装DSM或划分数据空间都是基于这些分区的。
  1. DiskStation> fdisk -l /dev/sda   

  2. Disk /dev/sda: 8589 MB, 8589934592 bytes
  3. 255 heads, 63 sectors/track, 1044 cylinders
  4. Units = cylinders of 16065 * 512 = 8225280 bytes

  5.    Device Boot      Start         End      Blocks  Id System
  6. /dev/sda1               1         311     2490240  fd Linux raid autodetect
  7. Partition 1 does not end on cylinder boundary
  8. /dev/sda2             311         572     2097152  fd Linux raid autodetect
  9. Partition 2 does not end on cylinder boundary
  10. /dev/sda3             588        1044     3662816   f Win95 Ext'd (LBA)
  11. /dev/sda5             589        1044     3654768  fd Linux raid autodetect
复制代码
这个命令看的更清楚。
  1. DiskStation> parted /dev/sda
  2. GNU Parted 3.1
  3. Using /dev/sda
  4. Welcome to GNU Parted! Type 'help' to view a list of commands.
  5. (parted) p                                                               
  6. p
  7. Model: VBOX HARDDISK (scsi)
  8. Disk /dev/sda: 8590MB
  9. Sector size (logical/physical): 512B/512B
  10. Partition Table: msdos
  11. Disk Flags:

  12. Number  Start   End     Size    Type      File system     Flags
  13. 1      131kB   2550MB  2550MB  primary   ext4            raid
  14. 2      2550MB  4698MB  2147MB  primary   linux-swap(v1)  raid
  15. 3      4832MB  8583MB  3751MB  extended                  lba
  16. 5      4840MB  8583MB  3742MB  logical                   raid
复制代码
从DSM 命令行输出我们可以看到 sda (通常是第一块硬盘)被划分了 四个分区,其中 第一个和第二个分区的大小是固定的(基于硬件型号一致的前提) 。硬盘剩下的空间都被划分给了 sad3 和 sda5。sda3 是扩展分区,sda5 是用户数据区。

第一个分区是 DSM 安装分区,DSM操作系统 以及后来安装的组件 应用都在这个分区上。 第二个分区是 swap 换页空间。 这两个分区大小是固定的也没必要更改。

2 Software Raid (软raid) DSM 数据保护核心。

当DSM安装好以后 我们登陆DSM命令行界面的时候 我们发现DSM 的根文件系统是在/dev/md0 上面的
  1. DiskStation> df -h
  2. Filesystem                Size      Used Available Use% Mounted on
  3. /dev/md0                  2.3G    370.4M      1.9G  16% /
  4. /tmp                    500.3M    396.0K    500.0M   0% /tmp
复制代码
其实 md0 是Linux software raid 所生成的逻辑设备。在DSM系统内 md0 是建立所有硬盘的第一个分区之上,raid 级别是 raid1。 换句话说 DSM 操作系统是安装在所有硬盘上的 这也保证了操作系统的冗余和安全。
以下例子可以看到 在4块硬盘的情况下 md0 分布在 sda1,sdb1,sdc1.sdd1
  1. DiskStation> raidtool status 0
  2. /dev/md0 is running, status: DEGRADE, rebuilding: None
  3. Device level: RAID 1
  4. Device size: 2431 MB (2549940224 bytes)
  5. Disk:
  6.          [/dev/sdd1: Normal]
  7.          [/dev/sdc1: Normal]
  8.          [/dev/sdb1: Normal]
  9.          [/dev/sda1: Normal]
复制代码
那么md1 是什么呢?  swap 换页空间. 对了,swap 空间是 md1 建立在所有硬盘的的二个分区。也是采用raid1 保证冗余和安全。
  1. DiskStation> raidtool status 1
  2. /dev/md1 is running, status: DEGRADE, rebuilding: None
  3. Device level: RAID 1
  4. Device size: 2047 MB (2147418112 bytes)
  5. Disk:
  6.          [/dev/sdd2: Normal]
  7.          [/dev/sdc2: Normal]
  8.          [/dev/sdb2: Normal]
  9.          [/dev/sda2: Normal]
复制代码
同理 md2 就是真正用来存放数据的空间了。建立在所有硬盘的第四个分区上。
  1. DiskStation> raidtool status 2
  2. /dev/md2 is running, status: NORMAL, rebuilding: None
  3. Device level: RAID 5
  4. Device size: 7136 MB (7482769408 bytes)
  5. Disk:
  6.          [/dev/sdd5: Normal]
  7.          [/dev/sdb5: Normal]
  8.          [/dev/sda5: Normal]
复制代码
下面将解析下 DSM 的 SHR 以及相应的 raid 信息的 备份以及恢复。

下面我们来解析SHR, 根据群晖的说法 SHR能更好的利用硬盘空间 尤其是在不同大小的硬盘上提供数据保护。那么我们看看命令行下 SHR 卷到底是什么?
  1. DiskStation> df -h
  2. Filesystem                Size      Used Available Use% Mounted on
  3. /dev/md0                  2.3G    370.4M      1.9G  16% /
  4. /tmp                    500.3M    344.0K    500.0M   0% /tmp
  5. /dev/vg1000/lv           10.3G    204.6M     10.0G   2% /volume1
复制代码
这里我们创建了一个名为 Volume1 的 SHR 卷。 在这里出现在命令行界面的是名为 Volume1 的文件系统,其中的vg lv 字眼指示了 这其实是LVM 逻辑卷。 是的,所谓的SHR 就是Linux LVM(Logical Volume Management)逻辑卷管理的马甲。这也就解释了为什么SHR能自由定义/变更文件系统大小,以及能利用不同大小的硬盘空间的优势。这些都是LVM的特性。

这里 LVM的基本概念 PE LV PV VG 就不多解释了,有兴趣可以自己baidu下。

我们再深入看一下 SHR的 LV PV VG 是什么
  1. DiskStation> pvs
  2.   PV         VG     Fmt  Attr PSize  PFree
  3.   /dev/md2   vg1000 lvm2 a-   10.45G    0
  4. DiskStation> vgs
  5.   VG     #PV #LV #SN Attr   VSize  VFree
  6.   vg1000   1   1   0 wz--n- 10.45G    0
  7. DiskStation> lvs
  8.   LV   VG     Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  9.   lv   vg1000 -wi-ao 10.45G                                      
复制代码
在这个实验环境中 可以看到 SHR卷十建立在 名为 lv的 logical volume (LV) 名为vg1000 的Volume Group(VG) 之上的。这里LV占用了VG的全部空间,如果VG 还有可用空间的话 LV可以在线扩容。也可以在线扩容VG的空间。 这些都是LVM带来的灵活性 自然也作为SHR的特点来宣传了。

在这里我们注意到 PV 是 /dev/md2 就是我们前面提到的 软raid的逻辑设备。

简而言之 DSM 初始化硬盘 其中的sd*5是用户数据区。DSM基于所有硬盘的 sd*5 做软raid 。之后所生成的 逻辑设备上(md*)建立LVM卷组。创建文件系统。
  1. DiskStation> pvdisplay /dev/md2
  2.   --- Physical volume ---
  3.   PV Name               /dev/md2
  4.   VG Name               vg1000
  5.   PV Size               10.45 GB / not usable 4.19 MB
  6.   Allocatable           yes (but full)
  7.   PE Size (KByte)       4096
  8.   Total PE              2675
  9.   Free PE               0
  10.   Allocated PE          2675
  11.   PV UUID               6yhBTB-VaZC-JZ3q-rjdP-479v-IxR3-XpU7Je
  12.    
  13. DiskStation> lvdisplay /dev/vg1000/lv
  14.   --- Logical volume ---
  15.   LV Name                /dev/vg1000/lv
  16.   VG Name                vg1000
  17.   LV UUID                O9I1oQ-56S5-etWE-Z2J3-SHDb-i1D4-T0BlXH
  18.   LV Write Access        read/write
  19.   LV Status              available
  20.   # open                 1
  21.   LV Size                10.45 GB
  22.   Current LE             2675
  23.   Segments               1
  24.   Allocation             inherit
  25.   Read ahead sectors     auto
  26.   - currently set to     4096
  27.   Block device           253:0
  28.    
  29. DiskStation> vgdisplay vg1000
  30.   --- Volume group ---
  31.   VG Name               vg1000
  32.   System ID            
  33.   Format                lvm2
  34.   Metadata Areas        1
  35.   Metadata Sequence No  2
  36.   VG Access             read/write
  37.   VG Status             resizable
  38.   MAX LV                0
  39.   Cur LV                1
  40.   Open LV               1
  41.   Max PV                0
  42.   Cur PV                1
  43.   Act PV                1
  44.   VG Size               10.45 GB
  45.   PE Size               4.00 MB
  46.   Total PE              2675
  47.   Alloc PE / Size       2675 / 10.45 GB
  48.   Free  PE / Size       0 / 0   
  49.   VG UUID               07HKKF-v7ns-tPYg-rFrP-W1MM-GT4N-Utv2Bo
  50.    
  51. DiskStation>
复制代码
游客,如果您要查看本帖隐藏内容请回复


待续。。

续篇 见 http://www.gebi1.com/thread-69336-1-1.html

PS 如果有什么问题 可以发消息给我 我会尽力解答。并且逐步完善数据恢复的步骤。

其实 硬盘的选择也是比较重要的一方面,大家如果能选择带有TLER(限时错误校正) 功能的硬盘 那就会稳妥许多。 另外再加上设置文件的备份,基本上没什么大问题。当然最保险的还是再多一重备份 (网盘 之类的)。
本身就是 LVM 分区、。 
发表于 2014-5-22 21:38
呃……为什么不直接承认是 LVM 非要打包一下叫 SHR 呢…… 
发表于 2013-8-25 03:51

本帖被以下淘专辑推荐:

评论484

ko74110Lv.10 发表于 2013-5-30 15:39:27 | 显示全部楼层
本帖最后由 ko74110 于 2013-5-30 15:44 编辑

沙发占位
帮顶

请教个问题,一块硬盘A装了dsm,之后添加了一些套件,设置了些参数。
然后我添加了硬盘B,添加成功后。B盘里的系统部分是不是和A盘里做过更改的系统部分一样的了

也就是说添加B硬盘后,撤掉A硬盘,是不是完全不影响更改过的套件之类的使用,和之前没添加B硬盘一样
回复 点赞

使用道具 举报

超导体Lv.10互助团队 发表于 2013-5-30 16:51:53 | 显示全部楼层
顶,楼主分析的好,继续。。
回复 点赞

使用道具 举报

夜雨孤舟Lv.3 发表于 2013-5-30 16:52:07 | 显示全部楼层
回复 点赞

使用道具 举报

ko74110Lv.10 发表于 2013-5-30 17:42:57 | 显示全部楼层
夜雨孤舟 发表于 2013-5-30 16:52
不是的。套件安装的时候会让你选择安装在哪个存储空间,其它的存储空间上是没有的。 ...

那我后期想加硬盘怎么弄呢
回复 点赞

使用道具 举报

夜雨孤舟Lv.3 发表于 2013-5-30 17:55:53 | 显示全部楼层
ko74110 发表于 2013-5-30 17:42
那我后期想加硬盘怎么弄呢

我想只能把套件重新装一遍了。当然,我没费心思在这上面,所以如果你找到了其它方法,也请转告我。
会提示修复套件的  详情 回复
发表于 2013-9-13 09:53
回复 点赞

使用道具 举报

sunmode2200Lv.4 发表于 2013-5-30 21:07:13 | 显示全部楼层
谢谢分享。
回复 点赞

使用道具 举报

sqxiaofeiLv.4 发表于 2013-5-30 21:28:42 来自手机 | 显示全部楼层
前排,作者辛苦。好人一生平安
回复 点赞

使用道具 举报

fubin99Lv.7 发表于 2013-5-30 22:14:45 | 显示全部楼层
非常专业。对于我想使用黑群辉帮助很大。期待作者快快完成嘿嘿
回复 点赞

使用道具 举报

luckybirdpanLv.2 发表于 2013-5-31 14:16:09 | 显示全部楼层
写得很好。可惜我的4.2安装不上。
回复 点赞

使用道具 举报

jimmyjinLv.6 发表于 2013-5-31 16:08:24 | 显示全部楼层
LZ的研究, 能否让我们尽情折腾黑群晖, 而保留数据呢?
我现在的问题就是老想在各个版本间折腾, 但是黑群晖里已经有了RAID5和大把数据, 重装黑群晖的话, 原来系统里用的硬盘又要初始化, 数据全丢, 这个伤不起啊!
回复 点赞

使用道具 举报

stevenjtxLv.10 发表于 2013-5-31 23:31:56 | 显示全部楼层
jimmyjin 发表于 2013-5-31 16:08
LZ的研究, 能否让我们尽情折腾黑群晖, 而保留数据呢?
我现在的问题就是老想在各个版本间折腾, 但是黑群 ...

要是这样的话,那不坑爹吗。。。{:3_48:}
很牛,问下如果主板坏了,换了主板,数剧会丢失吗?如果引导盘坏了,重做U盘引导还可以用吗?!  详情 回复
发表于 2013-8-31 21:57
回复 点赞

使用道具 举报

amoboyLv.10 发表于 2013-6-4 09:41:31 | 显示全部楼层
看看先这个不错的
回复 点赞

使用道具 举报

domwongLv.10 发表于 2013-6-4 10:15:15 | 显示全部楼层

顶,楼主分析的好,继续。。
回复 点赞

使用道具 举报

kevinokLv.4 发表于 2013-6-4 11:05:47 | 显示全部楼层
顶层国防部放松
回复 点赞

使用道具 举报

elover345 发表于 2013-6-4 11:06:49 | 显示全部楼层
好复杂啊。
回复 点赞

使用道具 举报

simon.hua.xwLv.3 发表于 2013-6-4 11:32:56 | 显示全部楼层
感谢分享
回复 点赞

使用道具 举报

1190839Lv.3 发表于 2013-6-4 11:40:28 | 显示全部楼层
666666666666666
回复 点赞

使用道具 举报

iamarkLv.3 发表于 2013-6-4 14:24:38 | 显示全部楼层
正准备给黑群晖扩容呢。
回复 点赞

使用道具 举报

odie82544Lv.10 发表于 2013-6-4 15:06:14 | 显示全部楼层
楼主分析的好,继续
回复 点赞

使用道具 举报

回复

懒得打字嘛,点击右侧快捷回复 【本站酷狼4T,750元】
您需要登录后才可以回帖 登录 | 注册

本版积分规则

投诉/建议联系

support@gebi1.cn

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 隔壁网 版权所有 All Rights Reserved. 粤ICP备14056481号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表