【Linux】XFS文件系统
XFS WIKI介绍
XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993.[6] It was the default file system in SGI's IRIX operating system starting with its version 5.3. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions, some of which use it as the default file system.
XFS excels in the execution of parallel input/output (I/O) operations due to its design, which is based on allocation groups (a type of subdivision of the physical volumes in which XFS is used- also shortened to AGs). Because of this, XFS enables extreme scalability of I/O threads, file system bandwidth, and size of files and of the file system itself when spanning multiple physical storage devices. XFS ensures the consistency of data by employing metadata journaling and supporting write barriers. Space allocation is performed via extents with data structures stored in B+ trees, improving the overall performance of the file system, especially when handling large files. Delayed allocation assists in the prevention of file system fragmentation; online defragmentation is also supported. A feature unique to XFS is the pre-allocation of I/O bandwidth at a pre-determined rate; this is suitable for many real-time applications. However, this feature was supported only on IRIX, and only with specialized hardware.
A notable XFS user, NASA Advanced Supercomputing Division, takes advantage of these capabilities deploying two 300+ terabyte XFS filesystems on two SGI Altix archival storage servers, each of which is directly attached to multiple Fibre Channel disk arrays.[7]
XFS优缺点
XFS是高性能文件系统,由于它的高性能,XFS成为了许多企业级系统的首选,特别是有大量数据,需要结构化伸缩性和稳定性的。例如,RHEL/CentOS 7 和Oracle Linux将XFS作为默认文件系统,SUSE/openSUSE已经为XFS做了长期支持。
XFS有许多独特的性能提升功能使他从众多文件系统中脱颖而出,像可伸缩/并行 IO,元数据日志,热碎片整理,IO 暂停/恢复,延迟分配等。
XFS 文件系统有一些缺陷,例如它不能压缩,删除大量文件时性能低下
XFS工具集安装
yum install xfsprogs
Linux 7以上版本,系统将XFS作为默认文件系统。
[root@localhost ~]# lsb_release -d
Description: CentOS Linux release 7.5.1804 (Core)
我在虚拟层划分了一块磁盘500G,/dev/sdb给与虚拟机。
XFS文件系统装载
查看已经划分好的/dev/sdb磁盘
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 29.8G 0 part /
└─sda3 8:3 0 10G 0 part [SWAP]
sdb 8:16 0 500G 0 disk /data
sr0 11:0 1 1024M 0 rom
xfx文件系统格式化
[root@mylnx008 ~]# mkfs.xfs -f /dev/sdb
挂载XFS文件系统
[root@mylnx008 ~]# mkdir /data
[root@mylnx008 ~]# mount -t xfs /dev/sdb /data
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 30G 1.4G 27G 5% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.8M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 190M 139M 38M 79% /boot
tmpfs 380M 0 380M 0% /run/user/0
/dev/sdb 500G 33M 500G 1% /data
配置/etc/fstab文件
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Jun 28 13:45:55 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=f9c28539-1313-4a49-a3ed-475f43dd6bad / ext4 defaults 1 1
UUID=cabeff84-ec5d-45d0-b74b-b19499a8608f /boot ext4 defaults 1 2
UUID=8a13be64-ef16-4acd-9988-38b9df9b8273 swap swap defaults 0 0
/dev/sdb /data xfs defaults 0 0
XFS扩容
由于XFS可以横向扩展.
在虚拟层/dev/sdb扩展到2TB。
查看命令
[root@localhost ~]# xfs_info /data
meta-data=/dev/sdb isize=512 agcount=8, agsize=32768000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=262144000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=64000, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
可以看到/data目录的挂载点是/dev/sdb
在线动态扩展
[root@localhost ~]# xfs_growfs /data
meta-data=/dev/sdb isize=512 agcount=8, agsize=32768000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=262144000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=64000, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 262144000 to 536870912
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 30G 1.4G 27G 5% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.8M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 190M 139M 38M 79% /boot
/dev/sdb 2.0T 33M 2.0T 1% /data
tmpfs 380M 0 380M 0% /run/user/0
可以看到/data目录扩展到2TB了。
【Linux】XFS文件系统的更多相关文章
- linux xfs文件系统无法用readdir获取dirent文件类型d_type则用stat获取暨stat函数讲解
stat函数讲解 表头文件: #include <sys/stat.h> #include <unistd.h>定义函数: int stat ...
- Linux高级运维 第四章 文件的基本管理和XFS文件系统备份恢复
4.1 Linux系统目录结构和相对/绝对路径 4.1.1系统目录结构 在windows系统中,查看文件先进入相应的盘符,然后进入文件目录 在windows中,它是多根 c:\ d:\ e ...
- 转 Linux日志文件系统及性能分析
日志文件系统可以在系统发生断电或者其它系统故障时保证整体数据的完整性,Linux是目前支持日志文件系统最多的操作系统之一,本文重点研究了Linux常用的日志文件系统:EXT3.ReiserFS.XFS ...
- linux下文件系统类型的学习
1. 以超级用户权限登陆Linux,进入 /lib/modules/2.6.32--504.el6.x86_64/kernel/fs目录执行 ls 命令(不同Linux发行版本的Fs目录有些不同你可 ...
- 16_用LVM扩展xfs文件系统(当分区空间不够时)
1. 查看当前卷组空间(volume group)使用情况 [root@localhost ~]# vgdisplay 从下面的代码中发现剩余空间为0 --- Volume group --- VG ...
- xfs文件系统磁盘配额
引言 这篇文章简单介绍一下xfs文件系统的磁盘配额配置. 文章目录 0×1.开启分区磁盘配额 0×2.使用xfs_quota命令配置磁盘配额 0×1.开启分区磁盘配额 对于ext4文件以前的文件系统, ...
- 文件的基本管理和XFS文件系统备份恢复
4.1 Linux系统目录结构和相对/绝对路径 4.1.1系统目录结构 在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录 在WIN中,它是多根 c:\ d:\ e:\ Linux ...
- Ubuntu下创建XFS文件系统的LVM
以前在Linux下面玩LVM,一般都是选择ext3.ext4格式的文件系统,最近在Ubuntu 16.04.5下安装配置一个MySQL数据库服务器,遂测试了一下XFS文件系统的LVM,其实仔细对比下来 ...
- Centos 7 LVM xfs文件系统修复
Centos 7 LVM xfs文件系统修复 今天一大早,zabbix开始报警了,一台linux主机出现问题. 登陆控制台查看,报如下错误. 解决方法如下: ls -l /dev/mapper xfs ...
- ext与xfs文件系统比较与总结
centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3 1.EXT2简介 EXT2第二代扩展文件系统(英语:second extended filesystem ...
随机推荐
- 关于Actor Component的思考--学习斯坦佛UE+C++
跟着B站的视频学习,感觉自己的头很混乱.所以浅浅总结一下创建Actor Component之后其的作用和相关操作. Actor Component 首先Component为一个组件,源码就是一个类的声 ...
- Cesium 根据飞机航线计算飞机的Heading(偏航角)、Pitch(俯仰角)、Roll(翻滚角)
需求 设置飞机的一些坐标位置(经纬度高度),插值得到更多的坐标位置,然后飞机按照这些坐标集合形成的航线飞行,飞机的朝向.俯仰角以及飞机转弯时的翻转角根据坐标集合计算得出,而不需要手动设置heading ...
- #AC自动机#洛谷 2444 [POI2000]病毒
题目 给定若干01串,问是否存在无限长的01串任意子串不是给定的若干串 分析 如果在AC自动机上跳到了访问过的前缀即代表存在一个循环可以无限跳, 在AC自动机上记录哪些状态是不能访问的,在AC自动机上 ...
- 小师妹学JavaIO之:文件读取那些事
目录 简介 字符和字节 按字符读取的方式 按字节读取的方式 寻找出错的行数 总结 简介 小师妹最新对java IO中的reader和stream产生了一点点困惑,不知道到底该用哪一个才对,怎么读取文件 ...
- SQL FOREIGN KEY 约束- 保障表之间关系完整性的关键规则
SQL FOREIGN KEY 约束 SQL FOREIGN KEY 约束用于防止破坏表之间关系的操作.FOREIGN KEY 是一张表中的字段(或字段集合),它引用另一张表中的主键.具有外键的表称为 ...
- openGauss单机部署
openGauss 单机部署 一.安装环境 操作系统:虚拟机 VMware.CentOS7.9 环境设置: (1)虚拟机内存 3G.磁盘 100G (2)系统版本修改 一开始使用了 centos8,无 ...
- .NET Aspire预览5版本 发布
2024年4月11日发布了.NET Aspire预览5版本,这个版本引入了对AWS的支持,并对Azure功能进行了改进.重点内容包括拆分Aspire.Hosting和Aspire.Hosting.Az ...
- nginx重新整理——————nginx 的设计模型[八]
前言 简单介绍一下nginx的设计模型,对我们设计程序还是有一定帮助的. 正文 这里先列一下模型哈,后面有深入篇,介绍的比较清楚. nginx 的处理模型: nginx 进程模型: 可以看到下面列出了 ...
- redis 简单整理——慢查询[八]
前言 简单整理一下redis的慢查询. 正文 什么是慢查询呢? 一般存储系统就是系统在命令执行前后计算每条命令的执行时间,当超出预设阀值,就将这条命令的相关信息记录下来. 但是有人可能没有看到慢查询日 ...
- WPF随笔收录-RestSharp下载文件406问题
一.前言 在项目开发过程中,涉及到通过http下载文件的需求,最近遇到一个406问题,由于第一次接触这个问题,也被问题卡了好久,在网上风暴了很久才找到解决办法: 二.解决方法 解决的办法就是在requ ...