1.linux磁盘的相关知识点

  (1)I/O ports:I/O设备地址,实质上是一个缓冲器
  (2)块设备:Block,存取单位是“块”,例如:磁盘
  (3)字符设备:char,存取单位是“字符”,例如:键盘
  (4)设备文件:关联至一个设备驱动程序,进而能够与之对应硬件设备进行通信(仅有元数据,而无数据)
  (5)设备号码:
              主设备号:major number,表示设备类型
              次设备号:minor number,表示同一类型下的不同设备


2.硬盘的分区(底层硬件的准备)
    分区管理工具:
     fdisk,partx,sfdisk
    (1)fdisk的使用方法:

       1)查看当前硬盘的分区情况
           #fdisk -l [-u] [devices]
       2)管理硬盘
           #fdisk device
             子命令:管理功能 
               p:显示已有分区
               n:创建
               d:删除
               w:写入磁盘并退出
               q:放弃更新并退出
               m:获取帮助
               l:列出分区类别的id
               t:调整分区id

    (2)查看内核识别的当前系统上的分区

       #cat /proc/partations


     (3)通过内核重读硬盘分区表(这一步通常用于分区完成后的第一步)
          

       #partx -a /dev/DEVICE    
                  -n M:N  指定分区的范围
       #kpartx -a /dev/DEVICE
                  -f:force
     CentOS5:使用partprobe
       #partprobe [/dev/DEVICE]


3.硬盘分区结束后,那么对于操作系统来说,最底层的硬件设备已经准备好了。接下来就是磁盘的格式化。
    (1)Linux文件系统管理

    Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap   
    swap: 交换分区
    光盘:iso9660        
    Windows:fat32, ntfs        
    Unix: FFS, UFS, JFS2        
    网络文件系统:NFS, CIFS        
    集群文件系统:GFS2, OCFS2        
    分布式文件系统:ceph, moosefs, mogilefs, GlusterFS, Lustre
 根据其是否支持"journal"功能:     
     日志型文件系统: ext3, ext4, xfs, ...     
     非日志型文件系统: ext2, vfat

 
 (2)文件系统的组成部分

    内核中的模块:ext4,xfs,vfat
    用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat

  (3)Linux的虚拟文件系统:VFS


4.创建文件系统:mkfs命令

    (1)mkfs.FS_TYPE /dev/DEVICE
              ext4
              xfs
              btrfs
              vfat
     (2)mkfs -t FS_TYPE /dev/DEVICE
              -L “LABEL”:设定卷标
              -f:强制执行

            
 (4)ext系列的文件系统的相关查看管理工具

      1)mke2fs:ext系列文件系统专用管理工具
                -t {ext2|ext3|ext4}
       -b {1024|2048|4096}
       -L 'LABEL'
       -j: 相当于 -t ext3
        mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
       -i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;
       -N #:为数据空间创建个多少个inode;
       -m #: 为管理人员预留的空间占据的百分比;
       -O FEATURE[,...]:启用指定特性
         -O ^FEATURE:关闭指定特性
      2) e2label:管理ext系列文件系统的LABEL
            #e2label DEVICE [LABEL]

   

      3)dumpe2fs:
            -h:查看超级块信息
      4)tune2fs:重新设定ext系列文件系统可调整的值
            -l:查看指定文件系统的超级块信息,superblock
            -L "LABEL":修改卷标
            -m #:修改预留给管理员的空间百分比
            -j:将ext2升级为ext3
            -O:文件系统属性启用或禁止
            -o:调整文件系统的默认挂载选项
            -U UUID:修改UUID号
    (5)blkid:块设备属性信息查看
          blkid [OPTION]... [DEVICE]
            -U UUID:根据指定的UUID来查找对应的设备
            -L LABEL:根据指定的LABEL来查找对应的设备

    (6)mkswap:创建交换分区

          mkswap [OPTION] device
                -L “LABEL”
           前提:调整其分区的ID为82

    (7)文件系统检测

          fsck:file system check
            fsck.FS_TYPE
            fsck -t FS_TYPE
                  -a:自动修复错误
                  -r:交互式修复错误
          注意:FS_TYPE一定要与分区上已经存在的文件类型相同

5.文件系统创建完成后,紧接着就是对其进行挂载,从而使得其能通过一个目录在Linux上被访问
    (1)对于挂载的简要介绍
        1)将额外的文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录作为其他文件访问入口的行为称为挂载
        2)解除此关联挂载点:卸载
        3)把设备关联挂载点:Mount Point
             mount DEVICE MOUNT_POINT
        4)卸载时可使用设备,也可以使用挂载点
             umount DEVICE
             umount MOUNT_POINT
        注意:挂载点下原有文件在挂载完成后会被临时隐藏
    (2)挂载方法:mount DEVICE MOUNT_POINT                  


    async:异步模式;
    sync:同步模式;
    atime/noatime:包含目录和文件;
    diratime/nodiratime:目录的访问时间戳
    auto/noauto:是否支持自动挂载
    exec/noexec:是否支持将文件系统上应用程序运行为进程
    dev/nodev:是否支持在此文件系统上使用设备文件;
    suid/nosuid:
    remount:重新挂载
    ro:
    rw:
    user/nouser:是否允许普通用户挂载此设备
    acl:启用此文件系统上的acl功能(centos7上默认启动,之前版本不支持默认启动)

   注意:上述选项可多个同时使用,彼此使用逗号分隔;
       默认挂载选项:defaults(rw, suid, dev, exec, auto, nouser, and async)
 注意:查看内核追踪到的已挂载的所有设备的文件是:cat /proc/mounts
       任何文件系统的挂载都会更新此文件:/etc/mtab      
         
    (3)卸载命令:umount

             #umount DEVICE
             #umount MOUNT_POINT
         查看并杀死访问指定文件,目录的进程
             #fuser -km MOUNT_POINT

    (4)挂载交换分区

           启动:
             #swapon [OPTION]... [DEVICE]
                  -a:激活所有的交换分区
                  -p PRIORITY:指定优先级
           禁止:
             #swapoff [OPTION]... [DEVICE]


6.文件系统挂载完成后,接着我们可能用到相关的查看命令
    (1)内存空间使用状态

           free [OPTION]
               -m:以MB为单位
               -g:以GB为单位

    (2)文件系统空间占用等信息的查看工具

            df 
               -h:human-readable
               -i:inodes instead of blocks
               -P:以 Posix兼容的格式输出

    (3)查看某目录总体空间占用状态

            du [OPTION] DIR
               -h:human-readable
               -s:summary

       


7.文件挂载的配置文件:/etc/fstab
     每行定义一个要挂载的文件系统;

     要挂载的设备或伪文件系统  挂载点  文件系统类型   挂载选项  转储频率   自检次序


          要挂载的设备或伪文件系统:
        设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)
        挂载选项:
        defaults
     转储频率:
        0:不做备份
        1:每天转储
        2:每隔一天转储
     自检次序:
        0:不自检
        1:首先自检;一般只有rootfs才用1;
        ...