查看支持的文件系统:
/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 UUIDac3c758c-5f46-4839-8c76-57065ece252bUUID信息
Filesystem magic number0xEF53头部信息描述
Filesystem revision #1 (dynamic)
Filesystem featureshas_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 flagssigned_directory_hash
Default mount optionsuser_xattr acl挂载选项。使用命令
#tune2fs -o acl /dev/sdb2
Filesystem stateclean正常时显示此字符串
Errors behaviorContinue
Filesystem OS typeLinux
Inode count65536本分区Inode总数
Block count262144本分区BlockU总数
Reserved block count13107本分区保留的Inode总数
Free blocks249189本分区目前可用的BlockU总数
Free inodes65525
First block0
Block size4096
Fragment size4096
Group descriptor size64
Reserved GDT blocks127
Blocks per group32768
Fragments per group32768
Inodes per group8192
Inode blocks per group512
Flex block group size16
Filesystem createdSun Dec 3 22:24:29 2017文件系统创建时间
Last mount timeSun Dec 3 22:27:33 2017文件系统最后挂载时间
Last write timeSun Dec 3 22:29:06 2017文件系统最后写入时间
Mount count1
Maximum mount count-1
Last checkedSun Dec 3 22
Check interval0 ()
Lifetime writes33 MB
Reserved blocks uid0 (user root)
Reserved blocks gid0 (group root)
First inode11
Inode size
Required extra isize28
Desired extra isize28
Journal inode8
Default directory hashhalf_md4
Directory Hash Seedc97fac6c-5fbe-4a4c-96f2-196e3164fa96
Journal backupinode 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/sda1
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、卷标查看与设定
e2label1
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
fsckfrom 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.xfs1
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
fsckfrom util-linux 2.23.2
/sbin/fsck.xfs: XFSfilesystem.