免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1008 | 回复: 0
打印 上一主题 下一主题

Linux系统环境 XFS文件系统的使用介绍 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-08 21:21 |只看该作者 |倒序浏览

xfs
文件系统
是SGI开发的高级日志
文件系统

xfs
极具伸缩性,非常健壮。所幸的是SGI将其移植到了Lin ux系统中。在
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
文件系统
的使用
  1.下载与编译内核
  下载相应版本的内核补丁,解压补丁软件包,对系统核心打补丁
  下载地址:ftp://oss.sgi.com/projects/
xfs
/download/Release-1.1/kernel_patches/
xfs
-1.1-2.4.18-all.patch.bz2
  对核心打补丁,下载解压后,得到一个文件:
xfs
-1.1-2.4.18-all.patch文件。
对核心进行修补如下:
  # cd /usr/src/
Linux

  # patch -p1  SGI
xfs
filesystem support ##说明:将
xfs
文件系统
的支持编译进核心
  或
   SGI
xfs
filesystem support ##说明:以动态加载模块的方式支持
xfs
文件系统

  另外还有两个选择:
  Enable
xfs
DMAPI ##说明:对磁盘管理的API,存储管理应用程序使用
  Enable
xfs
Quota ##说明:支持配合Quota对用户使用磁盘空间大小管理
  完成以上工作后,退出并保存核心选择配置.
  之后,然后编译内核,安装核心:
  #make bzImage
  #make module
  #make module_install
  #make install
  如果你对以上复杂繁琐的工作没有耐心或没有把握,那么可以直接从SGI的站点上下载已经打好补丁的核心,其版本为2.4.18。它是一个rpm软件包,你只要简单地安装即可。SGI提交的核心有两种,分别供smp及单处理器的机器使用。
  2.创建
xfs
文件系统

  完成对核心的编译后,还应下载与之配套的
xfs
progs工具软件包,也即mkfs.
xfs
工具。不然我们无法完成对分区的格式化:即无法将一个分区格式化成
xfs
文件系统
的格式。要下载的软件包名称:
xfs
progs-2.0.3。
  将所下载的
xfs
Progs工具解压,安装,mkfs.
xfs
自动安装在/sbin目录下。
  #tar –xvf
xfs
progs-2.0.3.src.tar.gz
  #cd
xfs
progs-2.0.3src
  #./configure
  #make
  #make install
  使用mkfs.
xfs
格式化磁盘为
xfs
文件系统
,方法如下:
  # /sbin/mkfs.
xfs
/dev/sda6 #说明:将分区格式化为
xfs
文件系统
,以下为显示内容:
  meta-data=/dev/sda6 isize=256 agcount=8, agsize=128017 blks
  data = bsize=4096 blocks=1024135, imaxpct=25
  = sunit=0 swidth=0 blks, unwritten=0
  naming =version 2 bsize=4096
  log =internal log bsize=4096 blocks=1200
  realtime =none extsz=65536 blocks=0, rtextents=0
  格式化磁盘时,如果mkfs.
xfs
提示你分区原本已被格式化为其它
文件系统
,可以使用参数 –f 强行格式化:
  #/sbin/mkfs.
xfs
–f /dev/sda6
  3.加载
xfs
文件系统

  #mount –t
xfs
/dev/sda6 /
xfs
##其中/
xfs
是主分区/下的一个目录。
  最后,为了让系统启动后就自动加载,应该更改/etc/fstab,这样系统启动后就会自动加载
xfs
分区而不必每次都手工加载。
  要说明的一点是目前的
xfs
由于受
Linux
内存页限制,在x86版本中,只能实现
文件系统
的块尺寸为4K。另外,
xfs
文件系统
可以不同的方式mount,即允许
文件系统
以读方式加载,也允许以读写方式加载。这是因为
xfs
文件系统
用作根
文件系统
时,为了安全要以只读方式加载。
  三、
文件系统
的迁移
  要使得系统中的其它分区使用
xfs
文件系统
,还有一步是迁移
文件系统
。建议在迁移
文件系统
时,首先将磁盘上的数据、文件先备份,以免发生不可挽回的损失,在进行
文件系统
转换之间,最好能将整个系统进行完全备份。这一步有很多种方法,本文仅就笔者的迁移方法加以描述。各位可以按照自己习惯的方式去完成
  如果你想得到一个纯的
xfs
系统(系统的所有
文件系统
均采用
xfs
文件系统
)话,还得将根
文件系统
也格式化为
xfs
文件系统
。这实际上是比较繁杂的一步。因为根
文件系统
不能被umount,所以,必须首先创建一个分区,其
文件系统
为ext2
文件系统
,然后将目前的根分区上的所有文件与目录,原原本本地复制到这一个分区,然后更改/etc/fstab文件,替换原来的根分区。
  方法如下:
  $ mkfs -t ext2 /dev/hda4
  $ mkdir /mnt/temp
  $ mount -t ext2 /dev/hda4 /mnt/temp
  $ cd /
  $ tar lcvf - .|(cd /mnt/temp; tar xpvf - )
  以上操作是将根分区上的所有文件打包,复制到新建立的分区。当然,你也可以直接使用以下命令复制文件。
  # cp –dpR / /mnt/temp
  接着,将下次启动的根分区更改到/dev/hda4分区,更改/etc/fstab文件及/etc/lilo.conf ,然后,运行 lilo.
  重新启动后,新的根分区就已经为/dev/hda4。
  接下来,创建一个
xfs
文件系统
的分区:
  $ mkfs -t
xfs
/dev/hda2
  加载此分区,采用两样的方法,将根分区的内容复制到此分区
  $ mount -t
xfs
/dev/hda2 /mnt/temp
  在根分区下,运行
  $ cd /
  $ tar lcvf - .|(cd /mnt/temp; tar xpvf - )
  再次更改/etc/fstab、/etc/lilo.conf,用新建的
xfs
分区替换原来的ext2主分区。如下所示:
  /dev/hda2 /
xfs
defaults 1 1
  将新建的
xfs
分区用作根分区,保存以上设置。再次检查配置文件内容,确认无误后再重新启动系统。如果你的设置全部正确,那么系统成功启动后,你就拥有一个纯
xfs
文件系统
的系统了。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/29128/showart_2065875.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP