0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux如何使用XFS?

马哥Linux运维 来源:未知 作者:李倩 2018-07-26 16:41 次阅读

XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是SGI将其移植到了Linux系统中。在linux环境下。目前版本可用的最新XFS文件系统的为1.2版本,可以很好地工作在2.4核心下。

XFS文件系统简介

主要特性包括以下几点:

数据完全性

采用XFS文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以你磁盘上的文件不再会意外宕机而遭到破坏了。不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。

传输特性

XFS文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS查询与分配存储空间非常快。xfs文件系统能连续提供快速的反应时间。笔者曾经对XFS、JFS、Ext3、ReiserFS文件系统进行过测试,XFS文件文件系统的性能表现相当出众。

可扩展性

XFS 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大小为263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为18 exabytes。

XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。XFS能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。

传输带宽

XFS 能以接近裸设备I/O的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。

XFS文件系统的使用

下载与编译内核

下载相应版本的内核补丁,解压补丁软件包,对系统核心打补丁

下载地址:ftp://oss.sgi.com/projects/xfs/d … .4.18-all.patch.bz2

对核心打补丁,下载解压后,得到一个文件:xfs-1.1-2.4.18-all.patch文件。

对核心进行修补如下:

#cd/usr/src/linux#patch-p1< /path/to/xfs-1.1-2.4.18-all.patch

修补工作完成后,下一步要进行的工作是编译核心,将XFS编译进Linux核心可中。

首先运行以下命令,选择核心支持XFS文件系统:

#makemenuconfig

在“文件系统“菜单中选择:

<*> SGI XFS filesystem support ##说明:将XFS文件系统的支持编译进核心或 SGI XFS filesystem support ##说明:以动态加载模块的方式支持XFS文件系统

另外还有两个选择:

EnableXFSDMAPI##说明:对磁盘管理的API,存储管理应用程序使用EnableXFSQuota##说明:支持配合Quota对用户使用磁盘空间大小管理

完成以上工作后,退出并保存核心选择配置

之后,然后编译内核,安装核心:

#makebzImage#makemodule#makemodule_install#makeinstall

如果你对以上复杂繁琐的工作没有耐心或没有把握,那么可以直接从SGI的站点上下载已经打好补丁的核心,其版本为2.4.18。它是一个rpm软件包,你只要简单地安装即可。SGI提交的核心有两种,分别供smp及单处理器的机器使用。

创建XFS文件系统

完成对核心的编译后,还应下载与之配套的XFSprogs工具软件包,也即mkfs.xfs工具。不然我们无法完成对分区的格式化:即无法将一个分区格式化成XFS文件系统的格式。要下载的软件包名称:xfsprogs-2.0.3。

将所下载的XFSProgs工具解压,安装,mkfs.xfs自动安装在/sbin目录下。

#tar–xvfxfsprogs-2.0.3.src.tar.gz#cdxfsprogs-2.0.3src#./configure#make#makeinstall

使用mkfs.xfs格式化磁盘为xfs文件系统,方法如下:

#/sbin/mkfs.xfs/dev/sda6#说明:将分区格式化为xfs文件系统,以下为显示内容:meta-data=/dev/sda6isize=256agcount=8,agsize=128017blksdata=bsize=4096blocks=1024135,imaxpct=25=sunit=0swidth=0blks,unwritten=0naming=version2bsize=4096log=internallogbsize=4096blocks=1200realtime=noneextsz=65536blocks=0,rtextents=0

格式化磁盘时,如果mkfs.xfs提示你分区原本已被格式化为其它文件系统,可以使用参数 –f 强行格式化:

#/sbin/mkfs.xfs–f/dev/sda6

加载XFS文件系统

#mount–txfs/dev/sda6/xfs

其中/xfs是主分区/下的一个目录。

最后,为了让系统启动后就自动加载,应该更改/etc/fstab,这样系统启动后就会自动加载xfs分区而不必每次都手工加载。

要说明的一点是目前的xfs由于受linux内存页限制,在x86版本中,只能实现文件系统的块尺寸为4K。另外,XFS文件系统可以不同的方式 mount,即允许文件系统以读方式加载,也允许以读写方式加载。这是因为xfs文件系统用作根文件系统时,为了安全要以只读方式加载。

文件系统的迁移

要使得系统中的其它分区使用XFS文件系统,还有一步是迁移文件系统。建议在迁移文件系统时,首先将磁盘上的数据、文件先备份,以免发生不可挽回的损失,在进行文件系统转换之间,最好能将整个系统进行完全备份。这一步有很多种方法,本文仅就笔者的迁移方法加以描述。各位可以按照自己习惯的方式去完成

如果你想得到一个纯的xfs系统(系统的所有文件系统均采用XFS文件系统)话,还得将根文件系统也格式化为xfs文件系统。这实际上是比较繁杂的一步。因为根文件系统不能被umount,所以,必须首先创建一个分区,其文件系统为ext2文件系统,然后将目前的根分区上的所有文件与目录,原原本本地复制到这一个分区,然后更改/etc/fstab文件,替换原来的根分区。

方法如下:

$mkfs-text2/dev/hda4$mkdir/mnt/temp$mount-text2/dev/hda4/mnt/temp$cd/$tarlcvf-.|(cd/mnt/temp;tarxpvf-)

以上操作是将根分区上的所有文件打包,复制到新建立的分区。当然,你也可以直接使用以下命令复制文件。

#cp–dpR//mnt/temp

接着,将下次启动的根分区更改到/dev/hda4分区,更改/etc/fstab文件及/etc/lilo.conf ,然后,运行 lilo.

重新启动后,新的根分区就已经为/dev/hda4。

接下来,创建一个xfs文件系统的分区:

$mkfs-txfs/dev/hda2

加载此分区,采用两样的方法,将根分区的内容复制到此分区

$mount-txfs/dev/hda2/mnt/temp

在根分区下,运行

$cd/$tarlcvf-.|(cd/mnt/temp;tarxpvf-)

再次更改/etc/fstab、/etc/lilo.conf,用新建的xfs分区替换原来的ext2主分区。如下所示:

/dev/hda2/xfsdefaults11

将新建的xfs分区用作根分区,保存以上设置。再次检查配置文件内容,确认无误后再重新启动系统。如果你的设置全部正确,那么系统成功启动后,你就拥有一个纯XFS文件系统的系统了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10981

    浏览量

    206689
  • 存储空间
    +关注

    关注

    0

    文章

    47

    浏览量

    10491

原文标题:在Linux环境下如何使用XFS文件系统

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    有人用51做过xfs5152的语音播报吗

    有人用51做过xfs5152的语音播报吗
    发表于 04-15 13:56

    XFS5152CE语音合成模块

    TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。语音播报功能的实现方式TTS语音模块,比如XFS5152、SYN6288等ISD4000系列语音
    发表于 08-12 08:14

    XFS5152CE是什么,怎么使用

    文档文章目录系列文章目录前言一、XFS5152CE是什么?二、使用步骤1.利用配套软件合成数据帧2.利用I2C协议向模块写入控制指令总结前言随着AI人工智能的发展,人机交互应用的越来越广泛,本文讲解了作为人机交互中应用比较广泛的模块--语音模块,只要是讲解了利用I2C驱动芯片。一、
    发表于 01-07 06:02

    如何对在RK3288平台上的XFS5152语音模块进行驱动调试呢

    如何对在RK3288平台上的XFS5152语音模块进行驱动调试呢?其过程是怎样的?
    发表于 03-03 07:04

    “Diebold XFS服务”源代码级深入解析

    “Diebold XFS服务”源代码级深入解析 这篇文章的目的是记录一下我分析“Diebold XFS服务”软件是怎样实现的过程。当然,我是没有Diebold软件的源代码的,也没看
    发表于 02-09 14:50 16次下载

    XfS文件系统,XfS文件系统是什么意思

    XfS文件系统,XfS文件系统是什么意思 XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是SGI将其移植到了Lin
    发表于 03-29 10:39 4072次阅读

    Linux环境下如何使用XFS文件系统

    XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是SGI将其移植到了Linux系统中。在linux环境下。目前版本可用的最新
    发表于 04-27 19:18 1004次阅读

    你了解过Linux日志文件系统?

    最早的日志文件系统是 IBM® Journaled File System(JFS)。JFS 于 1990 年首次发行,而当前 Linux 支持的版本是后期开发的 JFS2。1994 年,Silicon Graphics 为 IRIX 操作系统引进了高性能的 XFS
    发表于 04-29 16:59 3819次阅读
    你了解过<b class='flag-5'>Linux</b>日志文件系统?

    Linux的文件类型介绍

    Windows系统格式化硬盘时,会指定格式FAT或者NTFS,而Linux的文件系统格式为ext3、ext4或者xfs
    的头像 发表于 10-19 09:19 814次阅读

    【服务器数据恢复】重装系致XFS文件系统分区丢失的数据恢复案例

    总共一个LUN,划分两个分区;:sdc1分区通过LVM扩容的方式加入到了root_lv中,sdc2分区格式化为XFS文件系统。
    的头像 发表于 12-29 11:39 529次阅读
    【服务器数据恢复】重装系致<b class='flag-5'>XFS</b>文件系统分区丢失的数据恢复案例

    如何使用fsck和xfs_repair命令修复Linux磁盘错误?

    fsck(文件系统一致性检查)是用于检查Linux操作系统文件系统一致性的工具。
    的头像 发表于 03-15 09:24 7077次阅读

    linux shell脚本分享

    只支持分配主分区和标准的linux文件系统(ext4/xfs)的分区。
    的头像 发表于 04-11 11:09 320次阅读

    服务器数据恢复-LINUX下误删除/格式化的数据恢复方案

    服务器数据恢复环境: 基于EXT2/EXT3/EXT4/Reiserfs/Xfs文件系统的Linux操作系统。 服务器故障: LINUX操作系统下误删除/格式化数据。
    的头像 发表于 09-15 15:29 535次阅读

    服务器数据恢复—XFS文件系统数据恢复案例

    服务器使用磁盘柜+RAID卡搭建了一组riad5磁盘阵列。服务器上层分配了一个LUN,划分了两个分区:sdc1分区和sdc2分区。通过LVM扩容的方式,将sdc1分区加入到了root_lv中;sdc2分区格式化为XFS文件系统。服务器安装的Linux系统。
    的头像 发表于 12-05 14:10 417次阅读
    服务器数据恢复—<b class='flag-5'>XFS</b>文件系统数据恢复案例

    服务器数据恢复-OceanStor存储xfs文件系统分区数据恢复案例

    某品牌OceanStor T系列某型号存储+MD1200磁盘柜,组建的raid5磁盘阵列。上层分配了1个lun,安装的linux操作系统,划分两个分区,分区一通过lvm进行扩容,分区二格式化为xfs文件系统。
    的头像 发表于 12-22 13:26 312次阅读
    服务器数据恢复-OceanStor存储<b class='flag-5'>xfs</b>文件系统分区数据恢复案例