V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
samray
V2EX  ›  Linux

关于 SSD 和 HDD 双硬盘 在 Linux 分区的讨论

  •  
  •   samray ·
    ramsayleung · 2017-05-28 12:45:21 +08:00 · 15877 次点击
    这是一个创建于 2742 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近买了一块新的 SSD 250G 硬盘打算装 Arch Linux,但是自己原来已经有 一块 1T 的 HDD,担心容量不足,以及本着物尽其用的原则,打算两块硬盘一起用。现在想实现最佳的分区方案,即可以充分利用好 SSD 的速度以及 HDD 的容量。目前的打算是将 /home 全分给 SSD,/etc 也全分给 SSD,剩下的盘符就都分给 HDD. 想探讨一下,是否有更佳的建议。因为感觉 /home 以后可能不够用,比较担忧这个问题。

    38 条回复    2017-05-29 13:01:04 +08:00
    guoyijun163
        1
    guoyijun163  
       2017-05-28 12:51:42 +08:00
    玩玩 bcache ?
    0asis
        2
    0asis  
       2017-05-28 12:52:35 +08:00
    你如果不拿来放电影什么的,其实 100g 都是很难用完的。而且你为啥会给 linux 分这么多,不装双系统么- -
    blankme
        3
    blankme  
       2017-05-28 12:53:47 +08:00
    hdd 用来存储的话,不用分区给它,需要时再挂载就好了。
    whwq2012
        4
    whwq2012  
       2017-05-28 12:54:12 +08:00 via Android
    @0asis 10g,绝对不够,我 20g 就装了个 chrome 和 pycharm,还有个 virtualbox,就快满了
    whwq2012
        5
    whwq2012  
       2017-05-28 12:54:38 +08:00 via Android
    @0asis 突然发现看错了,不好意思
    expy
        6
    expy  
       2017-05-28 12:55:11 +08:00
    系统最多十来 G,不放进去不厚道吧。都是常用的程序文件,还有更新的时候大量小文件写入。
    billlee
        7
    billlee  
       2017-05-28 12:56:30 +08:00
    lvmcache
    BOYPT
        8
    BOYPT  
       2017-05-28 12:56:59 +08:00   ❤️ 3
    一个原则: 频繁读写的数据放高速存储

    至于怎么叫频繁,得你自己定义了,每天都要开机关机的,那系统本身也算频繁数据,因此一般家用机器都把系统安装在 SSD ;然而服务器极少开关机,因此系统不算频繁数据,而是把数据库数据等真正服务频繁的放到 SSD ; home 目录虽然数据很多,但是很多情况下都只是沉淀下来的个人数据。

    因此这些麻烦的考虑,完全可以交给程序决定!!!于是早就有软件实现了自动把频繁数据在 SSD Cache,沉淀数据写 HHD 的方案了:

    目前你有 3 套方案选择:bcache, lvmcache, EnhanceIO (很难过的眼神 ┑( ̄Д  ̄)┍

    https://www.rath.org/ssd-caching-under-linux.html
    http://blog-vpodzime.rhcloud.com/?p=45
    0asis
        9
    0asis  
       2017-05-28 12:57:20 +08:00
    boot 手动多分一点,我前两天就是因为 boot 分区满了,导致 apt-get 没法装东西,还要手动去删内核。
    Osk
        10
    Osk  
       2017-05-28 13:12:11 +08:00
    分 2 个区,os 的文件肯定固态,毕竟 ssd 暴毙也没关系,而且减少了缓存方案的额外开销。
    剩下一半组 bcache 什么的,好像 bcache 可以设置 ssd 缓存策略为只缓存读操作,不缓存写操作。相对安全点
    samray
        11
    samray  
    OP
       2017-05-28 13:21:16 +08:00
    @0asis 我是用来当开发机的,不玩游戏,也没什么硬性需求要用到 Windows,加上 用了几年 Linux,已经习惯了,也无需双系统了
    samray
        12
    samray  
    OP
       2017-05-28 13:22:10 +08:00
    @0asis /boot 我以前的笔记本是 200+m,但是后来更新的时候也会空间不足,只能进去 /boot 手动清除
    caomu
        13
    caomu  
       2017-05-28 13:22:45 +08:00 via Android
    我正好相反, / 挂在 ssd,/home 挂在 hdd。。。
    samray
        14
    samray  
    OP
       2017-05-28 13:23:08 +08:00
    @blankme 虽说如此,但是略感麻烦
    0asis
        15
    0asis  
       2017-05-28 13:23:38 +08:00 via iPhone
    @samray 不装双系统就无所谓了,我分配的时候都是直接全盘分给 /的(捂脸
    samray
        16
    samray  
    OP
       2017-05-28 13:26:04 +08:00
    @caomu 交流一下理由?
    feather12315
        17
    feather12315  
       2017-05-28 13:36:20 +08:00 via Android
    不要用 bcache。
    自从用了它,莫名其妙地死机
    lrvy
        18
    lrvy  
       2017-05-28 13:39:56 +08:00
    / ssd btrfs
    /var/tmp hdd ext4
    /swap hdd ext4
    samray
        19
    samray  
    OP
       2017-05-28 13:46:09 +08:00
    @BOYPT 略略看了一遍两篇博文,似乎我已经没有三个选择了,两个选择 bcache or lvmcache ,但是文章有提到 bcache 似乎会发生数据冲突,而楼上也有同学提到 bcache 会莫名其妙死机,所以感觉还是要选择 lvmcache。由软件来决定的确要比我一开始就分区决定更优
    samray
        20
    samray  
    OP
       2017-05-28 13:47:08 +08:00
    @lrvy 我觉得 /swap 拿来当虚拟内存,最重要的是要快速读写,理应是 ssd 吧
    lrvy
        21
    lrvy  
       2017-05-28 13:49:41 +08:00
    @samray #20 也可以 不过这个太损耗 ssd 了 我就把它给 hdd 上了。
    clino
        22
    clino  
       2017-05-28 13:55:03 +08:00
    我是 / 给 ssd
    /home 给 hdd
    reus
        23
    reus  
       2017-05-28 13:55:13 +08:00
    用 LVM,解决一切问题。
    我新买的 SSD,直接 pvmove 就能将原本的分区移到上面,一点都不用操心。
    DaraW
        24
    DaraW  
       2017-05-28 14:20:13 +08:00 via iPad
    我想问问楼主的 SSD 买的啥
    greenskinmonster
        25
    greenskinmonster  
       2017-05-28 14:24:55 +08:00
    SSD : /
    HD : /data
    swap 用文件好了,SSD 的内容定期备份到 HD
    rock6y
        26
    rock6y  
       2017-05-28 14:25:15 +08:00 via Android
    够用 120g 的 ssd 装了 Mac Windows Linux 三个系统
    ihuotui
        27
    ihuotui  
       2017-05-28 16:05:33 +08:00 via iPhone
    512ssd
    v2dead
        28
    v2dead  
       2017-05-28 16:20:52 +08:00
    500G 的硬盘放的 arch,当时分区太过随意,16G 的根分区,接近 400G 的 home 分区。滚动三年相安无事,直到去年根分区突然暴毙,发现是 var 分区下,更新缓存满了,每次滚动后的新软件包历史都留下来。现在一直是把 /var/cache/pacman 挂个软连接挂到其他分区的,又过一段时间,pacman 更新挂了。。手动修复软连接,看来像我这种懒人还是把根分区弄大一些吧。最少还是个百来 G 比较合适。
    momocraft
        29
    momocraft  
       2017-05-28 17:21:47 +08:00
    我比较懒, 觉得先全 ssd 也无妨
    万一以后用爆了也可以到时候再迁移
    xuan880
        30
    xuan880  
       2017-05-28 18:09:49 +08:00
    根分区和 home 都放到 SSD 上面,HDD 只用来存文件就行了,例如 hdd 挂载到 download,music 等目录上面.
    liuyanjun0826
        31
    liuyanjun0826  
       2017-05-28 18:49:09 +08:00
    FSTAB 其實是一種更好的方案。如果分區後再想分區的話就麻煩了,乾脆一個硬盤一個分區,這樣一勞永逸數據也不怕沒了。
    samray
        32
    samray  
    OP
       2017-05-28 19:57:56 +08:00
    @DaraW 三星 850 evo
    samray
        33
    samray  
    OP
       2017-05-28 19:59:22 +08:00
    使用了 lvm 来安装 arch linux, 正如 #8 提到的那样,应该让程序做决定的还是让程序做决定吧
    msg7086
        34
    msg7086  
       2017-05-29 02:17:39 +08:00
    @0asis
    @samray 为啥你们会把 boot 单独分个区……
    而且现在不是都 EFI 了吗?用 EFS 就好了吧……
    msg7086
        35
    msg7086  
       2017-05-29 02:17:58 +08:00
    @msg7086 打错了,应该是 ESP。
    ryd994
        36
    ryd994  
       2017-05-29 03:53:29 +08:00 via Android
    我用 180G SSD,除了电影其他全放里面没满过
    建议多出来的给 hdd 做 cache
    shihira
        37
    shihira  
       2017-05-29 12:28:44 +08:00 via Android
    之前电脑里有个 20G 的小 ssd 没用,于是就想着拿来给 /home 做 dmcache。刚部署好那几天拼命丢文件,有好几个文件都变成了 0 字节或者乱码,后来正常了。

    用了一段时间后悔得不行。就我这种日常爆内存的陋习,我应该拿 ssd 来做 swap 才对啊…
    samray
        38
    samray  
    OP
       2017-05-29 13:01:04 +08:00
    @msg7086 因为这个习惯是几年前养成的,习惯给 Linux 引导分一个额外的分区了.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   941 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:02 · PVG 05:02 · LAX 13:02 · JFK 16:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.