栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

关于xfs 文件系统的一些操作

关于xfs 文件系统的一些操作

如何判断一个xfs文件系统enable或者没有enable reflink

xfs_info 一个xfs文件系统如果发现reflink等于0则表示没有enable reflink
如果等于1则表示reflink enabled了

sh-4.2# xfs_info /u01
meta-data=/dev/mapper/VGExaDbDisk.u01.20.img-LVDBDisk isize=256    agcount=50, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0 spinodes=0 rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=65536000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

如何查看一个xfs文件系统的版本

第一种方式可以查看该机器上所安装的xfs的版本

sh-4.2# rpm -qa | grep xfs
xfsprogs-4.15-6.0.1.el7.x86_64

还有一种方式就是使用xfs_db命令

首先查看xfs文件系统锁关联的磁盘设备

sh-4.2# mount | grep /u01
/dev/mapper/VGExaDbDisk.u01.20.img-LVDBDisk on /u01 type xfs (rw,relatime,attr2,inode64,prjquota)
/dev/mapper/VGExaDbDisk.grid19.0.0.0.211019.img-LVDBDisk on /u01/app/19.0.0.0/grid type xfs (rw,relatime,attr2,inode64,noquota)

然后使用xfs_db命令

sh-4.2# xfs_db -r /dev/mapper/VGExaDbDisk.u01.20.img-LVDBDisk
xfs_db> version
versionnum [0xb4e4+0x28a] = V4,Nlink,DIRV2,QUOTA,ALIGN,LOGV2,EXTFLG,MOREBITS,ATTR2,LAZYSBCOUNT,PROJID32BIT,FTYPE

测试cp --reflink 在xfs 文件系统上

/u01/newtrace是一个xfs的文件系统

sh-4.2# df -h /u01/newtrace/
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0      280G  1.9G  279G   1% /u01/newtrace

下面我们dd一个5G的文件

sh-4.2# dd if=/dev/zero of=./a.data bs=1024000000 count=5 status=progress
5120000000 bytes (5.1 GB) copied, 3.995597 s, 1.3 GB/s
5+0 records in
5+0 records out
5120000000 bytes (5.1 GB) copied, 3.99569 s, 1.3 GB/s
sh-4.2# ls -al
total 5200000
drwxr-xr-x 2 root root             56 Feb 20 18:17 .
drwxr-xr-x 9 root oinstall        107 Feb 20 18:02 ..
-rw-r--r-- 1 root root      102400000 Feb 20 18:04 1.txt
-rw-r--r-- 1 root root      102400000 Feb 20 18:04 1.txt.reflink_1
-rw-r--r-- 1 root root     5120000000 Feb 20 18:17 a.data

可以看到这个文件系统的可用空间少了5G
sh-4.2# df -h /u01/newtrace/
Filesystem                                                Size  Used Avail Use% Mounted on
/dev/loop0                                                280G  6.6G  274G   3% /u01/newtrace

我们创建一个reflink文件
sh-4.2# cp --reflink=always a.data a.data.reflink

ls -al看到a.data.reflink是5G大小,但实际上是和a.data共享block的,其实没有占用空间
sh-4.2# ls -al
total 10200000
drwxr-xr-x 2 root root             78 Feb 20 18:18 .
drwxr-xr-x 9 root oinstall        107 Feb 20 18:02 ..
-rw-r--r-- 1 root root      102400000 Feb 20 18:04 1.txt
-rw-r--r-- 1 root root      102400000 Feb 20 18:04 1.txt.reflink_1
-rw-r--r-- 1 root root     5120000000 Feb 20 18:17 a.data
-rw-r--r-- 1 root root     5120000000 Feb 20 18:18 a.data.reflink

从df的输出看,可用空间并没有减少
sh-4.2# df -h /u01/newtrace
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0      280G  6.6G  274G   3% /u01/newtrace



使用filefrag可以看出其物理block是一样的范围

sh-4.2# filefrag -e -k ./a.data.reflink
Filesystem type is: 58465342
File size of ./a.data.reflink is 5120000000 (5000000 blocks of 1024 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0.. 4999999:     100080..   5100079: 5000000:             eof
./a.data.reflink: 1 extent found
sh-4.2# filefrag -e -k ./a.data
Filesystem type is: 58465342
File size of ./a.data is 5120000000 (5000000 blocks of 1024 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0.. 4999999:     100080..   5100079: 5000000:             eof
./a.data: 1 extent found

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/746151.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号