1 Linux磁盘管理体系简介
Linux磁盘管理分为五个步骤:首先在服务器上添加相应的硬盘(如/dev/sda、sdb、sdc等),对全新的服务器(即没有操作系统)做硬RAID0、RAID1、RAID5、RAID10或者逻辑卷LVM,然后进行磁盘分区, 创建完分区后进行格式化分区(初始化inode和block),最后就是挂载到linux文件系统中就可以进行安装操作系统或者存放数据
磁盘管理体系图一
1.1 磁盘读写数据的原理
1) 磁盘是按照柱面为单位读写数据的,即先读取同一个盘面的某一个磁道,读完之后,如果数据没有读完,磁头也不会切换其他的磁道,而是选择切换磁头,读取下一个盘面的相同半径的磁道,直到所有盘面的相同半径 的磁道读取完成之后,如果数据还没有读写完成,才会切换其他不同半径的磁道,这个切换磁道的过程称为寻道 2) 不同磁头间的切换是电子切换,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换 3) 磁头寻道是机械运动,切换磁头是电子切换
2 Linux磁盘分区类型
2.1 16字节分区表说明
3 Linux磁盘分区重点小结
1) 给磁盘分区的实质就是针对上述0磁头0磁道1扇区的前446字节之后的64bytes的分区表进行设置,即主要是划分起始以及结束磁头号、扇区号即柱面号 2) 给磁盘分区的工具有fdisk(适合给小于2TB的磁盘分区),parted(擅长给大于2TB的磁盘分区,也可以对小于2TB的磁盘分区),首选fdisk,只有磁盘大于2TB时才去选parted 补充:(企业面试题:一台服务器6块600G的磁盘,raid5后,总大小3TB,此时无法安装系统,请问为什么?) 解决办法: 方法1:做raid5后,不要重启装系统,而是再回到raid界面,继续分1个小的虚拟磁盘vd 200G,用这个200G的虚拟磁盘装系统,装完系统后再把剩余的2.8T分区通过parted 方法2:先拿1块盘做raid0,剩下5块盘做raid5,在raid0上安装操作系统 方法3:装系统时,选择gpt分区格式,即可安装操作系统 3) 一块磁盘的分区表仅有64bytes大小,每个分区表要占用16字节,因此一块硬盘仅支持四个分区表信息,即主分区+扩展分区的总量不超过4个 4) 磁盘分区是按照柱面(cylinder)来划分的 5) 扩展分区不能直接使用,需要在扩展分区的基础上创建逻辑分区才行 6) 扩展分区有自己的分区表,因此扩展分区下面的逻辑分区可以有多个 磁盘在使用前一般要进行分区,当然如果不分区直接格式化使用也是没问题的,但这不是常见情况;磁盘分区有主分区、扩展分区和逻辑分区之分;一块硬盘最多可以有4个分区表信息(磁盘本身限制),其中一个主分区的 位置可以用一个扩展分区替换,且一块硬盘只能有一个扩展分区(操作系统限制),在这个扩展分区内可以划分多个逻辑分区(IDE磁盘逻辑分区大概编号可以是5-63,SATA编号5-15)
4 RAID介绍
4.1 什么是RAID?
RAID是廉价的冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称,有时也简称磁盘阵列(Disk Array) RAID是一种把多块独立的物理磁盘按不同的技术方式组合起来形成一个磁盘组,在逻辑上(做完RAID,装系统后)看起来就是一块大的磁盘,可以提供比单个物理磁盘更大的存储容量或更高的存储性能, 同时又能提供不同级别数据冗余备份的一种技术 RAID技术分类:基于硬件的RAID技术和基于软件的RAID技术
4.2 RAID级别对比说明
RAID级别
关键优点
关键缺点
实际应用场景
RAID 0
读写速度最快
没有任何冗余
Mysql Slave,集群节点RS
RAID 1
100%冗余,镜像
读写性能一般,成本高
单独的,数据重要,且不能宕机的业务。监控,系统盘等
RAID 5
具备一定性能和冗余性,可以坏一块盘,读性能不错,奇偶校验
写入性能不高
一般业务都可以用
RAID 0+1
RAID 10
读写速度很快,100%冗余
成本高
性能和冗余要求都很好的业务,数据库主库和存储主节点
4.3 RAID级别定义说明
RAID级别
描述
速度
容错性能
RAID 0
磁盘分段
磁盘并行输入\输出
无
RAID 1
磁盘镜像
没有提高
有(允许单个磁盘故障)
RAID 2
磁盘分段加海明码纠错
没有提高
有(允许单个磁盘故障)
RAID 3
磁盘分段加专用奇偶校验盘
磁盘并行输入\输出
有(允许单个磁盘故障)
RAID 4
磁盘分段加专用奇偶校验盘需异步磁盘
磁盘并行输入\输出
有(允许单个磁盘故障)
RAID 5
磁盘分段加奇偶校验分布在各个磁盘上
磁盘并行输入\输出,比RAID0稍慢
有(允许单个磁盘故障)
RAID 10
速度快、完全容错,成本高
速度快
有(允许50%个磁盘故障)
4.4 RAID与LVM的区别
4.4.1 什么是LVM?
LVM全称(Logic Volume Management)逻辑卷管理,最大用途是可以灵活的管理磁盘的容量,让磁盘分区可以随意的放大或者缩小,便于更好的应用磁盘的剩余空间 LVM是在硬盘的分区之上,创建一个逻辑层,以方便系统管理整个硬盘分区系统。LVM最先是由IBM开发,在AIX系统上实现,OS/2操作系统与HP-UX也支持这个功能。在1998年,HeinzMauelshagen 根据在HP-UX上的LVM管理器,写出第一个linux版本
4.4.2 RAID与LVM的区别
LVM:灵活的管理磁盘的容量,有一定的冗余和性能功能,但是很弱 RAID:更侧重于性能和数据安全 如果过于强调性能与备份,那么还是应该使用RAID功能,而不是LVM
4.5 RAID好处
1) 提升数据安全性 2) 提升数据读写性能 3) 提供更大的单一逻辑磁盘数据容量存储
4.6 RAID 0级别
以4块硬盘(100G)RAID 0为例说明
关注点
描述
容量
是4块盘加在一起的容量(400G),在raid级别中具备最高的存储性能,原理是把连续的数据分散到多个磁盘上进行存取(并行方式)
性能
理论上磁盘读写速度比单盘提升4倍,磁盘越多倍数越小
冗余
无任何冗余,坏1块盘,整个RAID就都不能使用了,数据全部丢失
场景
适合于大规模高并发读写,但对数据安全性要求不高的情况。如:集群中的RS,做虚拟机的实体机、负载均衡群集下面的多个相同RS节点服务器,如分布式文件存储下面的CHUNK SERVER,以及Mysql主从复制的多个Slave服务器
特点
速度快、无冗余、容量无损失
注意
制作RAID 0至少是1块物理硬盘,不同磁盘大小最好一致(生产环境使用单盘要做成RAID 0,否则可能无法使用)
4.7 RAID 1级别
以2块硬盘(100G)为例说明
关注点
描述
容量
损失50%的数据容量,如:2块100G的盘,做RAID 1后,容量为200G,原理是写入一个硬盘的数据百分之百地自动复制到另一块硬盘上,实现存储双份的数据
性能
RAID 1不能提高存储性能,理论上写性能和单盘相差不大;有人说读取速率是单盘的2倍,有待验证
冗余
在所有RAID级别中,RAID 1提供最高的数据安全保障,冗余度50%
场景
适用于存放重要数据,如服务器系统分区和对性能要求不高的数据库存储等领域
特点
50%冗余,容量损失一半,具有利用备份数据重构RAID 1,即镜像mirror
注意
制作RAID 1至少是两块硬盘,整个RAID大小等于两个磁盘中最小硬盘的容量(最好使用同样大小的硬盘)
4.8 RAID 5级别
关注点
描述
容量
损失一块硬盘的数据容量
性能
RAID 5具有和RAID 0相近似的数据读取速度,只是多个一个奇偶校验信息,写入数据的速度比对单个硬盘进行写入操作稍慢
冗余
可损失一块盘,RAID 5数据安全保障程度比RAID 1低,而磁盘空间利用率要比RAID 1高
场景
适合对性能和冗余都有一定要求,又都不是非常高的情况,如:Mysql的主从库,存储等
特点
容量损失一块盘,写数据通过奇偶检验,RAID 0和RAID 1的折中方案
注意
制作RAID 5需要至少3块物理硬盘,提供热备盘实现故障恢复,采用奇偶校验,可靠性强,且只有同时损坏两块硬盘数据才会损坏,只损坏一块盘时,系统会根据剩下的数据和相应的奇偶校验信息去重建数据;奇偶校验信息和相应的数据分别存储在不同的磁盘上
虚拟文件系统模型图
5 fdisk与parted分区操作
MBR分区方式:无法支持超过2TB的硬盘的分区(或单个分区超过2TB) GPT分区方式:很好的解决了传统MBR无法逾越2TB的限制,如果大于2TB就用GPT分区 Fdisk命令无法支持gpt分区格式,Parted命令操作是实时的
5.1 fdisk分区操作
[root@cobbler-node1 ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a3ee6
Device Boot Start End Blocks Id System
[root@cobbler-node1 ~]# fdisk -cu /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (2048-4194303, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +100M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First sector (206848-4194303, default 206848):
Using default value 206848
Last sector, +sectors or +size{K,M,G} (206848-4194303, default 4194303): +100M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First sector (411648-4194303, default 411648):
Using default value 411648
Last sector, +sectors or +size{K,M,G} (411648-4194303, default 4194303): +100M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Selected partition 4
First sector (616448-4194303, default 616448):
Using default value 616448
Last sector, +sectors or +size{K,M,G} (616448-4194303, default 4194303):
Using default value 4194303
Command (m for help): n
First sector (618496-4194303, default 618496):
Using default value 618496
Last sector, +sectors or +size{K,M,G} (618496-4194303, default 4194303): +100M
Command (m for help): p
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders, total 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a3ee6
Device Boot Start End Blocks Id System
/dev/sdb1 2048 206847 102400 83 Linux
/dev/sdb2 206848 411647 102400 83 Linux
/dev/sdb3 411648 616447 102400 83 Linux
/dev/sdb4 616448 4194303 1788928 5 Extended
/dev/sdb5 618496 823295 102400 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#格式化/dev/sdb5分区文件系统为ext4类型
[root@cobbler-node1 ~]# mkfs.ext4 /dev/sdb5
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
#打印块设备的属性信息
[root@cobbler-node1 ~]# blkid /dev/sdb5
/dev/sdb5: UUID="20cdc54d-f801-4399-9799-f92daac43155" TYPE="ext4"
#创建挂载目录
[root@cobbler-node1 ~]# mkdir /applog
#挂载/dev/sdb5到/applog目录
[root@cobbler-node1 ~]# mount /dev/sdb5 /applog
#验证/dev/sdb5是否挂载成功
[root@cobbler-node1 ~]# df -h | grep "applog"
/dev/sdb5 97M 5.6M 87M 7% /applog
#加载开机启动自动挂载/dev/sdb5
[root@cobbler-node1 ~]# echo "UUID=20cdc54d-f801-4399-9799-f92daac43155 /applog ext4 defaults 0 0" >> /etc/fstab
[root@cobbler-node1 ~]# tail -1 /etc/fstab
UUID=20cdc54d-f801-4399-9799-f92daac43155 /applog ext4 defaults 0 0
#查看/dev/sdb磁盘的现有分区
[root@cobbler-node1 ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a3ee6
Device Boot Start End Blocks Id System
/dev/sdb1 1 13 102400 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2 13 26 102400 83 Linux
Partition 2 does not end on cylinder boundary.
/dev/sdb3 26 39 102400 83 Linux
Partition 3 does not end on cylinder boundary.
/dev/sdb4 39 262 1788928 5 Extended
Partition 4 does not end on cylinder boundary.
/dev/sdb5 39 52 102400 83 Linux
注意:其他分区如:/dev/sdb1、/dev/sdb2、/dev/sdb3格式化创建文件系统、创建挂载目录并挂载到相应的目录、加载开机自启动,请参照/dev/sdb5的操作即可
5.2 parted分区操作
方法一:交互式创建磁盘分区
#parted交互式方式创建磁盘分区(parted操作是实时生效的)
[root@cobbler-node1 ~]# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) mkpart primary 0 100
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) mkpart primary linux-swap 101 201
(parted) mkpart logical ext4 202 302
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 100MB 100MB primary
2 101MB 201MB 101MB primary
3 202MB 302MB 99.6MB logical
(parted) quit
Information: You may need to update /etc/fstab.
#查看分区是否立即生效
[root@cobbler-node1 ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3
[root@cobbler-node1 ~]# cat /proc/partitions | grep -w "sdb[0-3]+"
8 17 97639 sdb1
8 18 98304 sdb2
8 19 97280 sdb3
#格式化分区创建文件系统
[root@cobbler-node1 ~]# mkfs.ext4 /dev/sdb3
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
24384 inodes, 97280 blocks
4864 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
12 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
#查看块设备的属性信息
[root@cobbler-node1 ~]# blkid /dev/sdb3
/dev/sdb3: UUID="95f2058c-385e-484b-9f4a-64d62bdd0a98" TYPE="ext4"
#创建挂载目录
[root@cobbler-node1 ~]# mkdir /applog1
#挂载文件系统到相应的目录
[root@cobbler-node1 ~]# mount /dev/sdb3 /applog1
#验证挂载是否成功
[root@cobbler-node1 ~]# df -h | grep "sdb"
/dev/sdb3 92M 5.6M 82M 7% /applog1
#加载文件系统随开机自动挂载
[root@cobbler-node1 ~]# echo "UUID=95f2058c-385e-484b-9f4a-64d62bdd0a98 /applog1 ext4 defaults 0 0" >> /etc/fstab
[root@cobbler-node1 ~]# tail -1 /etc/fstab
UUID=95f2058c-385e-484b-9f4a-64d62bdd0a98 /applog1 ext4 defaults 0 0
方法二:非交互式创建磁盘分区
parted /dev/sdb mklabel gpt yes #设置分区表类型为gpt(类型分为两种:msdos与gpt)
parted /dev/sdb mkpart primary 0 100 Ignore #创建主分区100M(单位默认为MB)
parted /dev/sdb mkpart primary linux-swap 101 201 #创建swap分区100M
parted /dev/sdb mkpart logical ext4 202 302 #创建逻辑分区100M,文件系统为ext4
parted /dev/sdb p #显示创建的分区
parted /dev/sdb rm 1 #删除创建的1号分区
parted /dev/sdb rm 2 #删除创建的2号分区
parted /dev/sdb rm 3 #删除创建的3号分区
6 SWAP分区构建
6.1 使用物理分区构建swap
#创建分区/dev/sdb1
[root@cobbler-node1 ~]# fdisk -cu /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (2048-4194303, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +1G
Command (m for help): p
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders, total 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a3ee6
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#格式化分区类型为swap
[root@cobbler-node1 ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=546425d3-0a71-4f5b-9295-10dccee357da
[root@cobbler-node1 ~]# free -m
total used free shared buffers cached
Mem: 474 94 380 0 10 30
-/+ buffers/cache: 52 422
Swap: 1023 0 1023
#启用用于分页和交换的设备和文件
[root@cobbler-node1 ~]# swapon /dev/sdb1
[root@cobbler-node1 ~]# free -m
total used free shared buffers cached
Mem: 474 94 380 0 10 30
-/+ buffers/cache: 53 421
Swap: 2047 0 2047
#追加到/etc/fstab开机随系统启动
[root@cobbler-node1 ~]# echo "/dev/sdb1 swap swap defaults 0 0" >> /etc/fstab
#显示正在使用的虚拟交换空间
[root@cobbler-node1 ~]# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 1048568 0 -1
/dev/sdb1 partition 1048568 0 -2
6.2 使用文件构建swap
[root@cobbler-node1 ~]# dd if=/dev/zero of=/tmp/swap bs=10M count=100
100+0 records in
100+0 records out
1048576000 bytes (1.0 GB) copied, 31.7965 s, 33.0 MB/s
[root@cobbler-node1 ~]# ls -ldh /tmp/swap
-rw-r--r-- 1 root root 1000M Jun 23 15:05 /tmp/swap
[root@cobbler-node1 ~]# mkswap /tmp/swap
mkswap: /tmp/swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=ea3fe1f1-895c-4885-9e42-78cab304efd1
[root@cobbler-node1 ~]# free -m
total used free shared buffers cached
Mem: 474 457 17 0 2 390
-/+ buffers/cache: 64 410
Swap: 2047 0 2047
[root@cobbler-node1 ~]# swapon /tmp/swap
[root@cobbler-node1 ~]# free -m
total used free shared buffers cached
Mem: 474 458 16 0 2 390
-/+ buffers/cache: 65 409
Swap: 3047 0 3047
[root@cobbler-node1 ~]# echo "/tmp/swap swap swap defaults 0 0" >> /etc/fstab
#显示正在使用的虚拟交换空间
[root@cobbler-node1 ~]# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 1048568 0 -1
/dev/sdb1 partition 1048568 0 -2
/tmp/swap file 1023992 0 -3
企业案例场景:
Swap在工作中,特别是java环境,程序写的有问题,会发生内存泄露,可能会被占用,让开发改程序,临时运维加大swap,重启系统
7 磁盘格式化挂载
7.1 磁盘格式化并挂载的操作步骤
#普通ext4文件系统格式化过程
[root@cobbler-node1 ~]# mkfs -t ext4 -b 4096 -I 256 /dev/sdb3
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
24320 inodes, 24320 blocks
1216 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=25165824
1 block group
32768 blocks per group, 32768 fragments per group
24320 inodes per group
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
#防止出现上面的告警信息(标黄)
[root@cobbler-node1 ~]# tune2fs -c -1 /dev/sdb3
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1
#挂载到相应目录
[root@cobbler-node1 ~]# mount -t ext4 /dev/sdb3 /applog1
#显示挂载的文件系统
[root@cobbler-node1 ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 8.7G 3.3G 5.1G 40% /
tmpfs tmpfs 238M 0 238M 0% /dev/shm
/dev/sda1 ext4 194M 29M 155M 16% /boot
/dev/sr0 iso9660 4.2G 4.2G 0 100% /mnt
/dev/sdb3 ext4 90M 4.1M 81M 5% /applog1
7.2 dumpe2fs查看文件系统内部详细信息
# dumpe2fs - dump ext2/ext3/ext4 filesystem information
[root@cobbler-node1 ~]# dumpe2fs /dev/sdb3
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 23d188bf-7b4c-41c1-a33e-dd908926303f
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg
dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 24320
Block count: 24320
Reserved block count: 1216
Free blocks: 21761
Free inodes: 24309
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 5
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 24320
Inode blocks per group: 1520
Flex block group size: 16
Filesystem created: Sun Jun 24 15:01:18 2018
Last mount time: Sun Jun 24 15:05:39 2018
Last write time: Sun Jun 24 15:05:39 2018
Mount count: 1
Maximum mount count: -1
Last checked: Sun Jun 24 15:01:18 2018
Check interval: 15552000 (6 months)
Next check after: Fri Dec 21 15:01:18 2018
Lifetime writes: 10 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 89578f2c-49a6-4023-af1d-bd055875100f
Journal backup: inode blocks
Journal features: (none)
Journal size: 4096k
Journal length: 1024
Journal sequence: 0x00000001
Journal start: 0
Group 0: (Blocks 0-24319) [ITABLE_ZEROED]
Checksum 0xeec2, unused inodes 24309
Primary superblock at 0, Group descriptors at 1-1
Reserved GDT blocks at 2-6
Block bitmap at 7 (+7), Inode bitmap at 23 (+23)
Inode table at 39-1558 (+39)
21761 free blocks, 24309 free inodes, 2 directories, 24309 unused inodes
Free blocks: 2559-24319
Free inodes: 12-24320