V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tu8ge
V2EX  ›  程序员

请问如何做到每个用户一个独立的 raid1?

  •  
  •   tu8ge · 2021-08-27 22:04:52 +08:00 · 2279 次点击
    这是一个创建于 1208 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有几百个用户, 每个用户需要有自己独立的空间, 而且空间上建立在 2 块独立的硬盘(组成 raid1). 最终要的效果是一个用户要离开的时候, 他可以直接把他相关的 2 块硬盘拔掉带走, 这样他所有相关的数据都在上面.

    现在大致想到的方案是:

    1. 用支持几百块硬盘的磁盘阵列组成几百个 raid1. 这种方案的问题是支持几百块硬盘的磁盘阵列硬件是有的, 但能不能弄出几百个 raid1 还不清楚, 因为一般磁盘阵列都是 raid10 这种, 在 raid1 的基础加 raid0, 弄出一个很大的空间. 而现在的需求不是弄出一个很大空间, 而是每个用户有自己的独立的 2 块硬盘, 他能使用的空间也就是一块硬盘的大小. 如果磁盘阵列支持弄出几百个 raid1, 如果挂载到系统上也是一个问题, 因为一般系统能挂载的分区数也就十几个.
    2. 使用 vmware 虚拟化和磁盘阵列配合的方式. 这种相当于每个用户建一个虚拟机,然后给虚拟机绑定固定的硬盘. 这个方案的问题和方案 1 的问题是一样的, 就是磁盘阵列支不支持这么干和 wmware 这种支不支持这么多硬盘.
    3. SAN. SAN 能不能做到每 2 个硬盘组成一个 raid1 这种,然后每个 raid1 有一个独立的访问方式?

    前面的 raid1 只是举例, 实际的需求只是 2 块硬盘可以互相备份即可, 如果一个用户的某块硬盘坏了, 换掉坏的就可以了. 不考虑两块都坏这种情况. 这几百个用户的硬盘都是放在一个机房的, 所以希望能用尽量少的机柜去满足这些用户的需求.

    第 1 条附言  ·  2021-08-27 23:07:21 +08:00
    需求是这样的, 每个用户其实是一个小企业, 每个小企业的数据要独立, 小企业走的时候要拔硬盘是一个原因, 更多的原因是国内有些规定需要能在一些特殊时候拔硬盘去做一些处理. 所以准备两空盘做拷贝是不太满足需求的. 每个企业的数据量其实不大, 但必须要求数据独立, 能快速的把硬盘拿走.
    14 条回复    2021-08-28 14:45:25 +08:00
    Licsber
        1
    Licsber  
       2021-08-27 22:31:03 +08:00
    为什么会有这种奇怪的需求 你们机房都是可以让几百个用户随意进出的么
    如果不行 那么需要将数据“打包带走”的时候 有一个专员准备俩空硬盘不就 ok ?
    PrinceofInj
        2
    PrinceofInj  
       2021-08-27 22:42:37 +08:00 via Android
    每个用户配置文件放一个 vhd 上,走的时候虚转实,齐活儿。
    tu8ge
        3
    tu8ge  
    OP
       2021-08-27 23:06:37 +08:00
    需求是这样的, 每个用户其实是一个小企业, 每个小企业的数据要独立, 小企业走的时候要拔硬盘是一个原因, 更多的原因是国内有些规定需要能在一些特殊时候拔硬盘去做一些处理. 所以准备两空盘做拷贝是不太满足需求的. 每个企业的数据量其实不大, 但必须要求数据独立, 能快速的把硬盘拿走.
    aru
        4
    aru  
       2021-08-27 23:28:03 +08:00
    不要 raid 就行了,通过其他方式来实现数据备份
    wi857nston
        5
    wi857nston  
       2021-08-28 00:07:17 +08:00 via Android
    这么简单的事情 proxmox 虚拟系统 然后直通硬盘就行了 就看你服务器可以插多少硬盘
    tu8ge
        6
    tu8ge  
    OP
       2021-08-28 00:22:42 +08:00
    @wi857nston 是要尽量减少服务器的个数的, 因为服务器基本是 1u 或者 2u 的, 每年托管费用基本是按照尺寸固定的, 而且服务器的性能对这些用户也是过剩的. 2u 的服务器一般也就最多能插 16 个硬盘, 算是托管费用等每年平均下来每个用户要几千了, 希望是尽量控制在每个用户一年一千左右.
    wi857nston
        7
    wi857nston  
       2021-08-28 00:34:39 +08:00 via Android
    2 u 服务器 SSD 的 都是 20 多个硬盘 也就是 10 个用户 你一个用户收多少钱我不知道 托管费用 3000 稳赚不赔 你要是做不了 硬件软件维护可以给我做
    msg7086
        8
    msg7086  
       2021-08-28 05:24:30 +08:00
    0. RAID1 不是备份而是高可用。
    1. 你这种需求的话,买的其实是机房地产。每个硬盘口是要折算到房租和电价的。这和实现方法没什么太大关系。
    2. 光看实现方法的话,按照 SSD 来算,2U 一般最多也就 48 盘( SuperStorage 2028R-E1CR48L ),可以做 24 个 RAID1,一般的专业阵列卡应该都能做,比如 LSI SAS 9341-8i 就支持 64 盘组成 32 个阵列。
    3. 硬件 RAID 实在不行的话也可以用便宜的 HBA 来接盘,然后做 Linux MD 软 RAID1,性能也不差的。
    mchong
        9
    mchong  
       2021-08-28 08:53:24 +08:00
    3 、SAN 可以做到每 2 块硬盘一个 Raid1 卷。但是从 san 拆下来后能不能在服务器上读是个问题。
    opengps
        10
    opengps  
       2021-08-28 10:04:17 +08:00
    这个需求确实有些奇怪,raid 的目的在于硬件冗余,本身并不是备份性质,只是防止其中一部分硬盘的故障导致丢数据
    gBurnX
        11
    gBurnX  
       2021-08-28 11:13:35 +08:00
    1.这就不是云计算了,云计算的本质是聚合闲置与剩余资源。

    2.你这需求,其实是最早的服务器托管。那么用户交的就不只是硬盘钱了,而是服务器托管的钱,这钱可不是一个数量级的。
    pjntt
        12
    pjntt  
       2021-08-28 11:25:46 +08:00
    楼主提到备份,其实是说,两盘数据镜完全一样,拨掉中某一个硬盘去做检查时,并不影响系统工作(也就是企业无感知被检查 ???).
    我觉得,搞 SAN 阵列吧,2 盘做一个 Raid1 卷挂到虚拟机,创建虚拟机的时候,指定这个卷做系统 ,这样所有数据都在这个卷里了.这样拨盘的时候,就不会有影响了.
    tu8ge
        13
    tu8ge  
    OP
       2021-08-28 12:24:11 +08:00
    @msg7086 你说的这种也算一个方案
    @gBurnX 是的, 不是云计算, 所以肯定会比云计算贵, 但贵一倍可以接受, 贵更多企业就有点难承受了.

    @pjntt 两个盘的数据镜是完全一样, 是为了一个盘坏了的时候换盘就可以了, 让数据更安全点. 检查的时候是两个硬盘一起拔走的, 对企业是有感的.举个通俗点的例子是企业装了 sap 类似的软件, sap 的运算逻辑可以跑在阿里云上, 但 sap 的数据库必须放在这机房里面, 那天某个企业有问题了, 税务来查这个企业的账时, 直接拔这个企业的两块硬盘.
    realpg
        14
    realpg  
       2021-08-28 14:45:25 +08:00
    数据中心,2U 机位费,不是重电力消耗的,一年基本费用也就 6K,基本能 12 盘,如果用 2.5 盘就能 24 盘 (以上均扣除系统盘)

    然后就看你要多少带宽了,100M 一个月 1000,一年一万二

    这么多客户这点钱都分摊不开的话,也不容易……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5476 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:50 · PVG 16:50 · LAX 00:50 · JFK 03:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.