linux学习28 Linux磁盘使用及文件系统管理使用进阶
一、回顾
1、磁盘,磁盘分区,文件系统
2、CentOS6,7:/dev/sd[a-z]#
3、管理分区:fdisk,parted,sfdisk
4、创建文件系统
5、Linux文件系统类型:ext2,ext3,ext4,xfs,relserfs,iso9660,swap
6、文件系统的组织结构中的术语
block groups,block,inode table,inode,inode bitmap,block bitmap,superblock
二、文件系统的创建和使用
1、文件系统管理工具:
a、创建文件系统的工具
mkfs
b、检测及修复文件系统的工具
fsck
c、查看其属性的工具
dumpe2fs,tune2fs
d、调整文件系统特性
tune2fs
2、内核级文件系统的组成部分
a、文件系统驱动:由内核提供
[root@localhost ~]# lsmod #查看内核装载的文件系统模块 Module Size Used by ip6t_rpfilter 12595 1 ipt_REJECT 12541 2 nf_reject_ipv4 13373 1 ipt_REJECT ip6t_REJECT 12625 2 nf_reject_ipv6 13717 1 ip6t_REJECT ...
b、文件系统管理工具:由用户空间的应用程序提供
3、ext系列文件系统的管理工具
a、mkfs.ext2,mkfs.ext3,mkfs.ext4
mkfs -t ext2 = mkfs.ext2
b、ext系列文件系统专用管理工具:mke2fs
mke2fs [OPTIONS] device
-t {ext2|ext3|ext4}:指明要创建的文件系统类型
-b {1024|2048|4096} :指明文件系统的块大小,如果存放小一点的文件的话可以使用1024大小的块
-L LABEL:指明卷标
-j:创建有日志功能的文件系统,即ext3
mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3
-i #:指明inode与字节的比率,即每多少字节创建一个inode
-N #:直接指明要给此文件系统创建的inode的数量
-m #:默认给管理员预留的分区为百分之五,防止分区写满后无法删除操作,因此可以用此参数指定预留的空间的百分比。
-O[^]FEATURE:以指定的特性创建目标文件系统
c、卷标管理:e2label,用于实现卷标的查看与设定
查看:e2label device
设定:e2label device LABEL
d、查看或修改ext系列文件系统的某些属性:tune2fs
只能修改可修改的属性,比如块大小创建后就不可修改。
tune2fs [OPTIONS] device
-l 查看超级块内容
[root@localhost ~]# tune2fs -l /dev/sdb1 tune2fs 1.42.9 (28-Dec-2013) Filesystem volume name: MYDATA #卷标 Last mounted on: <not available> #最近一次什么时候挂载的 Filesystem UUID: 39f09946-9d1b-4790-a652-f877862e4b50 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize#已经启用的特性 Filesystem flags: signed_directory_hash Default mount options: user_xattr acl #默认的挂载选项 Filesystem state: clean #表示没有文件处于损害状态。如果正在写的时候突然断电就会是dirty状态 Errors behavior: Continue Filesystem OS type: Linux Inode count: 327680 Block count: 5242880 Reserved block count: 262144 #预留的块数量,也就是预留的空间 Free blocks: 5122739 Free inodes: 327669 First block: 1 Block size: 1024 Fragment size: 1024 Group descriptor size: 64 Reserved GDT blocks: 256 Blocks per group: 8192 Fragments per group: 8192 Inodes per group: 512 Inode blocks per group: 128 #每一个组有多少个块放inode Flex block group size: 16 Filesystem created: Thu Jan 2 01:13:55 2020 Last mount time: n/a Last write time: Thu Jan 2 01:13:56 2020 Mount count: 0 Maximum mount count: -1 Last checked: Thu Jan 2 01:13:55 2020 Check interval: 0 (<none>) Lifetime writes: 32 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: 1b8e5a0d-fad9-401b-9882-f5f87b955132 Journal backup: inode blocks
修改指定文件系统的属性
-j :即将ext2格式升级为ext3
-L LABEL:修改卷标
-m #:调整预留空间百分比
[root@localhost ~]# tune2fs -l /dev/sdb1 |grep "Reserved block count" #默认是百分之五 Reserved block count: 262144 [root@localhost ~]# tune2fs -m 2 /dev/sdb1 #修改为百分之二 tune2fs 1.42.9 (28-Dec-2013) Setting reserved blocks percentage to 2% (104857 blocks) [root@localhost ~]# tune2fs -l /dev/sdb1 |grep "Reserved block count" Reserved block count: 104857
-O[^] FEATHER:开启或关闭某种特性
[root@localhost ~]# tune2fs -l /dev/sdb1 |grep "Filesystem features" Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize [root@localhost ~]# tune2fs -O ^has_journal /dev/sdb1 #关闭has_journal特性 tune2fs 1.42.9 (28-Dec-2013) [root@localhost ~]# tune2fs -l /dev/sdb1 |grep "Filesystem features" Filesystem features: ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
-o[^]mount_options:开启或关闭某种默认挂载选项
acl
^acl
e、显示ext系列文件系统的书香信息:dumpe2fs
dumpe2fs [-h] device
f、用于实现文件系统检测的工具
因进程意外中止或系统崩溃等原因导致写入操作非正常中止时,可能会造成文件损坏,此时,应该检测并修复文件系统,建议离线进行。
ext系列文件系统的专用工具:
e2fsck [OPTION] device
-y :对所有问题自动回答为yes
-f:即使文件系统处于clean状态,也要强制进行检测。
[root@localhost ~]# e2fsck -f /dev/sdb1 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 MYDATA: 11/327680 files (0.0% non-contiguous), 120141/5242880 blocks
fsck:检测并修复linux上的所有文件系统
-t fstype:指明文件系统类型
-a :无须交互而自动修复所有错误
-r:交互式修复
g、blkid命令
[root@localhost ~]# blkid /dev/sda1: UUID="7b808363-4f9d-4f63-a543-28928b32c184" TYPE="xfs" /dev/sda2: UUID="Lr6vmk-mbi2-Idqu-0Ie2-55VM-V8w9-R1WNRF" TYPE="LVM2_member" /dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" /dev/mapper/centos-root: UUID="d5c6a119-833c-4eb3-9de5-ef2434820222" TYPE="xfs" /dev/mapper/centos-swap: UUID="f4635aeb-d600-4412-9308-abbccae81a6a" TYPE="swap"
blkid device
blkid -L LABEL:根据LABEL定位设备
blkid -U UUID:根据UUID定位设备
4、swap文件系统
Linux上的交换分区必须使用独立的文件系统;
且文件系统的System ID必须为82;
创建swap设备:mkswap 命令
mkswap [OPTIONS] device
-L LABEL:指明卷标
-f:强制创建
5、Windows无法识别Linux的文件系统,因此存储设备需要在两种系统之间交叉使用时应该使用windows和linux同时支持的文件系统:fat32(vfat)
mkfs.vfat device
6、文件系统的使用
首先要“挂载”:mount命令和umount命令