zoukankan      html  css  js  c++  java
  • 磁盘分区格式化和文件系统管理

    一、硬盘分区

     


    1.每个扇区,512字节 2.
    每个磁道划分为63个扇区 3.逻辑磁头(盘面)数设为255个 4.一个柱面的大小=255x63x512字节=8 MB 5.硬盘或分区的容量=柱面的大小x柱面数

    磁面(head


    1
    .硬盘一般是由一片或几片圆形薄膜叠加而成。每个圆形薄膜都有两个""(Side),这两个面都是用来存储数据的。 2.依次称为0面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。 3.硬盘面数(或头数),少的只有2面,多的可达数十面。

    track------磁道-----一个圈


    1.
    读写硬盘时,磁头不动,磁盘是旋转的,则连续写入的数据是排列在一个 圆周上的。我们称这样的圆周为一个磁道(Track)。 2.磁头不动,就是在一个磁道上读写 3.磁头移动,就会在不同磁道上读写

    cylinder----柱面---------外观象一个圆筒子


    各面上磁道号相同的 磁道合起来,称为一个柱面(cylinder)距轴的距离相同的一组track
    cylinder也是磁盘分区时的最小单位,分区是按磁道和柱面连续分布的

    Sector

    一个track上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被按512字节划分成若干段,每段称为一个扇区(Sector)。
    一个扇区size是固定的512字节

    硬盘启用过程

    新硬盘经历哪些步骤才能存储文档?

    识别硬盘-->规划分区-->格式化-->挂载-->写入/读取数据

    分区模式

    MBRMaster Boot Record

    1.主引导记录模式,也称为MSDOS模式

    2.硬盘的第一个扇区(512字节)作为MBR扇区,用来记录引导程序和分区表

    3.分区表只有64个字节,其中存储着硬盘上每个分区的信息,一个分区记录需要16字节

    4. 此模式支持最多4个主分区、最大容量约2.2TB

    GPTGUID Partition Table

    1.全局唯一标识分区表

    2. 突破固定大小64字节的分区表限制

    3. 最多可支持128个主分区,最大支持18EB

    注意: 1 EB =1024 PB = 1024 x 1024 TB

    磁盘分区工具

    fdisk,只支持MSDOS分区布局

    语法:

    格式:fdisk 磁盘名

    常见的fdisk交互指令

    a:切换分区启动标签
    b:编辑BSD系统中的磁盘卷标
    c、切换成为DOS兼容的标签
    d:删除分区
    l:列出支持的分区类型信息
    m:查看帮助信息(显示fdisk命令菜单)
    n:新建分区
    o:建立空的DOS分区数据表
    p:列表查看分区信息
    q:放弃分区设置并退出
    -t:变更分区类型
          82 swap
            83 ext3    (默认)
            8e LVM
            fd raid
            b  fat32
    u:修改显示的单位
    v:检查分区数据表
    w:保存分区设置并退出
    x:进阶功能

    常用分区系统标识符

    b:windows 95的FAT使用的分区
    c:windows 95的FAT使用的分区(支持LBA)
    f:windows 95生成的扩充分区
    81:Linux的第一代ext使用
    82:Linux的置换内存空间
    83:Linux的第二代ext(ext2)与第三代ext(ext3)
    8e:Linux LVM使用的分区
    fd:Linux的“软件磁盘阵列”使用的分区

    分区表记录

    Device:分区的设备文件名
    Boot:该分区是否可以被启动。整个硬盘只能有一个分区被标识为可启动。
    Start:分区起始柱面编号
    End:分区结束柱面编号
    Blocks:分区的大小,单位是块(Block),默认一个块是1KB

    例子:


    fdisk -l /dev/sda #查看分区表 fdisk /dev/xdy #对/dev/xdy分区

    parted,支持MSDOSGPT分区布局

    parted 常用分区工具用法

    查看分区表:parted   /dev/sdb   print
    进入交互模式:parted  /dev/sdb
    获取交互指令帮助:(parted) help
    新增分区:mkpart [primary|logical|extended] [ext4|vfat]开始 结束
    删除指定的分区:rm 序号
    建立指定模式分区表:mktable msdos|gpt
    mapart primary 文件系统类型 start end #指定大小或百分比%作为开始、结束位置

    例子:


    parted /dev/sda print #查看分区表 parted /dev/xdy #对/dev/xdy分区

    识别新的分区表

    1.当硬盘的分区表被更改以后

    需要将分区表的变化通知Linux内核
    
    否则在访问分区时可能会找不到准确的设备

    2.以下三种方式都可以

     
    partx -a /dev/sda partprobe /dev/sda reboot

    二、格式化分区

    常见文件系统

    Linux文件系统


    EXT4,第四代扩展(Extended)文件系统 SWAP,交换文件系统

    支持的其他文件系统

     FAT 16、FAT 32、NTFS
     XFS,JFS,GFS

    格式化工具

    mkfsMake Filesystem

    格式:mkfs -t 文件系统类型 分区设备

    mkfs -t 文件类型 /dev/xdyz    #格式化 
    mkfs.文件类型 /dev/xdyz     #格式化,两种方式功能相等

    注意:


    mkfs作为前端,通过-t ...调用各程序 使用mkfs.ext4时可通过-L选项为文件系统指定卷标

    举例:

    [root@localhost ~]# mkfs.ext3  /dev/sda2

    创建EXT4文件系统


    mkfs -t ext4 /dev/sda6 mkfs.ext4 /dev/sda6

    创建VFAT文件系统

    1.将分区/dev/sda7格式化成FAT32 文件系统

     

    mkfs -t vfat -F 32 /dev/sda7
    
    mkfs.vfat -F 32 /dev/sda7百分比

     

    分区扩展SWAP空间

    格式化交换分区

    mkswap命令

    格式:

    mkswap  -f 交换文件

    fdisk命令中,调整分区类型为82

    mkswap  /dev/xdyz #把/dev/xdyz格式化成swap类型分区
    
    swapon  /dev/xdyz #启用/dev/xdyz到swap分区中
    
    swapoff  /dev/xdyz #停用/dev/xdyz
    
    swapon -s         #查看交换分区

    dd

    复制底层的数据流,可以复制文件的一部分

    if=数据来源
    of=数据存储目标
    bs=1    //以一个字节为1个单位
    count=2   
    seek=#: 创建数据文件时,跳过的空间大小;

    例子:

    dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
    dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1
    
    dd if=/dev/zero of=/var/swapfile bs=1M count=1024

     

    文件系统管理

    e2label命令

    为EXT分区命名

    语法:

    格式:e2lable 设备名 ["卷标名"]

    例子:


    e2label /dev/sdb1 "disk2part1" 设置卷标 e2label /dev/sdb1 查看卷标 e2label /dev/sdb1 "" 删除卷标

    blkid命令——Block Identity

    查看设备UUID

    语法:

    格式:blkid 设备名

    tune2fs命令

    查看EXT分区属性

    语法:

    格式:tune2fs [选项] 设备名

    选项:

    tune2fs: 调整文件系统的相关属性
        -j: 不损害原有数据,将ext2升级为ext3;
        -L LABEL: 设定或修改卷标; 
        -m #: 调整预留百分比;
        -r #: 指定预留块数;
        -o: 设定默认挂载选项;
            acl
        -c #:指定挂载次数达到#次之后进行自检,0或-1表关闭此功能;
        -i #: 每挂载使用多少天后进行自检;0或-1表示关闭此功能;
        -l: 显示超级块中的信息;

    dumpe2fs

     显示文件属性信息

    -h: 只显示超级块中的信息

    fsck

    检查并修复Linux文件系统

    选项:

        -t FSTYPE: 指定文件系统类型
        -a: 自动修复

    e2fsck

    专用于修复ext2/ext3文件系统

    选项:

        -f: 强制检查;
        -p: 自动修复;

    挂载文件系统

    mount命令

    语法:

    格式:mount [选项] 设备名 挂载点

      mount [options] [-o options] DEVICE MOUNT_POINT

     设备:

        设备文件:/dev/sda5
            卷标:LABEL=""
            UUID: UUID=""

     挂载点:目录

    要求:

          1、此目录没有被其它进程使用;
                2、目录得事先存在;
                3、目录中的原有的文件将会暂时隐藏;

    常用命令选项

     -a  加载所有fstab已配置的文件系统; 表示挂载/etc/fstab文件中定义的所有文件系统      -t  指定挂载类型
     -o  指定挂载参数
     -L  使用卷标名挂载
     -o loop    挂载回环设备              //将ISO镜像文件挂载到指定位置
     --bind    目录挂载目录下

      -n: 默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使用—n选项意味着挂载设备时,不把信息写入此文件;

      -t FSTYPE: 指定正在挂载设备上的文件系统的类型;不使用此选项时,mount会调用blkid命令获取对应文件系统的类型;

      -r: 只读挂载,挂载光盘时常用此选项

      -w: 读写挂载

      -o: 指定额外的挂载选项,也即指定文件系统启用的属性;

        remount: 重新挂载当前文件系统

        ro: 挂载为只读

        rw: 读写挂载

    fstab:开机自动挂载,进入vim /etc/fstab配置完 第一时间输入mount -a

    mount: 显示当前系统已经挂载的设备及挂载点

    挂载完成后,要通过挂载点访问对应文件系统上的文件;

    文件系统的配置文件/etc/fstab

     OS在初始时,会自动挂载此文件中定义的每个文件系统

    要挂载的设备    挂载点        文件系统类型        挂载选项        转储频率(每多少天做一次完全备份)        文件系统检测次序(只有根可以为1)        

    例子:

    /dev/sda5        /mnt/test        ext3        defaults        0 0

    fuser:

    验证进程正在使用的文件或套接字文件

      -v: 查看某文件上正在运行的进程
        -k:
        -m
        
        fuser -km MOUNT_POINT:终止正在访问此挂载点的所有进程

    df命令——Disk usage of File system

    查看磁盘使用情况

    语法:

    格式:df [选项]... [文件]...

    常见命令选项

      -h    易读方式查看分区大小
        -T    列出文件系统类型

    umount命令

    语法:

    格式:umount 设备名|挂载点

    常用命令选项

     -a:卸载所有已挂载的非伪文件系统

    卸载注意事项:

    挂载的设备没有进程使用;

    开机自动挂载

    /etc/fstab 开机自动挂载文件

    1.查看设备UUID

    [root@localhost ~]# blkid  /dev/sdb1  /dev/sdb5    //查看需要挂载的设备的UUID

    2.进入fstab配置

    进入配置:

    [root@localhost ~]#vim  /etc/fstab   

    格式:

    设备文件(卷标名/UUID)  挂载点   类型   挂载参数   备份标记  检测顺序
    UUID="............"       /mnt    ext3   defaults       0         0

    etc/fstab文件的语法

    DEVIDE     MOUNT_POINT    RFS_TYPE     MOUNT_OPTIONS     DUMP_FREQ      FSCK_ORDER

    详解:

    DEVIDE:文件系统的名称,可以使用设备文件名或文件系统的标签名称
    MOUNT_POINT:挂载点路径,必须是绝对路径,而且挂载点必须是一个目录
    FS_TYPE:文件系统的类型
    MOUNT_OPTONS:挂载这个文件系统时的参数
    DUMP_FREQ:当使用dump工具时,是否要备份这个文件系统,以及备份的频率。DUMP_FREQ如果是1,代表需要备份;0则代表不需备份。
    FSCK_ORDER:执行fsck时,是否要检查这个文件系统以及检查的顺序。如果FSCK_ORDER为0,则代表执行fsck
    -A时不会检查这个文件系统;
          而使用非0的正整数则代表要检查。FSCK_ORDER非0时,也代表执行的顺序。例如1代表第一顺位....以此类推。

    3.配置完成  加载更新挂载点

    [root@localhost ~]# mount –a    //加载更新下挂载点
    [root@localhost ~]# mount   查看

    autofs触发挂载

    1.依赖于autofs服务,由autofs服务提供的按需访问机制

    只要访问挂载点,就会触发响应,自动挂载预先指定的设备
    闲置超过时限(默认5分钟)后,会自动卸载

    2.主配置文件 /etc/auto.master

    监控点目录 挂载配置文件的路径

    挂载点父目录 挂载配置文件(自定义)

    3.挂载配置文件,比如/etc/auto.misc

    访问点子目录 -挂载参数 :设备名

    4.访问autofs自动挂载的光盘目录

    确认autofs服务已启动

    5./etc/auto.xxx 挂载配置文件   

    格式:

    挂载点子目录(不需要创建)    挂载参数 :设备名

    # /etc/init.d/autofs stop 停止autofs服务

    # /etc/init.d/autofs start 开启autofs服务

    fsck

    检查文件系统

    常用命令:

    A:依据/etc/fstab的设置,检查所有文件系统的完整性
    a:自动修复文件系统
    y:去修复时,询问是否执行某一个动作
    f:即时文件系统是干净的,也要强制检查文件系统

     

  • 相关阅读:
    349、两个数组的交集 | JS集合
    JS集合Set
    JS里的队列和链表
    使用链表指针获取JSON的节点值
    141、环形链表 | JS-链表
    83、删除排序链表中的重复元素 | JS-链表
    2、两数相加 | JS-链表
    事件循环与任务队列
    933、最近的请求次数 | JS-队列
    栈JS实现
  • 原文地址:https://www.cnblogs.com/zhongguiyao/p/9172726.html
Copyright © 2011-2022 走看看