linux磁盘及文件系统管理

linux磁盘及文件系统管理

基础概念:

  计算机的基本组成: 

    CPU:  运算器, 控制器

    存储信息:

    输入输出设备:

  I/O:  Disks,  Ethercard, Memory(RAM)

    Disks: 持久化存储

    RAM:  暂时存储, 断电数据消失

接口类型:

  IDE(ata):  并口,  133MB/s,  理论速率

  SCSI: 并口,  Ultrascsl320, 320MB/S,  640MB/S

  SATA:  串口,  6gbps,  理论速率 

  SAS: 串口,  6gbps,

  USB:  串口,  480MB/s

  IOPS:  io per second

  并口:  同一线缆可以接多块设备

    IDE:  两个设备, 主, 从

    SCSI: 

      宽带:  16 - 1

      窄带:  8 -1 

  串口:  同一线缆可以接一个设备

硬盘:  机械硬盘, 固态硬盘

  机械硬盘:

    track:  此道

    sector:  扇区, 512bytes

    cylinder:  柱面

      分区划分是基于柱面划分的

    平均寻道时间:

      5400rpm,  7200rpm...

  linux哲学思想:  一切皆文件

设备类型:

  块(block):  随机访问, 数据交换单位是"块"

  字符(character),  线性访问,  数据交换单位是"字符"

设备文件:  FHS 文件层级系统

  /dev

  设备文件:  关联至设备的驱动程序; 设备的访问入口

    设备号:

    major:  主设备号,  区分设备类型;  用于表名设备所需要的驱动程序.

    minor:  次设备号, 区分同种类型下的不同的设备,  是特定设备的访问入口.

    mknod命令:  用于创建块设备或字符设备的特殊文件

    mknod [OPTION]... NAME TYPE [MAJOR MINOR]

      -m MODE:  设备文件的访问权限

设备文件名: ICANN

  磁盘:

    IDE:  /dev/hd

      例如:  /dev/hda, /dev/hdb

    SCSI, SATA, USB, SAS: /dev/sd[a-z]

    分区:

      /dev/sda#

      例如:  /dev/sda1

    CentOs6和7统统将硬盘设备标识为/dev/sd[a-z]#

    引用设备的方式:

    1. 设备文件名
    2. 卷标
    3. UUID:  128位的随机

磁盘分区:  MBR,  GPT

  MBR:  0 sector

    Master Boot Record  主引导记录(分区)  512个字节,一个分区

    分为三部分:

      446bytes:  bootloader,  引导启动操作系统的程序

      64bytes:  分区表,  每16bytes标识一个分区,  一共只能有4个分区;

        最多只能有4个主分区

        3主1扩展分区:

        扩展分区可以划分为n个逻辑分区

        主分区和扩展分区的标识为1-4

        扩展分区的标识:  5+

      2bytes:  MBR区域的有效性标识:  55AA为有效

  fdisk命令:  分区的命令

  • 查看磁盘的分区信息

     fdisk -l [-u] [device...]  列出指定磁盘设备上的分区情况

  • 管理分区    

     fdisk device

     fdisk提供了一个交互式接口来管理分区,  他有许多子命令, 分别用于不同的管理功能,  所有的操作均在内存中完成, 没有直接同步到硬盘, 直到使用w命令写入.

     常用命令:

       n: 创建新分区

       d: 删除已有分区

       t:  修改分区类型

         w:  保存退出

       q: 不保存退出

       m:  查看帮助信息

       p:  显示现有分区信息

    注意:  在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区, 内核可能在创建后无法直接识别

    重读分区 partx -a /dev/sda可能需要两次.

    分区创建工具:  parted,  sfdisk

创建文件系统

  格式化: 

    低级格式化(分区之前进行,  划分磁道),

    高级格式化(分区后对分区进行, 创建文件系统)

      元数据区,  数据区

      元数据区:  inode(index node)

        文件元数据: 大小,  权限,  属主属组, 时间戳,  数据块指针 

        符号链接文件:  存储数据指针的空间当中存储的是真实文件的访问路径

        设备文件:  存储数据指针的空间当中存储的是设备号(major,  minor)

     位图索引:  bitmap index

  VFS: Virtual File System 

    Linux的文件系统:  ext2, ext3, ext4, xfs, reiserfs, btrfs

    光盘:  iso9660

    网络文件系统: nfs, cifs  

    集群文件系统:  gfs2, ocfs2

    内核级分布式文件系统:  ceph

    Windows文件系统: vfat, ntfs

    伪文件系统:  proc,  sysfs,  tmpfs,  hugepagefs

    Unix文件系统:  UFS, FFs,  JFS

    交换文件系统: swap

    用户空间的分布式文件系统:  mogilefs,  moosefs, glusterfs

文件系统管理工具

  日志journal功能

  创建文件系统工具

    mkfs

      mkfs.ext2(无日志), mkfs.ext3,  mkfs.ext4,  mkfs.xfs, mkfs.vfat

  检测及修复文件系统工具

    fsck(filesystemcheck)

      fsck.ext2, fsck.ext3, ...

  查看其属性的工具

    dumpe2fs,  tune2fs

  调整文件系统特性

    tune2fs

链接文件:  访问同一个文件的不同路径

  硬链接: 存储的是真实文件的inode, 多个文件路径指向同一个inode

    特性:

      (1)  目录不支持硬链接:  (防止循环链接)

      (2)  硬链接不能夸文件系统: 

      (3)  创建硬链接会增加inode引用计数

    命令:

      ln src link_file

  软链接: 数据区存储的是真实文件的名字, 指向一个文件路径的另一个文件路径.

    特性:  

      (1)  符号链接与文件是两个各自独立的文件, 各有自己的inode

      (2)  支持对目录创建符号链接, 可以跨文件系统

      (3)  删除符号链接文件不影响原文件 ,但删除原文件 ,  符号指定的路径, 此时会变成无效链接.

      符号链接的大小是其指定的文件的路径的字符串的大小.

      ln -s src link_file

      -v:  verbose 显示过程

posted @ 2019-08-18 16:21  yscl  阅读(106)  评论(0)    收藏  举报