SSD 装 Linux 选 Ext4 还是 Btrfs 好呢?

2015-04-14 18:17:41 +08:00
 pengjiayou

玩 Linux 是好几年前了,现在掏了一个新笔记本,ThinkPad X250 ,还在清关中,打算到货之后加装一块 M.2 SSD 然后安装 Ubuntu 14.04.2 LTS ,和自带 SSD 里的 Win 8 双启动。现在有两个问题?

1)Bootloader 安装在加装的 SSD 上就好了吧?即便如此,安装 Ubuntu 的时候 Grub2 依然会修改 Win 8.1 的 EFI 分区?如果 Grub2 出问题,必须修复 Grub2 或者修复 Win 8.1 才能进系统?

2)Btrfs 文件系统成熟了么?听说这货比 Ext4 更适合 SSD 。似乎搜索不到更多中文资料,有人说 Btrfs 在 deb 系的系统上跑得慢,还有说丢文件的,不过好像都是几年前了。。。 有最近在使用 14.04 SP2 和 Btrfs 的童鞋解答一下,要不然还是果断用 Ext4 算了。

50434 次点击
所在节点    Ubuntu
76 条回复
Cu635
2015-04-14 22:46:55 +08:00
最新版本的debian stable已经把btrfs加入安装时候的选项中了。
phoeagon
2015-04-14 22:53:06 +08:00
你既然说不出btrfs有什么好,那么就不需要了。
ChiangDi
2015-04-14 22:56:11 +08:00
大家说说 btrfs 有哪些特别的好处,我电脑整个硬盘整个都是 SSD,如果真有什么特别好处的话我肯定会切过去的。
jarlyyn
2015-04-14 23:09:16 +08:00
@ChiangDi
定时snapshot。

写个脚本做定时增量备份。
icesof
2015-04-14 23:13:51 +08:00
为什么没有考虑开始用XFS?
kiritoalex
2015-04-14 23:19:42 +08:00
@ChiangDi SSD (Flash storage) awareness (TRIM/Discard for reporting free blocks for reuse) and optimizations (e.g. avoiding unnecessary seek optimizations, sending writes in clusters, even if they are from unrelated files. This results in larger write operations and faster write throughput)
ryd994
2015-04-14 23:32:59 +08:00
@kiritoalex ext4加discard其实也都有
Earthman
2015-04-14 23:47:25 +08:00
我试过btrfs啊,grub2+GPT+btrfs+SSD,可以正常引导,还带win双系统。不过颇费功夫。最后还是换回ext4了
nocwat
2015-04-14 23:50:48 +08:00
如果是新的kernel可以考虑使用专门针对flash优化的 f2fs,不过需要自己折腾下
xierch
2015-04-15 00:05:06 +08:00
@pengjiayou 应该是,但其实我也没在 EFI 装过 GRUB..
3.3 以后的内核能够直接被主板 EFI 引导,可以不需要另外的引导程序,上次我装 Arch 的时候用的是这种方式..
xierch
2015-04-15 00:09:42 +08:00
https://wiki.archlinux.org/index.php/EFISTUB

“The Linux Kernel (linux>=3.3) supports EFISTUB (EFI BOOT STUB) booting. This feature allows EFI firmware to load the kernel as an EFI executable.”

“UEFI is designed to remove the need for an intermediate bootloader such as GRUB.”

听起来挺厉害的
CupTools
2015-04-15 03:01:38 +08:00
ZFS不解释
linux40
2015-04-15 07:59:37 +08:00
不作死的话还是可以的,感觉就是慢了点。。。
coolcfan
2015-04-15 08:21:11 +08:00
btrfs inode……
comicfans44
2015-04-15 09:30:26 +08:00
个人使用btrfs,感觉优势主要是功能:
1.瞬间snapshot(cow,snapshot几乎不占任何空间)
2.动态扩容(不同的块设备可随时加入到空间不足的分区里,新分区,新硬盘都可以。不用费劲调整分区)
3.增量备份(基于snapshot的diff,效率高于rsync)。
4.内置自动压缩(设定压缩后,btrfs尝试压缩文件头,仅在结果更小的情况下才压缩整个文件,所以可以直接使用在包含可压缩数据和不可压缩数据混合的文件夹上)
5.完整性功能内置,一般的意外关机不需要fsck(btrfs的完整功能fsck还没有开发完成,但自从我使用btrfs以来的意外断电,都可以直接正常挂载)

至于ssd和hdd的跑分日常使用中比不上ext4(可以参考phoronix.com的filesystem benchmark,多线程IO中btrfs才有优势)。
comicfans44
2015-04-15 09:49:38 +08:00
EFI+GPT 的启动环境,多个EFI启动器共存在共享的esp分区的各自的目录下,并向EFI注册自身(在efi设置中可选其中之一作为默认启动项)。但是esp分区下的/EFI/boot/boot.efi(也可能是bootx64.efi)将作为没有任何注册选项时的默认项。安装linux过程中应该只是将grub注册成了默认的启动器(通常文件放在/EFI/grub)。微软的EFI启动器在/EFI/microsoft下,不受linux安装grub的影响。如果修改了windows文件,那只可能是修改/EFI/boot/boot.efi (windows安装后,/EFI/boot/boot.efi这个文件应该就是/EFI/microsoft/bootmgfw.efi)。

不过EFI+GPT可以更灵活,任意的fat分区只要有/EFI/boot/boot.efi 都可以被系统识别为启动分区。在linux安装过程中,你可以手动创建一个fat分区并挂载在/boot/efi目录下,这样linux就会把grub的内容都写在这个fat分区下,完全和默认的esp分区相隔离,这样也就不会修改esp分区里windows的任何文件了(本人msi H77 主板支持这种配置,楼主可能需要自行尝试)
ryd994
2015-04-15 10:23:21 +08:00
@comicfans44 btrfs的fsck还很不稳定。我半年前因为这个丢过数据。
而且btrfs的snapshot和raid功能用lvm都能实现。lvm现在已经是默认了吧,还有thinprovision。
ryd994
2015-04-15 10:25:35 +08:00
ssd有件事大家务必试试
scheduler设为noop
搜索disk scheduler
comicfans44
2015-04-15 10:44:30 +08:00
@ryd994 当初接触LVM的时候还没有thinprovision这样的功能(这个是不是12年才有的?),后来使用btrfs后也没再关注LVM,受教了。
longestusername
2015-04-15 10:48:44 +08:00
刚配了个双6TB硬盘的Ubuntu Server 64 服务器。 ext4非常好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/183689

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX