Linux XFS文件系统描述观察及磁盘命令详解

更新时间:2024-01-07 01:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

XFS文件系统的描述数据观察

EXT 家族的 dumpe2fs去观,而XFS 家族用 xfs_info 去观察 [root@study ~]# xfs_info挂载点|装置文件名 [root@study ~]# df - - T /boot

FilesystemType1K-blocksUsedAvailableUse%Mounted on /dev/vda2xfs1038336 133704 904632 13% /boot

# 没错!可以看得出来是 xfs 文件系统的!来观察一下内容吧! [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=4096blocks=262144, imaxpct=25 5 = sunit=0swidth=0blks

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=4096blocks=0, rtextents=0

?

第1 行里面的isize指的是inode的容量,每个有256bytes 这么大。至于agcount则是前面谈到的储存区群组(allocation group) 的个数,共有4 个,agsize则是指每个储存区群组具有65536 个block 。配合第4 行的block 设定为4K,因此整个档案系统的容量应该就是4*65536*4K 这么大!

? ?

第2 行里面sectsz指的是逻辑磁区(sector) 的容量设定为512bytes 这么大的意思。

第4 行里面的bsize指的是block 的容量,每个block 为4K 的意思,共有262144 个block 在这个档案系统内。

第5 行里面的sunit与swidth与磁碟阵列的stripe 相关性较高。这部份我们底下格式化的时候会举一个例子来说明。

第7 行里面的internal 指的是这个登录区的位置在档案系统内,而不是外部设备的意思。且占用了4K * 2560 个block,总共约10M 的容量。

第9 行里面的realtime区域,里面的extent 容量为4K。不过目前没有使用。

?

?

?

磁盘与目录的容量

? df:列出文件系统的整体磁盘使用量;

[root@study ~]#df [- - ahikHTm] [ 目 录 或文件名] ] 选项与参数:

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统; -k :以 KBytes 的容量显示各文件系统; -m :以 MBytes 的容量显示各文件系统;

-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示; -H :以 M=1000K 取代 M=1024K 的进位方式;

-T :连同该 partition 的filesystem 名称 (例如xfs) 也列出; -i :不用磁盘容量,而以 inode 的数量来显示

du:评估文件系统的磁盘使用量(常用在推估目录所占容量) [root@study ~]# du [- - ahskm] 文件或目录名称 选项与参数:

-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。 -h :以人们较易读的容量格式 (G/M) 显示;

-s :列出总量而已,而不列出每个各别的目录占用容量; -S :不包括子目录下的总计,与 -s 有点差别。 -k :以 KBytes 列出容量显示; -m :以 MBytes 列出容量显示;

parted列出磁盘的分区表类型与分区信息

[root@study ~]# parted /dev/vda print

Model: Virtio Block Device (virtblk)# 磁盘的模块名称(厂商) Disk /dev/vda: 42.9GB # 磁盘的总容量

Sector size (logical/physical): 512B/512B# 磁盘的每个逻辑/物理扇区容量

Partition Table: gpt # 分区表的格式 (MBR/GPT)小为 4K 最大为 1G

blkid 列出装置的 UUID 等参数

lsblk 列出系统上的所有磁盘列表

[root@study ~]# lsblk [- - dfimpt] [device] 选项与参数:

-d :仅列出磁盘本身,并不会列出该磁盘的分区数据 -f :同时列出该磁盘内的文件系统名称

-i :使用 ASCII 的线段输出,不要使用复杂的编码 (再某些环境下很有用) -m :同时输出该装置在 /dev 底下的权限数据 (rwx 的数据) -p :列出该装置的完整文件名!而不是仅列出最后的名字而已。

-t :列出该磁盘装置的详细数据,包括磁盘队列机制、预读写的数据量大小等

默认输出的信息详解:

? NAME:就是装置的文件名啰!会省略 /dev等前导目录!

? MAJ:MIN:其实核心认识的装置都是透过这两个代码来熟悉的!分别是主要:次要装置代码! ? RM:是否为可卸除装置 (removable device),如光盘、USB 磁盘等等 ? SIZE:当然就是容量啰! ? RO:是否为只读装置的意思

? TYPE:是磁盘 (disk)、分区槽 (partition) 还是只读存储器 (rom) 等输出 ? MOUTPOINT:就是前一章谈到的挂载点!

使用parted命令可以分辨分区表类型,『MBR 分区表使用fdisk分区, GPT 分区表使用gdisk分区!』 [root@study ~]# gdisk装置名称具体看下行

[root@study ~]# gdisk/dev/vda<==仔细看,不要加上数字喔! Command (? for help): ?

前面省略。。。

d te a partition # 删除一个分区 中间省略。。。

n add a new partition # 增加一个分区 省略一行

p print the partition table# 印出分区表 (常用)

q quit without saving changes# 不储存分区就直接离开gdisk 省略部分。。。

w write table to disk and exit # 储存分区操作后离开gdisk

不管你进行了什么动作,只要离开 gdisk 时按下『q』,那么所有的动作『都不会生效!』相反的, 按下『w』就是动作生效的意思。

使用的『装置文件名』请不要加上数字,因为 partition是针对『整个磁盘装置』而不是某个 partition 呢!

Linux XFS系统格式化命令

[root@study ~]# mkfs.xfs [- - b bsize] [- - d parms] [- - i parms] [ [- - l parms] [- - L label] [- - f] \\ \\

[ [- - r parms] 装置名称 选项与参数:

关于单位:底下只要谈到『数值』时,没有加单位则为 bytes 值,可以用k,m,g,t,p(小写)等来解释 比较特殊的是 s这个单位,它指的是sector的『个数』喔!

-b:后面接的是block容量,可由512到64k,不过最大容量限制为Linux的 4k 喔! -d:后面接的是重要的 data section 的相关参数值,主要的值有:

agcount=数值:设定需要几个储存群组的意思(AG),通常与 CPU 有关

agsize=数值:每个AG设定为多少容量的意思,通常agcount/agsize只选一个设定即可 file :指的是『格式化的装置是个文件而不是个装置』的意思!(例如虚拟磁盘) size=数值:data section的容量,亦即你可以不将全部的装置容量用完的意思 su=数值:当有RAID时,那个stripe数值的意思,与底下的sw搭配使用 sw=数值:当有RAID时,用于储存数据的磁盘数量(须扣除备份碟与备用碟)

sunit=数值:与su相当,不过单位使用的是『几个sector(512bytes大小)』的意思 swidth=数值:就是su*sw的数值,但是以『几个sector(512bytes大小)』来设定 -f:如果装置内已经有文件系统,则需要使用这个-f来强制格式化才行! -i:与inode有较相关的设定,主要的设定值有:

size=数值:最小是256bytes最大是2k,一般保留256就足够使用了!

internal=[0|1]:log 装置是否为内建?预设为1内建,如果要用外部装置,使用底下设定 logdev=device :log 装置为后面接的那个装置上头的意思,需设定 internal=0才可! size=数值:指定这块登录区的容量,通常最小得要有512个 block,大约2M 以上才行! -L:后面接这个文件系统的标头名称Label name的意思! -r:指定realtime section 的相关设定值,常见的有:

extsize=数值:就是那个重要的extent数值,一般不须设定,但有RAID时, 最好设定与swidth的数值相同较佳!最范例一:列出 /dev/vda磁盘的相关数据

本文来源:https://www.bwwdw.com/article/327x.html

Top