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命令

posted @ 2019-12-31 14:43  Presley  阅读(293)  评论(0编辑  收藏  举报