@yanglt7
2018-03-13T14:42:11.000000Z
字数 1835
阅读 1006
Linux
常见的支持系统有:
查看 Linux支持的档案系统:[ls -l /lib/modules/$(uname -r)/kernel/fs]
系统目前已载入到记忆体中支持的档案系统:[cat /proc/filesystems]
Linux 的系统是通过 Virtual Filesystems Switch 的核心功能去读取 filesystem 的。
EXT档案系统家族对于格式化处理方面,采用的是预先规划出所有的 inode/block/meta data 等资料,未来系统可以直接采用,不需要再进行动态配置的方法。耗费很长的时间。
1. XFS 档案系统的配置
CentOS 7.x 的预设档案系统为 xfs。xfs是被开发用于高容量磁碟以及高效能档案系统。
xfs 档案系统在资料的分布上,主要规划为三个部分:
资料区(data section)
放置 inode/data block/superblock 等资料。和 ext 家族的 block group 类似,也是分为多个储存区群组(allocation groups)来放置档案系统所需要的资料。每个存储区群组都包含了
(1)整个档案系统的 superblock;
(2)剩余空间的管理机制;
(3)inode 的分配与追踪;
此外,inode 与 block 都是系统需要用到时,才动态配置产生,所以格式化很快。
另外,与 ext 家族不同的是,xfs 的 block 与 inode 有多重不同的容量可供设定,block 容量可由 512bytes~64K 调配。不过,在Linux 的环境下,由于记忆体控制的关系(分页档 pagesize 的容量之故),因此最高可使用的 block 大小为4K。inode 容量可由 256bytes~2M。
档案系统活动登录区(log section)
档案的变化会在此记录,直到该变化完整的写入资料区后,该记录才会终结。如果档案系统因为某些原因损毁时,系统会在这个登录活动区进行检验,看看系统在挂掉之前,档案系统正在运行什么动作,借此快速的修复档案系统。在这个区域中,可以指定外部的磁碟来作为 xfs 档案系统的日志区块。
即时运作区(realtime section)
当有档案要被建立时,xfs 会在这个区段里面寻找一个到数个 extent 区块,将档案放置在这个区块内,等到分配完毕后,再写入到 data section 的 inode 与 block 去。这个 extent 区块的大小要在格式化之前就指定,大小为 4K~1G。一般非磁碟阵列的磁碟预设为 64K,而具有类似磁碟阵列的 stripe 情况下,则建议 extent 设定为与 stripe 一样大较佳。这个 extent 最好不要乱动,因为可能会影响到实体磁碟的效能。
2.XFS 档案系统的描述资料观察
xfs_info 挂载点|装置档名
例
例1:找出系统 /boot 这个挂载点底下的档案系统的 superblock 记录
[root@study ~]# df -T /boot
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/vda2 xfs 1038336 133704 904632 13% /boot
例2:
[root@study ~]# xfs_info /dev/vda2
1 meta-data=/dev/vda2 isize=256 agcount=4, agsize=65536 blks
2 = sectsz=512 attr=2, projid32bit=1
3 = crc=0 finobt=0
4 data = bsize=4096 blocks=262144, imaxpct=25
5 = sunit=0 swidth=0 blks
6 naming =version 2 bsize=4096 ascii-ci=0 ftype=0
7 log =internal bsize=4096 blocks=2560, version=2
8 = sectsz=512 sunit=0 blks, lazy-count=1
9 realtime =none extsz=4096 blocks=0, rtextents=0