比raid5更快更大更安全在4块硬盘上同时实现raid1,raid0和Basic

2025-04-03 08:45:44 13点赞 50收藏 15评论

现在的机械硬盘容量越来越大,组具有冗余功能的raid类型时损失的容量也就越大。这对于预算有限,同时需要大容量又需要冗余功能的部分用户来说就非常难受了。

比raid5更快更大更安全在4块硬盘上同时实现raid1,raid0和Basic

就在前几天找到了以前经常看的杂志《微型计算机》,里面有一篇文章引起了我的注意。文章主要内容是介绍了intel芯片组自带的矩阵raid,这个技术可以实现讲两块硬盘上实现两种不同的阵列类型。原理也很简单,将硬盘分为两个区域。一个区域实现raid1模式,服务于重要数据。一个区域实现raid0模式,服务于高速读写的数据。

比raid5更快更大更安全在4块硬盘上同时实现raid1,raid0和Basic

现在想要在Linux的软阵列上实现这个功能也非常简单。linux上一般通过mdadm这个组件建立阵列,mdadm可以直接物理硬盘组阵列,或者是使用物理硬盘上的分区建立阵列。群晖的shr就是依靠了这个特性实现不同容量硬盘组阵列。

比raid5更快更大更安全在4块硬盘上同时实现raid1,raid0和Basic

因此可以通过在物理硬盘上划分出不同大小的分区,然后组建不同类型的阵列,最大限度利用硬盘资源。

假设有4块硬盘,一般的成品nas也就4个3.5寸硬盘位,容量都为14T。为了容量和冗余最大化选择raid5模式,将损失一块硬盘的容量最后存储池总容量42T。如果分区建立阵列,按数据重要程度选择存储池。4块盘中每块分出2t建立raid1分区,满足冗余需求,此时raid1存储池可用容量2t。4块盘中每块分出2t建立raid0分区,满足高速需求,此时raid0存储池可用容量8t。4块盘剩下的10t容量,直接格式化分区通过mergerfs合并为一个40t的存储池。此时有效容量为8+2+40=50t。比物理硬盘直接组raid5模式多了8t容量,而且安全性更好,raid1存储池允许挂掉3个硬盘,速度更快,4盘raid0没有raid5的xor检验消耗cpu更少,读写速度等于四盘叠加。

比raid5更快更大更安全在4块硬盘上同时实现raid1,raid0和Basic

操作思路如下:

将4块14t硬盘,每个硬盘分为3个分区 ,容量分别为2t,2t,10t。4块盘的第一分区组raid1,第二个分区组为raid0,第三个分区不组riad直接格式化合适的文件系统在通过mergerfs组成存储池,这种存储池在硬盘掉线的情况下只会丢失掉线硬盘的数据。

raid1分区加入lvm,后格式化为btrfs这种可以动态扩容的文件系统,为以后更换大容量硬盘或者增加硬盘打好扩容基础。raid0分区也是如此操作加入另外一个lvm中。

这样子就有个应对3种不同类型数据的存储池,从而实现高效率压制硬盘容量。

实现命令可以参考下列命令,不要照抄!不要照抄!不要照抄!


#使用parted工具创建GPT分区表 sudo parted /dev/sdX mklabel gpt # 创建三个分区(2T, 2T, 10T) sudo parted /dev/sdX mkpart primary 0% 2TB sudo parted /dev/sdX mkpart primary 2TB 4TB sudo parted /dev/sdX mkpart primary 4TB 14TB #创建raid1阵列 sudo mdadm --create /dev/md0 --level=1 --raid-devices=4 /dev/sd[a-d]1 #创建raid0阵列 sudo mdadm --create /dev/md1 --level=0 --raid-devices=4 /dev/sd[a-d]2 #lvm部分 1. 创建物理卷(PV) sudo pvcreate /dev/md0 # RAID1 分区 sudo pvcreate /dev/md1 # RAID0 分区 2. 创建卷组(VG) sudo vgcreate vg_raid1 /dev/md0 sudo vgcreate vg_raid0 /dev/md1 3. 创建逻辑卷(LV) # RAID1 逻辑卷(全容量) sudo lvcreate -l 100%FREE -n lv_raid1 vg_raid1 # RAID0 逻辑卷(全容量) sudo lvcreate -l 100%FREE -n lv_raid0 vg_raid0 #文件系统格式化 sudo mkfs.btrfs /dev/vg_raid1/lv_raid1 sudo mkfs.btrfs /dev/vg_raid0/lv_raid0 #mergerfs部分 # 格式化每个硬盘的第三分区为XFS(推荐大文件性能) sudo mkfs.xfs /dev/sd[a-d]3 # 创建挂载点并挂载 sudo mkdir -p /mnt/storage/{disk1,disk2,disk3,disk4} sudo mount /dev/sda3 /mnt/storage/disk1 sudo mount /dev/sdb3 /mnt/storage/disk2 sudo mount /dev/sdc3 /mnt/storage/disk3 sudo mount /dev/sdd3 /mnt/storage/disk4 # 使用MergerFS合并为存储池 sudo mergerfs -o defaults,allow_other,category.create=epmfs /mnt/storage/disk*:/ /mnt/pool

展开 收起
15评论

  • 精彩
  • 最新
  • 为了多8t容量,一块盘挂了你最多有48t的数据找不回来,即使让你重新下载你都会崩溃,raid发明了快40年了,要有好的办法早就有了,容量和安全很难兼得

    校验提示文案

    提交
    Raid可不是用来保护数据的 [皱眉] ,人家是高可用技术。数据安全靠备份

    校验提示文案

    提交
    你这不是自相矛盾吗,数据安全靠备份的话你组0不是全都可用?

    校验提示文案

    提交
    收起所有回复
  • 我觉得现在这个时间节点。raid3才是更适合普通用户的技术。在当年,没有合适的校验盘。但现在不同级别的校验盘找一个太轻松了

    校验提示文案

    提交
  • 恢复数据时会不会一脸懵逼 [邪恶] ,再退一步,你这系统挂了会不会全完蛋?别人家raid用硬件卡,你这是软raid

    校验提示文案

    提交
    群辉的SHR也是这种操作 [高兴]

    校验提示文案

    提交
    SHR是为了让你用收一堆容量不一样的破烂组阵列 [观察] ,你4块这不都是14t的盘吗

    校验提示文案

    提交
    收起所有回复
  • 有啥用,自我感觉良好

    校验提示文案

    提交
  • 有钱直接SSD 搞个毛的RAID。

    校验提示文案

    提交
  • 有钱搞RAID100都好

    校验提示文案

    提交
  • 组链里只要有raid0在,纯玩玩就好

    校验提示文案

    提交
  • 微型计算机现在还在吗?

    校验提示文案

    提交
  • 数据火葬场 [皱眉]

    校验提示文案

    提交
  • 好像就是0+1

    校验提示文案

    提交
  • 纯秀技术,相当于能从北京到上海可以开车去的你非要说我自行车也能去,成本还低,还能体现我自行车车技

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
50
扫一下,分享更方便,购买更轻松