V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sjmcefc2
V2EX  ›  程序员

请教现在正在运行的系统,如何做 raid?

  •  
  •   sjmcefc2 · Mar 21, 2019 · 3324 views
    This topic created in 2595 days ago, the information mentioned may be changed or developed.

    现有测试应用系统,2HDD,一个安装系统,另一块挂了 /var/pgsql,现在 容量不够用了,想着通过加硬盘的方式以 raid0 扩容,怎么才能不用重装来加硬盘变成 raid0 呢。

    24 replies    2019-04-03 02:56:30 +08:00
    nfroot
        1
    nfroot  
       Mar 21, 2019
    用 raid0 等着出事吧。
    sjmcefc2
        2
    sjmcefc2  
    OP
       Mar 21, 2019
    1.那用 raid5 ? 10 ?可是 openbsd 不支持吧,zfs 也不支持吧
    2.如果用 raid0,应该怎么整呢?
    MrUser
        3
    MrUser  
       Mar 21, 2019
    试试 mount ?
    ```
    sudo mount /dev/raid /data/project/upload/
    ```
    lihongjie0209
        4
    lihongjie0209  
       Mar 21, 2019
    单独挂载存储服务器
    sjmcefc2
        5
    sjmcefc2  
    OP
       Mar 21, 2019
    @lihongjie0209 那又要整一台存储了。。。
    nfroot
        6
    nfroot  
       Mar 21, 2019
    @sjmcefc2
    没这样整过,Unix 不熟,一般应该组 raid 会清除掉盘里的资料吧,你如果是公司的设备,就应该把该报的预算报上去,数据丢了的时候恢复只能是尽力,但是一旦丢数据了,就得做好恢复不了的准备。除非你的数据是可以随便丢失的,否则永远别搞什么 raid0,任何原因都是扯淡。

    而且像这种对存储进行大操作的时候,你肯定要先做备份,有备份就好操作,否则即便有方式让你可以不清除数据组 raid,还是不安全啊,中间出个什么差错不就完蛋了么。

    我用的是 raid1,2 个硬盘,实际只能使用 1 块硬盘的空间大小。

    总之如果是公司的设备,该申请的时候一定要申请,要不然麻烦一点是小事,出事故了就麻烦大了
    reus
        7
    reus  
       Mar 21, 2019   ❤️ 1
    用 lvm。
    playnoa
        8
    playnoa  
       Mar 21, 2019 via Android
    @sjmcefc2 有了 zfs,还用个毛 raid 啊,zfs 比 raid 强太多
    snip
        9
    snip  
       Mar 21, 2019
    raid0 都不如你直接把硬盘挂载到系统上
    sjmcefc2
        10
    sjmcefc2  
    OP
       Mar 21, 2019
    @playnoa openbsd 没有 zfs 哈
    sjmcefc2
        11
    sjmcefc2  
    OP
       Mar 21, 2019
    @snip 主要是 pgsql 空间不足了。。。。。需要扩展了。
    sjmcefc2
        12
    sjmcefc2  
    OP
       Mar 21, 2019
    @nfroot 这样说来,做 raid 的话必须是一开始装机就要规划,不能半途开始? raid 如果要抹掉数据还是很可怕
    boris1993
        13
    boris1993  
       Mar 21, 2019 via Android
    lvm +1
    rockyou12
        14
    rockyou12  
       Mar 21, 2019
    你反正是测试系统,直接用 lvm 加扩展逻辑卷应该是最佳选择了。
    sjmcefc2
        15
    sjmcefc2  
    OP
       Mar 21, 2019
    @rockyou12 还有其他方案吗?
    Perterually
        16
    Perterually  
       Mar 21, 2019
    lvm +1
    CallMeReznov
        17
    CallMeReznov  
       Mar 21, 2019 via Android
    你这需求关你阵列有什么关系啊?
    你需要的是 lvm 啊
    sjmcefc2
        18
    sjmcefc2  
    OP
       Mar 21, 2019
    还是没有特别明白 raid 是不是要坏掉现有的系统和硬盘上的数据?
    先不讨论 raid0 的坏处的话,是不是我现在运行的系统要么用 raid 不要数据,要么不能用 raid ?

    另外 postgresql 是不是可以把数据分在其他的目录下呢?我直接挂上一个盘,建一个目录,让新的数据库数据到新的目录下? postgresql 有这种技术不?



    ----------------
    lvm 在 linux 下面试过 ,可行。openbsd 貌似没有这个啊
    sjmcefc2
        19
    sjmcefc2  
    OP
       Mar 21, 2019
    比如一个 pgsql 数据库 ,目录是 /var/pgsql/data ,我再挂在一个或者多个盘(/var/pgsql/data1,/var/pgsql/data2 ),当 /var/pgsql/data 满了,就往另外 data1,data2 里面送数据?
    tony601818
        20
    tony601818  
       Mar 21, 2019
    用过硬件 RAID,RAID0 或者 RAID10 是没法 Online Expansion 的。
    线上扩容我那个硬件只支持 RAID5 和 RAID6,考虑到 5 的一些失败重建的安全问题,还是选择牺牲写入性能上了 RAID6。

    RAID 创建的时候会格盘,因为有个初始化的过程。
    sjmcefc2
        21
    sjmcefc2  
    OP
       Mar 21, 2019
    @tony601818 感谢解惑。看起来还真是都要 new disk
    就是看 openbsd 的手册,貌似只有 label 变化,没说格式化这个事情。bioctl 上面没有看到相关的格盘动作,还以为是可以无损扩展呢
    yangg
        22
    yangg  
       Mar 21, 2019 via iPhone
    Table space?
    sjmcefc2
        23
    sjmcefc2  
    OP
       Mar 22, 2019
    0.wd0 上有系统,wd1 是数据库的数据
    1.备份 wd1 上的数据 /var/pgsql/
    2.wd1=80g 装上 wd2=80g,wd3=160g wd4=320g,sysctl hw.disknames
    3.把 wd1,wd2,wd3,wd4 变成 concat,得到一个 80g+80g+160g+320g=640g 的 file system
    4.恢复 /var/pgsql 数据到新的 file system

    可行?
    likuku
        24
    likuku  
       Apr 3, 2019
    不想格盘,想给卷扩容,目前是不行的,除非你之前就用的是 LVM/ZFS/BTRFS
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1027 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 153ms · UTC 22:29 · PVG 06:29 · LAX 15:29 · JFK 18:29
    ♥ Do have faith in what you're doing.