如何优化 Linux 下 ntfs-3g 读写机能? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
okudayukiko0
V2EX    Linux

如何优化 Linux 下 ntfs-3g 读写机能?

 
  •   okudayukiko0 2016-06-23 22:24:39 +08:00 via Android 8429 次点击
    这是一个创建于 3401 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为 /分区太小,所以只能把一些文件移到 ntfs 分区,很无奈。
    /分区采用的是 ext4 。
    先是在 /分区上新建一个 qcow2 文件,用于一个 kvm 虚拟机。
    然后用 qemu-kvm 启动这个 qcow2 镜像并安装 win2003 r2 。
    测得 win2003 的开机时间为 30 秒(从 BIOS 到桌面)。
    但是将这个 qcow2 复制到一个 NTFS 分区并用 kvm 启动 NTFS 分区上的 qcow2 时,却悲剧了,不仅启动极慢,连打开一个开始菜单都要等。
    14 条回复    2016-07-15 04:19:46 +08:00
    BSD
        1
    BSD  
       2016-06-23 22:34:14 +08:00
    NTFS 是商业产品,不知是稳定性原因还是因为微软的法律威胁,一直没有进入 Linux/BSD 的内核,只能在用户态运行,所以,效率肯定极差,反正我是从来不在 Linux/BSD 下用 NTFS 的,非要跟 Windows 交换数据,就用 VFAT 。

    也不知为嘛, VFAT 同样也是微软的,却可以进入内核。
    okudayukiko0
        2
    okudayukiko0  
    OP
       2016-06-23 23:29:49 +08:00 via Android
    @BSD 刚刚试了下 发现用 VMware 启动原有 NTFS 上的 VMware 虚拟机依旧很快,估计是 VMware 对 NTFS 做了优化。
    okudayukiko0
        3
    okudayukiko0  
    OP
       2016-06-24 00:00:26 +08:00 via Android
    @BSD 又用 cp 和 KDE 文件管理器试了下复制这个 2.5GB 的 QCOW2 文件,
    NTFS->EXT4 和 EXT4->EXT4 (复制到不同的目录)所用的时间只差 2 秒。
    网上也有文章说 NTFS-3G 的性能已经比较好了 ...
    okudayukiko0
        4
    okudayukiko0  
    OP
       2016-06-24 00:01:40 +08:00 via Android
    @BSD 我是在 tty 下用 qemu 手动启动的 KVM 。
    likuku
        5
    likuku  
       2016-06-24 00:19:42 +08:00
    全硬盘都 EXT4 ,给虚拟机直接用文件作此盘。

    或者,全盘都 LVM ,如此,可以给部分虚拟机用 LVM 卷了。
    wsy2220
        6
    wsy2220  
       2016-06-24 00:26:28 +08:00 via Android
    ntfs3g 有商业版本,快很多
    fengyqf
        7
    fengyqf  
       2016-06-24 01:19:49 +08:00
    编译内核,里面有 ntfs 支持,或许效率高一些,没证实过。
    不过一般的发行版大概不会编译入这个支持的
    legendt
        8
    legendt  
       2016-06-24 01:21:14 +08:00
    可以用 ufsd 替代 ntfs-3g
    fengyqf
        9
    fengyqf  
       2016-06-24 01:23:27 +08:00
    如果是多系统的个人桌面机,可以在 win 下把 ntfs 分区单独划出来一部分(比如 pq 之类无损分区软件),在 linux 里格式化成 ext4 并挂载
    okudayukiko0
        10
    okudayukiko0  
    OP
       2016-06-24 01:39:47 +08:00 via Android
    @wsy2220 为什么复制文件的速度都差不多但是跑 KVM 虚拟机就差这么远?
    RqPS6rhmP3Nyn3Tm
        11
    RqPS6rhmP3Nyn3Tm  
       2016-06-24 16:14:36 +08:00 via Android
    Paragon 我记得有在 Linux 下的商业 NTFS 软件
    adadada
        12
    adadada  
       2016-06-24 19:32:26 +08:00
    如果对 I/O 性能有要求,除了上面说的 NTFS 驱动的问题,可能还需要考虑磁盘镜像格式和 QEMU 模拟的磁盘设备的类型。 qcow2 因为要实现 copy on write 的特性,在读写时需要维护额外的数据结构,必然会影响吞吐量 (特别是在你的 qcow2 镜像还依赖与另外的 base image 的时候),可以考虑用 qemu-img 转换成 raw 格式。 qemu 默认通过 -hda 参数创建的磁盘设备是模拟真正的磁盘设备,也会有额外的开销,可以考虑使用 virtio block 设备 (-device file=disk_image,if=virtio),注意要在 guest windows 里先装好 virtio 的驱动。
    stevegy
        13
    stevegy  
       2016-06-24 20:11:34 +08:00
    记得很久以前( 3 年?大概。。。)装个 qemu kvm 的 windows 2008 虚拟机, IO 的性能很差,磁盘和网络的 IO 都很差。结果发现需要在 windows 上安装 kvm 磁盘驱动和网卡驱动。。。装完就飞快了。
    okudayukiko0
        14
    okudayukiko0  
    OP
       2016-07-15 04:19:46 +08:00 via Android
    后来用 dd 试了下,原来在 Linux 下 NTFS 读取快但写入很慢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2994 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 13:05 PVG 21:05 LAX 06:05 JFK 09:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86