找回密码
 立即注册
[string global_login_extra]

QQ登录

只需一步,快速开始

扫一扫,访问移动社区

查看: 10480|回复: 21

[问答] 解释一下QNAP“在线RAID……”是如何实现的!

[复制链接]

该用户从未签到

102

丝瓜

29

回帖

0

精华

普通用户

发表于 2009-4-16 14:42:25 | 显示全部楼层 |阅读模式

注册后可查看完整内容!

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

×
本帖最后由 zongyongchun 于 2009-5-1 10:44 编辑

解释一下QNAP“在线RAID容量扩充”和“在线RAID组态迁移”是如何实现的!

目前已经测试完“在线RAID容量扩充”,“在线RAID组态迁移”稍后补充。

全部技术基于Linux Mdadm,LVM2。
  • TA的每日心情
    开心
    2017-2-24 13:01
  • 签到天数: 86 天

    [LV.6]常住居民II

    4万

    丝瓜

    2823

    回帖

    83

    精华

    管理员

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

    QQ
    发表于 2009-4-16 18:20:00 | 显示全部楼层
    应该有点像网件的x-raid功能吧,比如四个盘位的你用了3个盘位1t的容量做raid5,那么当你要再加一个1t的硬盘的时候,本身已经做了raid5,如果没有这个技术那么就得整个raid重新做过才行,而有这个功能那么就不用他可以把新的硬盘自动加入raid5里面,这样就不用去迁移数据了。
    重新起航,找回失去的东西!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-24 13:01
  • 签到天数: 86 天

    [LV.6]常住居民II

    4万

    丝瓜

    2823

    回帖

    83

    精华

    管理员

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

    QQ
    发表于 2009-4-16 18:21:00 | 显示全部楼层
    在线RAID容量扩充
      RAID容量扩充让您可在保留所有数据、不停机的情况下,一步一步地顺利的进行RAID容量扩充。

    在线RAID组态迁移
      在线RAID组态迁移让您透过简易步骤,在不停机且保留数据的状态下进行RAID等级迁移。
    重新起航,找回失去的东西!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-24 13:01
  • 签到天数: 86 天

    [LV.6]常住居民II

    4万

    丝瓜

    2823

    回帖

    83

    精华

    管理员

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

    QQ
    发表于 2009-4-16 18:24:44 | 显示全部楼层
    组态迁移就是把比如raid1换成raid5,而不用重新做raid。
    重新起航,找回失去的东西!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-10-31 16:31
  • 签到天数: 2 天

    [LV.1]初来乍到

    901

    丝瓜

    261

    回帖

    14

    精华

    贡献会员

    发表于 2009-4-16 18:30:15 | 显示全部楼层
    一个简单的概念,厂家咋搞的那么复杂,官方解释也没有一点水平。
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-10-31 16:26
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    5049

    丝瓜

    596

    回帖

    18

    精华

    普通用户

    发表于 2009-4-16 18:33:57 | 显示全部楼层
    是不是堆叠呢?把两个nas合并起来?
    回复

    使用道具 举报

    该用户从未签到

    102

    丝瓜

    29

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2009-4-18 00:44:06 | 显示全部楼层
    概念,我都很清楚的,我是做企业级存储的,这些功能在企业级存储里是很常见的,但我也一直没有深入研究,一直认为这是需要借助 硬件RAID来实现的。我这里问的是“实现”,一个可以在Linux里模拟出来的“技术”。

    淘宝的卖家告诉我 Synology、QNAP、Thecus 都是 Soft RAID。

    大家也都知道这些NAS产品是Linux做的,X-Raid 我不清楚,但是我想Qnap还不至于为了“实现”这些功能去写新的代码,利用现有的技术应该就可以做到了。但是,这话又说回来,如果真是这样的话,Synology、Thecus 岂不是也可以做到?

    点评

    这些都是linux里的功能,产家不过是做了UI  详情 回复 发表于 2013-6-28 01:49
    回复

    使用道具 举报

  • TA的每日心情

    2014-5-28 07:47
  • 签到天数: 85 天

    [LV.6]常住居民II

    4125

    丝瓜

    824

    回帖

    7

    精华

    普通用户

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

    发表于 2009-4-26 10:07:17 | 显示全部楼层
    在线RAID的要求是你以前做过RAID了,以后更换硬盘,只要"扩充容量"就行了,你可以到这个http://duangx.cn/819.html(我的博客)里看看.
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-12-2 19:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    162

    丝瓜

    54

    回帖

    0

    精华

    普通用户

    发表于 2009-4-30 09:28:01 | 显示全部楼层
    本帖最后由 老李菜刀 于 2009-4-30 09:48 编辑

    在线RAID组态迁移
      在线RAID组态迁移让您透过简易步骤,在不停机且保留数据的状态下进行RAID等级迁移。

    仔细看了一下qnap raid管理工具那页的说明,在线RAID组态迁移过程中有:所有硬盘数据会清除,是否继续的选项

    在线RAID容量扩充之硬盘容量扩充没看到这样的选项,但linux的mdadm确实没这样的功能,我估计也不会保留原有数据,下次等我容量用完后换更大的硬盘试试,不过试之前一定要备份数据,理论上保留原有数据确实不可能
    老李菜刀' Blog
    TS409 Pro 低价转让ing......
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-12-2 19:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    162

    丝瓜

    54

    回帖

    0

    精华

    普通用户

    发表于 2009-4-30 09:53:48 | 显示全部楼层
    或许是用了网件的专利技术X-raid吧
    回复

    使用道具 举报

    该用户从未签到

    102

    丝瓜

    29

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2009-4-30 12:04:09 | 显示全部楼层
    我自己用旧PC和Linux做了一个4*1.5TB的NAS,Soft-Raid5,已经因为SATA接口或线缆的原因,中断了2次了,也就是需要Recover 2次。

    这两天查了一下,mdadm  --grow 应该是可以实现在线RAID扩容的,等我用虚拟机测试好了,再贴上来吧。

    而且 mdadm --re-add 也比较有意思,值得去研究一下。

    感谢楼上两位!
    回复

    使用道具 举报

    该用户从未签到

    102

    丝瓜

    29

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2009-4-30 12:34:48 | 显示全部楼层
    在线RAID的要求是你以前做过RAID了,以后更换硬盘,只要"扩充容量"就行了,你可以到这个http://duangx.cn/819.html(我的博客)里看看.
    fttbcm 发表于 2009-4-26 10:07


    没有看到你的关于 “容量扩充”的部分啊?
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-12-2 19:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    162

    丝瓜

    54

    回帖

    0

    精华

    普通用户

    发表于 2009-4-30 12:36:57 | 显示全部楼层
    mdadm -G 我用过在线扩充整个阵列容量,  但在线扩充阵列里的每个硬盘的容量不知道行不行

    你说的后面那个命令还没用过

    有时间也用vm试试看
    老李菜刀' Blog
    TS409 Pro 低价转让ing......
    回复

    使用道具 举报

    该用户从未签到

    102

    丝瓜

    29

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2009-4-30 23:38:23 | 显示全部楼层
    本帖最后由 zongyongchun 于 2009-5-1 00:21 编辑
    mdadm -G 我用过在线扩充整个阵列容量,  但在线扩充阵列里的每个硬盘的容量不知道行不行

    你说的后面那个命令还没用过

    有时间也用vm试试看
    老李菜刀 发表于 2009-4-30 12:36


    在线扩充阵列里的每个硬盘的容量?什么意思?
    就是挨个换大的硬盘的意思?
    回复

    使用道具 举报

    该用户从未签到

    102

    丝瓜

    29

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2009-4-30 23:39:42 | 显示全部楼层
    本帖最后由 zongyongchun 于 2009-5-1 00:29 编辑

    贴一下 QNAP 官网的 关于在线扩容 和 在线RAID模式升级 的介绍:
    http://www.qnap.com/cht/pro_features_RLM.asp

    下面的实验,模拟上面链接里 250GB*4 RAID5 在线扩充为 1TB*4 RAID5的例子。
    在换前3块盘的时候,总容量是没有任何改变的;当更换最后一块盘以后,总容量才改变。
    这个例子似乎与X-Raid不同。


                                   
    登录/注册后可看大图
    回复

    使用道具 举报

    该用户从未签到

    102

    丝瓜

    29

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2009-5-1 00:06:24 | 显示全部楼层
    本帖最后由 zongyongchun 于 2009-5-1 00:35 编辑

    先不考虑现实中热插拔硬盘的支持部分。

    实验完毕,贴一下:
    1.创建4个100MB和1个50MB的文件,预备作为虚拟磁盘。
    [root@node02 ~]# dd if=/dev/zero of=01.img bs=1M count=100
    100+0 records in
    100+0 records out
    104857600 bytes (105 MB) copied, 0.202768 seconds, 517 MB/s
    [root@node02 ~]# dd if=/dev/zero of=02.img bs=1M count=100
    100+0 records in
    100+0 records out
    104857600 bytes (105 MB) copied, 0.833963 seconds, 126 MB/s
    [root@node02 ~]# dd if=/dev/zero of=03.img bs=1M count=100
    100+0 records in
    100+0 records out
    104857600 bytes (105 MB) copied, 0.20868 seconds, 502 MB/s
    [root@node02 ~]# dd if=/dev/zero of=04.img bs=1M count=100
    100+0 records in
    100+0 records out
    104857600 bytes (105 MB) copied, 0.217478 seconds, 482 MB/s
    [root@node02 ~]# dd if=/dev/zero of=05.img bs=1M count=50
    50+0 records in
    50+0 records out
    52428800 bytes (52 MB) copied, 0.109192 seconds, 480 MB/s

    2.
    [root@node02 ~]# losetup /dev/loop0 01.img
    [root@node02 ~]# losetup /dev/loop1 02.img
    [root@node02 ~]# losetup /dev/loop2 03.img
    [root@node02 ~]# losetup /dev/loop3 04.img
    [root@node02 ~]# losetup /dev/loop4 05.img

    3.用3个100MB和一个50MB的“盘”做一个RAID5,模拟成QNAP上面扩容的第4幅图的场景。这时的RAID大小为3*50MB = 150MB大小的盘。
    [root@node02 ~]# mdadm -CR /dev/md0 -l5 -n4 /dev/loop[0-2] /dev/loop4 --assume-clean (-b internal)(bitmap模式)
    mdadm: largest drive (/dev/loop0) exceed size (51136K) by more than 1%
    mdadm: array /dev/md0 started.

    [root@node02 ~]# cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 loop4[3] loop2[2] loop1[1] loop0[0]
          153408 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

    unused devices: <none>

    [root@node02 ~]# mdadm -D /dev/md0
    /dev/md0:
            Version : 00.90.03
      Creation Time : Thu Apr 30 21:15:09 2009
         Raid Level : raid5
         Array Size : 153408 (149.84 MiB 157.09 MB)
      Used Dev Size : 51136 (49.95 MiB 52.36 MB)
       Raid Devices : 4
      Total Devices : 4
    Preferred Minor : 0
        Persistence : Superblock is persistent

        Update Time : Thu Apr 30 21:15:09 2009
              State : clean
    Active Devices : 4
    Working Devices : 4
    Failed Devices : 0
      Spare Devices : 0

             Layout : left-symmetric
         Chunk Size : 64K

               UUID : 8194e2d6:843e2352:c335957f:1051c266
             Events : 0.1

        Number   Major   Minor   RaidDevice State
           0       7        0        0      active sync   /dev/loop0
           1       7        1        1      active sync   /dev/loop1
           2       7        2        2      active sync   /dev/loop2
           3       7        4        3      active sync   /dev/loop4

    4.模拟换最后一块100MB的盘(即删除50MB,加入100MB的盘)。
    [root@node02 ~]# mdadm -f /dev/md0 /dev/loop4
    mdadm: set /dev/loop4 faulty in /dev/md0
    [root@node02 ~]# mdadm -r /dev/md0 /dev/loop4
    mdadm: hot removed /dev/loop4
    [root@node02 ~]# mdadm -a /dev/md0 /dev/loop3
    mdadm: added /dev/loop3
    这时会有同步过程发生,同步完之前是不接受扩容命令的。这时的容量仍是150MB。
    [root@node02 ~]# mdadm -D /dev/md0
    /dev/md0:
            Version : 00.90.03
      Creation Time : Thu Apr 30 21:15:09 2009
         Raid Level : raid5
         Array Size : 153408 (149.84 MiB 157.09 MB)
      Used Dev Size : 51136 (49.95 MiB 52.36 MB)
       Raid Devices : 4
      Total Devices : 4
    Preferred Minor : 0
        Persistence : Superblock is persistent

        Update Time : Thu Apr 30 21:16:29 2009
              State : clean, degraded, recovering
    Active Devices : 3
    Working Devices : 4
    Failed Devices : 0
      Spare Devices : 1

             Layout : left-symmetric
         Chunk Size : 64K

    Rebuild Status : 54% complete

               UUID : 8194e2d6:843e2352:c335957f:1051c266
             Events : 0.4

        Number   Major   Minor   RaidDevice State
           0       7        0        0      active sync   /dev/loop0
           1       7        1        1      active sync   /dev/loop1
           2       7        2        2      active sync   /dev/loop2
           4       7        3        3      spare rebuilding   /dev/loop3

    5.最后一步,扩容成功,300MB。(这里会有一个区别,如果不是bitmap模式,又会有一个同步过程;如果是bitmap模式,完全不需要同步。)(使用bitmap模式,在RAID突然中断,但其中的盘没有损坏,后面又加入阵列时不需要完全同步,只需要增量同步。而bitmap不是默认的,个人觉得应该使用bitmap模式。)
    [root@node02 ~]# mdadm -G /dev/md0 -z max
    [root@node02 ~]# mdadm -D /dev/md0
    /dev/md0:
            Version : 00.90.03
      Creation Time : Thu Apr 30 21:15:09 2009
         Raid Level : raid5
         Array Size : 307008 (299.86 MiB 314.38 MB)
      Used Dev Size : 102336 (99.95 MiB 104.79 MB)
       Raid Devices : 4
      Total Devices : 4
    Preferred Minor : 0
        Persistence : Superblock is persistent

        Update Time : Thu Apr 30 21:17:29 2009
              State : clean
    Active Devices : 4
    Working Devices : 4
    Failed Devices : 0
      Spare Devices : 0

             Layout : left-symmetric
         Chunk Size : 64K

               UUID : 8194e2d6:843e2352:c335957f:1051c266
             Events : 0.8

        Number   Major   Minor   RaidDevice State
           0       7        0        0      active sync   /dev/loop0
           1       7        1        1      active sync   /dev/loop1
           2       7        2        2      active sync   /dev/loop2
           3       7        3        3      active sync   /dev/loop3

    逻辑卷、文件系统的在线扩容在这里省略不写。
    回复

    使用道具 举报

    该用户从未签到

    102

    丝瓜

    29

    回帖

    0

    精华

    普通用户

     楼主| 发表于 2009-5-1 01:06:27 | 显示全部楼层
    个人感觉 --re-add 并没有直接的用途,主要取决于是否采用 bitmap 模式,如果采用了bitmap模式,当其中一个盘中断又回到阵列中时,-a 会自动变成 --re-add,增量同步。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-12-2 19:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    162

    丝瓜

    54

    回帖

    0

    精华

    普通用户

    发表于 2009-5-2 10:36:01 | 显示全部楼层

    就是你说的那个意思
    回复

    使用道具 举报

    该用户从未签到

    58

    丝瓜

    5

    回帖

    0

    精华

    普通用户

    发表于 2010-3-10 13:23:47 | 显示全部楼层
    9# 老李菜刀

    我刚刚做完了RAID组态迁移(RAID1 到 RAID5);
    和RAID在线扩容(RAID5 3盘到4盘),数据都完整保存。

    功能很好。

    至于提示“硬盘数据丢失”,是指你新插入的硬盘。
    回复

    使用道具 举报

    该用户从未签到

    651

    丝瓜

    41

    回帖

    0

    精华

    普通用户

    发表于 2010-3-23 13:59:24 | 显示全部楼层
    你可以参考一下这个网址,里面有详细的案例解释,http://www.qnap.com/cn/pro_features_RLM.asp
    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    [string global_footer]

    QQ|Archiver|手机版|小黑屋|第一纳斯网 ( 粤ICP备19046372号 )[string global_footerlink]

    GMT+8, 2024-11-22 06:48

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表