查看支持的文件系统:
/lib/modules/内核版本/kernel/fs
cat /proc/filesystems
热挂载的磁盘在不重启的情况下,是不可以使用lsblk看到的,可以使用以下命令扫描发现
#echo '- - -' > /sys/class/scsi_host/host2/scan
可以看分区前512字节数
hexdump -C -n 512 /dev/sda
备份指定扇区
#dd if=/dev/sda of=/app/mbr bs=1 count=512
备份指定扇区内容
#dd if=/dev/sda of=mbr64 bs=1 count=64 skip=446 seek=446
恢复分区表
#dd if=mbr of=/dev/sda bs=1 count=512
可以将一个分区表备份文件恢复至一个新的磁盘空间上
UUID编号生成
#uuidgen
20383f4d-0201-49c1-aa25-49934bcccd9f
查看磁盘UUID或者分区文件系统
blkid
#blkid
/dev/sr0: UUID="2017-09-06-10-53-42-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="2d41b82c-dd7f-46c1-800e-f9ae533ecb48" TYPE="xfs"
/dev/sda2: UUID="d920bdb4-e2bf-48e9-b7b5-6657c58bfb3e" TYPE="xfs"
UUID只有重新格式化磁盘分区的时候才会发生变化
#xfs_info 查看xfs格式的super block,必须先挂载
super block:
Filesystem volume name |
/app/sdb2 |
卷标 |
Last mounted on |
/app/sdb2 |
最后挂载点 |
Filesystem UUID |
ac3c758c-5f46-4839-8c76-57065ece252b |
UUID信息 |
Filesystem magic number |
0xEF53 |
头部信息描述 |
Filesystem revision # |
1 (dynamic) |
|
Filesystem features |
has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize |
分区支持的特性 |
Filesystem flags |
signed_directory_hash |
|
Default mount options |
user_xattr acl |
挂载选项。使用命令 #tune2fs -o acl /dev/sdb2 |
Filesystem state |
clean |
正常时显示此字符串 |
Errors behavior |
Continue |
|
Filesystem OS type |
Linux |
|
Inode count |
65536 |
本分区Inode总数 |
Block count |
262144 |
本分区BlockU总数 |
Reserved block count |
13107 |
本分区保留的Inode总数 |
Free blocks |
249189 |
本分区目前可用的BlockU总数 |
Free inodes |
65525 |
|
First block |
0 |
|
Block size |
4096 |
|
Fragment size |
4096 |
|
Group descriptor size |
64 |
|
Reserved GDT blocks |
127 |
|
Blocks per group |
32768 |
|
Fragments per group |
32768 |
|
Inodes per group |
8192 |
|
Inode blocks per group |
512 |
|
Flex block group size |
16 |
|
Filesystem created |
Sun Dec 3 22:24:29 2017 |
文件系统创建时间 |
Last mount time |
Sun Dec 3 22:27:33 2017 |
文件系统最后挂载时间 |
Last write time |
Sun Dec 3 22:29:06 2017 |
文件系统最后写入时间 |
Mount count |
1 |
|
Maximum mount count |
-1 |
|
Last checked |
Sun Dec 3 22 |
|
Check interval |
0 (<none>) |
|
Lifetime writes |
33 MB |
|
Reserved blocks uid |
0 (user root) |
|
Reserved blocks gid |
0 (group root) |
|
First inode |
11 |
|
Inode size |
||
Required extra isize |
28 |
|
Desired extra isize |
28 |
|
Journal inode |
8 |
|
Default directory hash |
half_md4 |
|
Directory Hash Seed |
c97fac6c-5fbe-4a4c-96f2-196e3164fa96 |
|
Journal backup |
inode blocks |
一、CentOS 7磁盘及文件系统特性
在CentOS 7,不管是IDE硬盘还是SATA硬盘,在linux里面的硬盘设备文件标识都为/dev/sd[a-z]。(当然这一特性在CentOS 6中就已经实现)
CentOS 7默认使用的文件系统为xfs。
二、磁盘分区管理工具
磁盘分区管理工具有很多,在CentOS 7上也支持传统的fdisk工具,还有parted,sfdisk,本文以fdisk介绍浅谈在Linux中磁盘超出2T的管理方式
fdisk命令:
fdisk -l [-u] [device...]
1、查看分区表信息
fdisk -l [device] # 不加任何设备,默认查看所有
fdisk -l /dev/sda
Disk /dev/sda: 128.8 GB, 128849018880 bytes, 251658240 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 label type: dos
Disk identifier: 0x000b0d11
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 251658239 125316096 8e Linux LVM
2、管理分区
fdisk提供了一个交互式的借口来管理分区,他有许多子命令,分别实现不同管理功能;特点是在内存中完成,不直接同步到硬盘上,可通过w来保存。
常用命令:
n:创建新分区
d:删除已有分区
t:修改分区类型
l:查看所有已经ID
w:保存并退出
q:不保存并退出
m:查看帮助信息
p:显示现有分区信息
注意:使用w保存退出后,内核不会立即识别新分区,此处如果有需要,可以使用命令使内核强制读取。
查看已经读取分区列表:
1 2 3 4 5 6 7 8 9 10 11 12 |
# cat /proc/partitions major minor #blocks name 8 16 20971520 sdb 8 17 5242880 sdb1 8 18 5242880 sdb2 8 0 125829120 sda 8 1 512000 sda1 8 2 125316096 sda2 11 0 7413760 sr0 253 0 52428800 dm-0 253 1 2097152 dm-1 253 2 70721536 dm-2 |
通知内核强制重读磁盘分区表:
Centos 6
增加分区时使用
# partx -a /dev/sdb
删除分区时使用
# partx -d --nr 6-7 /dev/sdb
Centos 7
# partprobe /dev/sda
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# partx -a /dev/sdb partx: /dev/sdb: error adding partitions 1-4 # cat /proc/partitions major minor #blocks name 8 16 20971520 sdb 8 17 5242880 sdb1 8 18 5242880 sdb2 8 19 5242880 sdb3 8 20 1 sdb4 8 0 125829120 sda 8 1 512000 sda1 8 2 125316096 sda2 11 0 7413760 sr0 253 0 52428800 dm-0 253 1 2097152 dm-1 253 2 70721536 dm-2 |
三、文件系统管理
创建文件系统,就是对分区进行格式化,格式化分为:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统),一般低级格式化都有硬盘厂商来完成。
文件系统管理工具:
A、ext系列文件系统管理工具:
1、创建文件系统工具
mkfs系列(mkfs.ext2, mkfs.ext3, mkfs.ext4)
# mkfs系列的使用方法比较简单,没有过多参数
mke2fs:
使用格式: mke2fs [OPTIONS] device
常用命令参数:
-t {ext2|ext3|ext4}:指明要创建的文件系统类型
mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4
-b {1024|2048|4096}:指明文件系统的块大小;
-L LABEL:指明卷标;
-j:创建有日志功能的文件系统ext3;
# mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3
2、卷标查看与设定
e2label
1 2 3 4 5 |
# e2label /dev/sdb2 MYDATA # e2label /dev/sdb2 DATA # e2label /dev/sdb2 DATA |
3、检查及修复文件系统工具
e2fsck
-y:对所有问题自动回答为yes;
-f:即使文件系统处于clean状态,也要强制进行检测;
1 2 3 4 5 6 7 8 9 10 11 |
# e2fsck /dev/sdb2 e2fsck 1.42.9 (28-Dec-2013) DATA: clean, 11/655360 files, 204238/10484736 blocks # e2fsck -yf /dev/sdb2 e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information DATA: 11/655360 files (0.0% non-contiguous), 204238/10484736 blocks |
fsck:
-t fstype:指明文件系统类型;
fsck -t ext4 = fsck.ext4
-a:无须交互而自动修复所有错误;
-r:交互式修复;
1 2 3 4 |
# fsck -t ext4 /dev/sdb1 fsck from util-linux 2.23.2 e2fsck 1.42.9 (28-Dec-2013) /dev/sdb1: clean, 11/196608 files, 31036/786432 blocks |
4、查看修改ext系列文件的某些属性
dumpe2fs:
1 |
# dumpe2fs /dev/sdb1 |
tune2fs:
命令格式:tune2fs [OPTIONS] device
常用参数:
-l:查看超级块的内容;
#tune2fs /dev/sdb2 -l 查看ext格式的super block
#dumpe2fs /dev/sdb1 -h 查看ext格式的super block
添加ACL功能,Centos 6 默认在系统安装好之后手工添加的分区没有ACL功能
#tune2fs -o acl /dev/sdb2,需要重新挂载或重新启动系统才生效
1 |
# tune2fs -l /dev/sdb1 |
-j:启用日志系统,在ext3以上默认启用,此处仅针对ext2文件系统
-L LABEL:修改卷标;
1 2 3 4 5 6 |
# e2label /dev/sdb1 MYDATA # tune2fs -L TESTDATA /dev/sdb1 tune2fs 1.42.9 (28-Dec-2013) # blkid /dev/sdb1 /dev/sdb1: LABEL="TESTDATA" UUID="2ca4b66c-3e37-460d-a300-022e916413a8" TYPE="ext4" |
-m #:调整预留空间百分比,默认为5%;
# 此操作一般在硬盘比较大的场景中适用
-O [^]FEATHER:开启或关闭某种特性;
-o [^]mount_options:开启或关闭某种默认挂载选项
B、xfs文件系统管理工具:
创建文件系统工具:
1、mkfs.xfs
1 2 3 4 5 6 7 8 9 10 |
# mkfs.xfs -f /dev/sdb1 meta-data=/dev/sdb1 isize=256 agcount=4, agsize=655360 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=2621440, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 |
修复文件系统工具:
2、fsck
-t fstype:指明文件系统类型;
-a:无须交互而自动修复所有错误;
-r:交互式修复;
1 2 3 |
# fsck -t xfs -a /dev/sdb1 fsck from util-linux 2.23.2 /sbin/fsck.xfs: XFS file system. |