查看: 48950|回复: 474

[教程] 深度解析 DSM 存储管理 及 备份建议

 火... [复制链接]

679

丝瓜

51

回帖

2

精华

普通用户

发表于 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://nas1.cn/thread-69336-1-1.html

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

其实 硬盘的选择也是比较重要的一方面,大家如果能选择带有TLER(限时错误校正) 功能的硬盘 那就会稳妥许多。 另外再加上设置文件的备份,基本上没什么大问题。当然最保险的还是再多一重备份 (网盘 之类的)。

点评

本身就是 LVM 分区、。  发表于 2014-5-22 21:38
呃……为什么不直接承认是 LVM 非要打包一下叫 SHR 呢……  发表于 2013-8-25 03:51

评分

参与人数 3丝瓜 +280 收起 理由
sancome + 100 赞一个!
老ぁ狗 + 80 很给力!
odie82544 + 100 赞一个!

查看全部评分

699

丝瓜

326

回帖

0

精华

普通用户

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

沙发占位
帮顶

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

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

使用道具 举报

1356

丝瓜

438

回帖

0

精华

普通用户

发表于 2013-5-30 16:51:53 | 显示全部楼层
顶,楼主分析的好,继续。。
回复

使用道具 举报

227

丝瓜

68

回帖

0

精华

普通用户

发表于 2013-5-30 16:52:07 | 显示全部楼层
回复

使用道具 举报

699

丝瓜

326

回帖

0

精华

普通用户

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

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

使用道具 举报

227

丝瓜

68

回帖

0

精华

普通用户

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

我想只能把套件重新装一遍了。当然,我没费心思在这上面,所以如果你找到了其它方法,也请转告我。

点评

会提示修复套件的  详情 回复 发表于 2013-9-13 09:53
回复

使用道具 举报

673

丝瓜

294

回帖

0

精华

普通用户

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

使用道具 举报

351

丝瓜

114

回帖

0

精华

普通用户

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

使用道具 举报

2615

丝瓜

1223

回帖

2

精华

普通用户

Medal No.1Medal No.2Medal No.3Medal No.4Medal No.5

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

使用道具 举报

79

丝瓜

8

回帖

0

精华

普通用户

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

使用道具 举报

988

丝瓜

375

回帖

2

精华

普通用户

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

使用道具 举报

293

丝瓜

294

回帖

0

精华

普通用户

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

要是这样的话,那不坑爹吗。。。{:3_48:}

点评

很牛,问下如果主板坏了,换了主板,数剧会丢失吗?如果引导盘坏了,重做U盘引导还可以用吗?!  详情 回复 发表于 2013-8-31 21:57
回复

使用道具 举报

601

丝瓜

243

回帖

0

精华

普通用户

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

使用道具 举报

805

丝瓜

293

回帖

0

精华

普通用户

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

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

使用道具 举报

479

丝瓜

72

回帖

0

精华

普通用户

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

使用道具 举报

0

丝瓜

2

回帖

0

精华

普通用户

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

使用道具 举报

355

丝瓜

143

回帖

0

精华

普通用户

发表于 2013-6-4 11:32:56 | 显示全部楼层
感谢分享
回复

使用道具 举报

141

丝瓜

89

回帖

0

精华

普通用户

发表于 2013-6-4 11:40:28 | 显示全部楼层
666666666666666
回复

使用道具 举报

269

丝瓜

78

回帖

0

精华

普通用户

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

使用道具 举报

6675

丝瓜

962

回帖

9

精华

贡献会员

Medal No.1Medal No.2Medal No.3Medal No.4Medal No.5Medal No.6Medal No.7Medal No.8Medal No.9Medal No.10

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号
Archiver|手机版|小黑屋|第一纳斯网

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|粤ICP备19046372号

在本版发帖
关注公众号
QQ客服返回顶部