`
ancin
  • 浏览: 52640 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

EX4简介

阅读更多
=========== 摘抄自 Archlinux wiki 供自己查阅 ===========
Ext4是Linux上Ext3文件系统的进化。在很多方面,Ext4对于Ext3有着比Ext3对于Ext2更多更深的改变。Ext3主要是针对Ext2添加了日志系统,而Ext4修改了重要的文件系统的数据结构,比如用来存储文件数据的那部分。当然结果就是文件系统有更好的设计,更好的性能,稳定性还有更多的功能。
删除一个分区并创建ext4分区

    升级你的系统: pacman -Syu
    格式化分区: mkfs.ext4 /dev/sdxY (查看mkfs.ext4 man帮助获得更多选项)
    挂载这个分区
    添加相关条目到fstab /etc/fstab, 并且修改文件系统类型'type'为 ext4

从Ext3迁移到Ext4

有两种方法迁移分区从Ext3到Ext4:

    不转换直接把ext3分区挂载成ext4分区格式 (兼容)
    转换ext3分区到ext4格式 (性能)

这两种方法下面详细介绍。
不转换直接把ext3分区挂载成ext4分区格式
基本原理

转换到ext4和继续使用ext3格式的折衷的办法就是把ext3分区当作ext4分区来挂载。

优点:

    兼容性 (分区的文件系统依旧可以用ext3挂载) – 这允许用户继续使用那些不支持ext4文件格式的发行版/操作系统来读取该分区。(例如:带ext3驱动的Windows系统)
    提高性能(然而性能依然没有完全转换成ext4分区时好) – 具体信息参看Ext4 - Linux Kernel Newbies。

缺点:

    仅有少部分ext4特性能够使用。(只有那些不改变分区格式的功能能被使用,例如multiblock allocation 和 delayed allocation。)

注意: 除了由ext4格式带来的相对新的不一样的特性(可以看作一种潜在风险)之外,这种技术没有主要的缺点
步骤

    修改 /etc/fstab,把你想要挂载成ext4的现有ext3分区的'type'栏的内容从 ext3改为ext4。
    重新挂载使修改成效。
    完成!

转换ext3分区到ext4格式
基本原理

为了能够使用ext4的全部特性,必须完成一个不可逆转的转换过程。

优点:

    提升性能以及使用新功能 – 细节参见 Ext4 - Linux Kernel Newbies

缺点

    无法用 ext3 驱动读写 (注意 Windows 中没有已知的 ext4 驱动)
    不可逆 (ext4 分区无法被 '降级' 到 ext3)

必要条件

在 Arch Linux 下需要如下软件:

    kernel26 >= 2.6.28
    e2fsprogs >= 1.41

如果需要/boot分区也转换成ext4,还要求:

    grub >= 0.97 (包含ext4补丁)

注意: ext4补丁已经包含在默认的Archlinux的grub软件包里面了 。 或者,GRUB2也可以用来从ext4分区启动你的系统。
警告: 从ext4分区启动并不是grub的官方的支持,即使GRUB2相关支持也仍然在开发当中。虽然GRUB确实能正常工作,但更安全的选择是继续在/boot分区上使用ext2或者ext3格式。要注意这一点!

如果需要转换主分区(/)到ext4还需要:

    mkinitcpio >= 0.5.20

如果需要转换主分区(/)到ext4,还需要一个带有如下软件的可引导的CD或者USB设备:

    e2fsprogs >= 1.41

注意: 推荐使用最新的Arch Linux(2009.02)。更老版本的Arch Linux镜像(<= 2008.06)只有老版本的e2fsprogs, 但是仍然可以简单的进入Live环境后使用pacman -S e2fsprogs来安装新版,当然得设置好网络。还有个选择,去SystemRescueCd >= 1.1.4下载一个合适的版本,他本身就是一个方便的CD。
步骤

这些说明是从http://ext4.wiki.kernel.org/index.php/Ext4_Howto 还有 http://bbs.archlinux.org/viewtopic.php?id=61602 截取下来的。已经在2009年1月16日被作者测试过和确认过了。

    升级! 进行一次整个系统的升级,来保证系统软件符合要求: pacman -Syu
    备份! 备份准备转换到ext4的ext3分区上所有的数据。尽管ext4被认为日常使用非常稳定,但是仍然是一个年轻的没有经过充分测试的文件系统。何况,这个转换过程只是经过相对简单的测试,因为不可能测试所有各种各样用户可能用到的环境配置。
    修改 /etc/fstab 的'type'栏,把需要转换的所有分区的ext3改为ext4。

警告: 如果不启用新的功能(不完全转换)的话,ext4是向下兼容ext3的。也就是不进行下面的步骤,如果用户有个分区需要和其他系统共享数据,但是其他系统并不支持ext4,那么还是可以在不支持ext4的系统中以ext3的方式挂载此分区,而在Arch中以ext4方式挂载。 但是,这样没有完全转换的ext4只拥有和ext3非常少的新特性。

    使用e2fsprogs的转换过程必须在分区没有被挂载前提下进行。如果转换主分区,最简单的方法就是启动到其他live环境(其他支持ext4的环境)。就如同'前提条件'里面所描述的那样。
        有必要的话,启动到Live环境.
        对于每个需要转换的分区:
            确保分区没有被挂载
            运行tune2fs -O extents,uninit_bg,dir_index /dev/分区 (/dev/分区替换成需要转换分区的路径,例如/dev/sda1)
            运行fsck -fp /dev/分区

注意: 用户必须检测(fsck)这个文件系统, 否则这个分区将不可读! 检测磁盘能够让文件系统回到一般状态。这个过程将在group descriptors找到checksum错误 -- 这个是被预料到的。 '-f'参数要求磁盘检测一定要检查,哪怕文件系统标记是正常的。'-p'参数要求检测的时候能够自动修复(否则,用户将被要求没遇到一个错误确认一次).

    重新启动 Arch Linux!

警告: 如果用户转换了主(/)分区,启动过程可能遇到kernel panic。如果真的出现了,简单的使用fallback模式启动,然后重新创建默认模式:mkinitcpio -p kernel26
问题解决
Kernel Panic

本文作者在把根目录 (/) 转换为 ext4 后出现了 kernel panic 的问题。这是因为 initial ramdisk 被识别为 'ext4dev' 而非 'ext4' 格式。解决这一问题只需要以 "fallback" 方式启动系统,并以 # mkinitcpio -p kernel26 来重新创建 initial ramdisk 即可。

创建过程中 mkinitcpio 将会正确检测并把 ext4 模块包含进入 initial ramdisk 中。
数据损坏

在强行重启系统之后有可能会遇到数据损坏的情况,有人发现在 GRUB menu.lst 文件的 kernel 行后添加 rootflags=data=ordered 可以解决这一问题。(但上面的方法并没有说明是否可以恢复已经被损坏的数据内容,还是只能保证今后不会出现上面的问题)

请参阅 Ext4 data loss; explanations and workarounds 来获取更多信息。
屏障与性能

从内核 2.6.30 开始,ext4 的性能开始下降,原因是由于提供保护数据完整性的功能发生了变化 [1].

大多数文件系统 (XFS, ext3, ext4, reiserfs) 在fsync之后或者传输提交的时候,发送写屏障信号给磁盘。写屏障信号可以确保正确的写入顺序,是易失性的写入缓存可以安全的使用(损失一些性能)。如果你的磁盘有一种或多种备用电源,禁用屏障可以安全的提升性能。

发送写入屏障可以通过使用 barrier=0 挂载选项(对于 ext3, ext4, 和 reiserfs) ,或者使用 nobarrier 挂载选项(对于 XFS)来禁用。 [2].
警告: 如果磁盘无法保证在电源掉电时缓存正确写入,禁用写入屏障可以导致严重的文件系统损坏和数据丢失。

要关闭屏障选项,添加 barrier=0 选项到 /etc/fstab 中想要的文件系统中。例如:

# /dev/sda5    /    ext4    noatime,barrier=0    0    1

E4rat

E4rat 是为 ext4 文件系统专门设计的应用程序。它可以监视自开机以来被打开的文件,通过优化它们在分区上所处的位置,并在开机过程之初就预加载它们来提升访问效率。
分享到:
评论

相关推荐

    ex4_to_mq4 225版

    一、ex4_to_mq4 225版简介 ex4_to_mq4是一款专为MT4平台设计的反编译工具,版本号225代表了软件的迭代和优化。它的主要功能是将MT4平台上的EX4文件转换回原始的MQ4源代码,MQ4是MT4的编程语言,类似于C语言,使得...

    平仓脚本,快速下单.ex4

    该软件为平仓类脚本,使用之前需要打开算法交易,然后加载到界面前请仔细阅读软件简介。 软件使用会对仓位进行真实的平仓操作,建议先使用模拟盘练习,感受一下软件的功能。 等熟悉软件功能之后在到实盘上使用,本...

    风控EA带控制面板.ex4

    简介 这是一个控制和管理订单的风控软件,可用于监控交易员的成交手数,也避免忘记设置止损和止盈的错误。 很多风控技术工作者在该软件系统的帮助下,节约了大量的工作时间,同时也避免了很多严重性的错误。 同时它...

    一键平仓面板(根据手数百分比,盈亏状态,多空类型,产品符号组,魔术编号组,订单注释组过滤组合,实现复杂而快速平仓功能).ex4

    简介 本产品是一款mt4一键平仓系统,对订单进行分类平仓处理, 实现快速批量平仓。 这是一个自由快速的平仓软件,节省平仓时间,也避免订单很多时,平错订单。 面板设计美观,多空,盈亏,魔术编号,部分平仓都进行了...

    顺势加仓-v1.20.ex4

    简介 本产品是迈达量化全系列产品中的一款趋势加仓类半自动EA。 使用这个EA在面对极端行情或者大单边的时候,可以很好的抓住突破的每次入场机会。 设定参数以后,趋势的识别,加仓,移动止损,风险控制这一些都是全...

    编译原理实验(Oberon-0逆向工程工具ROSE)第二个小实验

    **一、Oberon-0语言简介** Oberon-0语言是Oberon系列的一部分,其设计哲学强调清晰性、简洁性和一致性。它具有简单的语法结构,包括基本数据类型(整型、字符、布尔型)、控制结构(if-then-else、while、for)、...

    风控大师-自动风控-面板控制-可实盘.ex4

    简介 本产品是一款风控系统。 这是一个控制和管理订单的风控软件,可用于监控交易员的成交手数,也避免忘记设置止损和止盈的错误。 很多风控技术工作者在该软件系统的帮助下,节约了大量的工作时间,同时也避免了很...

    delphiXE4 for ios 学习教程

    一、DelphiXE4简介 DelphiXE4是Embarcadero公司推出的一款集成开发环境(IDE),它支持多种操作系统,包括Windows、Mac OS X以及iOS和Android。其核心在于Object Pascal编程语言,使得开发者能够利用熟悉的语法进行...

    verilog教程和教程源码

    ├─verilog hdl教程135例 │ └─source │ ├─chap10 │ ├─chap11 │ ├─chap12 │ ├─chap3 │ ├─chap5 │ ├─chap6 │ ├─chap7 │ ├─chap8 │ └─chap9 ├─Verilog 教程 ...└─相关学习板简介

    AI_is_Math:AI是数学课程的仓库。 请访问以下网址

    AI是数学 查看我的课程网站: 这是我的CV课程原始数据git repo-您可以在这里看到原始的.py / .ppt文件。 课程目录 CV和Python简介 ... Ex4a:渐晕 霍夫变换(幻灯片) 霍夫变换 (霍夫变换笔记本)

    吴恩达机器学习python代码

    最后,`README.md`文件通常包含项目简介、安装指南、运行说明等重要信息,是理解整个代码库的重要入口。所有这些练习都提供了实际操作的机会,帮助学习者巩固理论知识并提升实践技能。通过这些代码,你可以逐步掌握...

    如何编写批处理文件批处理文件批处理文件

    一、简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。 语法 echo [{on|off}] [message] Sample:@echo off / echo hello world ...

    安卓实验包含报告(全)

    1. **Android简介**:从第1章的`Android简介.ppt`中,我们可以了解到Android系统的基本架构和工作原理,包括它的开放源码特性、操作系统层、硬件抽象层、应用程序框架以及用户界面等组成部分。此外,还会介绍Android...

    MQL4语言语法讲解

    #### 一、MQL4语言简介及与MT4平台的关系 MQL4语言是MetaQuotes Software公司为MT4(MetaTrader 4)交易平台专门开发的一种编程语言。MT4作为全球最受欢迎的外汇交易平台之一,被广泛应用于外汇、股票指数、期货等...

    斯坦福大学Coursera机器学习作业答案

    `.gitattributes`定义了文件的属性,`.gitignore`指定了在版本控制中忽略的文件类型,`README.md`通常包含项目的简介和使用指南,帮助用户更好地理解和使用这些代码。 综上所述,这个压缩包不仅提供了Stanford大学...

    外汇套利-三角套利EA-mt4版

    简介 本产品是根据EURUSD,GBPUSD,EURGBP的报价延迟差设计的套利EA。 本产品适用于低点差低延迟的交易平台,点差越低延迟越低盈利效果越好。 以1万美金为例,建议手数为0.1~1手,激进者可用0.5~1手,稳健者0.3~0.5手...

    IBM虚拟化资料

    这套解决方案旨在帮助用户充分利用IBM System x™ ex4系列企业级服务器的强大功能和虚拟化应用软件的优势,实现服务器策略的可扩展性、高可靠性和易于维护的特点。 该方案的核心目标在于: - **降低x86服务器的成本...

    UCOS-II源码获得.pdf

    #### 一、UCOS-II简介 UCOS-II(μC/OS-II)是一款广泛应用于嵌入式系统的实时操作系统(RTOS)。它具有可抢占式多任务调度机制、优先级继承机制等特点,能够支持最多64个任务,并且具有良好的可移植性。由于其开放源...

Global site tag (gtag.js) - Google Analytics