zoukankan      html  css  js  c++  java
  • Linux文件系统管理

     1 Linux文件系统管理:
     2     Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap
     3         swap: 交换分区,磁盘当内存用,
     4         光盘:iso9660
     5     Windows:fat32, ntfs
     6     Unix: FFS, UFS, JFS2
     7     网络文件系统:NFS, CIFS
     8     集群文件系统:GFS2, OCFS2
     9     分布式文件系统:ceph, 
    10         moosefs, mogilefs, GlusterFS, Lustre
    11 
    12     根据其是否支持"journal"功能:
    13         日志型文件系统: ext3, ext4, xfs, ...
    14             便于非正常断电引起数据出现问题,通过日志就可以查看,否则还得一一对比才能知道
    15         非日志型文件系统: ext2, vfat
    16 
    17     文件系统的组成部分:
    18         内核中的模块:ext4, xfs, vfat(上述除了分布式)
    19         用户空间的管理工具:mkfs.ext4, mkfs.xfs, mkfs.vfat
    20 
    21     Linux的虚拟文件系统:VFS-----站在各种文件系统之上,便于开发人员使用
    22 
    23     创建文件系统:
    24             cat /proc/filesystems :支持的文件系统
    25             lsmod:装载的模块
    26         mkfs命令:
    27             (1) # mkfs.FS_TYPE /dev/DEVICE
    28                 ext4
    29                 xfs
    30                 btrfs
    31                 vfat
    32                 [root@localhost ~]# blkid  /dev/sdb5 # 查看随机号UUID,以及文件系统
    33                 /dev/sdb5: UUID="1e26dfa3-50eb-4f28-bbfc-cc204c03ff3d" TYPE="ext4" 
    34             (2) # mkfs -t FS_TYPE /dev/DEVICE
    35 
    36             -L 'LABEL': 设定卷标
    37 
    38         mke2fs:ext系列文件系统专用管理工具
    39             -t {ext2|ext3|ext4}
    40             -b {1024|2048|4096} # 2个扇区,4个 8个 一个扇区512字节
    41             -L 'LABEL'
    42             -j: 相当于 -t ext3
    43                 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
    44             -i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;
    45                     每一条元数据信息就是一个inode
    46             -N #:为数据空间创建个多少个inode;
    47             -m #: 为管理人员预留的空间占据的百分比;
    48             -O FEATURE[,...]:启用指定特性
    49                 -O ^FEATURE:关闭指定特性
    50 
    51         mkswap:创建交换分区
    52             mkswap [options] device
    53                 -L 'LABEL'
    54 
    55             前提:调整其分区的ID为82;
    56 
    57 
    58     其它常用工具:
    59 
    60         blkid:块设备属性信息查看
    61             blkid [OPTION]... [DEVICE]
    62                 -U UUID: 根据指定的UUID来查找对应的设备
    63                 -L LABEL:根据指定的LABEL来查找对应的设备
    64 
    65         e2label:管理ext系列文件系统的LABEL,也能设定或修改
    66             # e2label DEVICE [LABEL]
    67 
    68         tune2fs:重新设定ext系列文件系统可调整参数的值
    69             -l:查看指定文件系统超级块信息;super block
    70             -L 'LABEL':修改卷标
    71             -m #:修预留给管理员的空间百分比
    72             -j: 将ext2升级为ext3
    73             -O: 文件系统属性启用或禁用
    74             -o: 调整文件系统的默认挂载选项
    75             -U UUID: 修改UUID号;
    76 
    77         dumpe2fs:
    78             -h:查看超级块信息
    79             超级快:记录块的相关信息(要做备份)
    80 
    81     文件系统检测:
    82         fsck: File System CheCk
    83             fsck.FS_TYPE
    84             fsck -t FS_TYPE
    85                 -a: 自动修复错误
    86                 -r: 交互式修复错误
    87 
    88                 Note: FS_TYPE一定要与分区上已有文件类型相同;
    89 
    90         e2fsck:ext系列文件专用的检测修复工具
    91             -y:自动回答为yes; 
    92             -f:强制修复;




    注:如果格式化硬盘出现/dev/sdb5 is apparently in use by the system错误,证明sdb5在被dm管理,cat /proc/partation 有。
      解决方式:
    [root@hpf-linux~]# dmsetup status
    sdb3: 0 6313545 linear 
    sdb2: 0 4209030 linear 
    sdb1: 0 10506447 linear 
    sdb5: 0 4208967 linear 
    sdb4: 0 2 linear 
    [root@hpf-linux~]# dmsetup remove_all
    [root@hpf-linux~]# dmsetup status
    No devices found






      1 文件系统管理:
      2 
      3     rootfs---> /sbin/init
      4     启动kernel /etc/grub.cfg   ————》 跟文件系统 
      5 
      6     将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为称之为挂载;
      7 
      8     解除此关联关系的过程称之为卸载;
      9 
     10     把设备关联挂载点:Mount Point
     11         mount
     12 
     13     卸载时:可使用设备,也可以使用挂载点
     14         umount
     15 
     16     注意:挂载点下原有文件在挂载完成后会被临时隐藏;
     17 
     18     挂载方法:mount DEVICE MOUNT_POINT
     19         mount:通过查看/etc/mtab文件显示当前系统已挂载的所有设备
     20         mount [-fnrsvw] [-t vfstype] [-o options] device dir
     21             device:指明要挂载的设备;
     22                 (1) 设备文件:例如/dev/sda5
     23                 (2) 卷标:-L 'LABEL', 例如 -L 'MYDATA'
     24                 (3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
     25                 (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
     26             dir:挂载点
     27                 事先存在;建议使用空目录;
     28                 进程正在使用中的设备无法被卸载;
     29 
     30             常用命令选项:
     31                 -t vsftype:指定要挂载的设备上的文件系统类型;
     32                 -r: readonly,只读挂载;
     33                 -w: read and write, 读写挂载;
     34                 -n: 不更新/etc/mtab,(/etc/mtab,每一个文件系统的挂载和卸载都会跟新)mount 不带参数读的是这个
     35                 -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
     36                 -L 'LABEL': 以卷标指定挂载设备;
     37                 -U 'UUID': 以UUID指定要挂载的设备;
     38                 -B, --bind: 绑定目录到另一个目录上;目录建立关联关系
     39 
     40             注意:真正查看内核追踪到的已挂载的所有设备:cat /proc/mounts
     41 
     42     *******        -o options:(挂载文件系统的选项) 文件系统挂载时启用的特性
     43                     async:异步模式;
     44                     sync:同步模式;
     45                     atime/noatime:包含目录和文件;
     46                     diratime/nodiratime:目录的访问时间戳
     47                     auto/noauto:是否支持自动挂载
     48                     exec/noexec:是否支持将文件系统上应用程序运行为进程
     49                     dev/nodev:是否支持在此文件系统上使用设备文件;
     50                     suid/nosuid:
     51                     remount:重新挂载
     52                     ro:
     53                     rw:
     54                     user/nouser:是否允许普通用户挂载此设备
     55                     acl:启用此文件系统上的acl功能
     56 
     57                     注意:上述选项可多个同时使用,彼此使用逗号分隔;
     58                           默认挂载选项:defaults
     59                                   rw, suid, dev, exec, auto, nouser, and async
     60 
     61     卸载命令:
     62         # umount DEVICE
     63         # umount MOUNT_POINT
     64 
     65         查看正在访问指定文件系统的进程:
     66             # fuser -v MOUNT_POINT
     67 
     68         终止所有在正访问指定的文件系统的进程:
     69             # fuser -km MOUNT_POINT
     70 
     71     挂载交换分区:
     72         启用:swapon
     73             swapon [OPTION]... [DEVICE]
     74                 -a:激活所有的交换分区;
     75                 -p PRIORITY:指定优先级;
     76         禁用:swapoff [OPTION]... [DEVICE]
     77 
     78     内存空间使用状态:
     79         free [OPTION]
     80             -m: 以MB为单位
     81             -g: 以GB为单位
     82 
     83 
     84                 [root@localhost ~]# free -m
     85                              total       used       free     shared    buffers     cached
     86                 Mem:          1990        776       1214          2         23        454
     87                 -/+ buffers/cache:        297       1693
     88                 Swap:         2047          0       2047
     89 
     90                 used中包含了buffers 和cached的
     91 
     92                 776-23-454 就是 - buffers/cache的意思
     93                 1214+23 + 454 就是 + buffers/cache的意思
     94 
     95     文件系统空间占用等信息的查看工具:
     96         df: 
     97             -h: human-readable
     98             -i:inodes instead of blocks
     99             -P: 以Posix兼容的格式输出; 不会换行,即便某一行很长
    100 
    101     查看某目录总体空间占用状态:
    102         du:----ls -ldh /etc -->这只是目录本身大小,不包括子目录和文件大小,du就不一样了
    103             du [OPTION]... DIR
    104                 -h: human-readable
    105                 -s: summary
     1 文件挂载的配置文件:/etc/fstab
     2 
     3     每行定义一个要挂载的文件系统;
     4 
     5         要挂载的设备或伪文件系统     挂载点     文件系统类型      挂载选项     转储频率      自检次序
     6 
     7             要挂载的设备或伪文件系统:
     8                 设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)
     9 
    10             挂载选项:
    11                 defaults
    12 
    13             转储频率:
    14                 0:不做备份
    15                 1:每天转储
    16                 2:每隔一天转储
    17 
    18             自检次序:
    19                 0:不自检
    20                 1:首先自检;一般只有rootfs才用1;
    21                 ...
    为什么要坚持,想一想当初!
  • 相关阅读:
    Jboss部署war以及获取Resource的真实路径
    命令行获取docker远程仓库镜像列表
    Hibernate5 与 Spring Boot2 最佳性能实践
    Spring Bean的一生
    Spring中统一相同版本的api请求路径的一些思考
    Java并发工具类CountDownLatch源码中的例子
    (转载)23种设计模式的uml图表示及通俗介绍
    GeoHash核心原理解析
    如何保证服务器的安全?
    小强升职记
  • 原文地址:https://www.cnblogs.com/JerryZao/p/9439518.html
Copyright © 2011-2022 走看看