• Linux下的磁盘与挂载


    Linux入门之 磁盘管理与挂载

      在我们使用计算机或者是服务器时,总会需要接入外部存储的时候,正如我们使用的移动硬盘、U盘、接入手机等,就是一个接入外部存储的过程。上述这些在接入Windows时我们都能看到系统会自动安装驱动,接着就可以直接使用了。但是在LInux下,我们若想手动接入一块硬盘,有四个步骤:

    1.磁盘分区 2.格式化 3.挂载 4.存储和读取


    磁盘

      磁盘是指利用磁记录技术存储数据的存储器。磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。
    早期计算机使用的磁盘是软磁盘(soft disk,简称软盘),如今常用的磁盘是硬磁盘(hard disk,简称硬盘)。

    软盘 Soft Disk

    硬盘 Hard Disk

      硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。在DOS中每扇区是128×2的2次方=512字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用,我们知道,每个磁盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参数,帮这些参数可以得到硬盘的容量,基计算公式为:

    存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数


    硬盘结构

    1. MBR(主引导记录)位于硬盘第一个物理扇区(绝对扇区)柱面0,磁头0,扇区1处。由于DOS是由柱面0,磁头1,扇区1开始,故MBR不属于DOS扇区,DOS不能直接访问。
    2. MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区。记录区就是记录有关分区信息的一张表。它从主引导记录偏移地址01BEH处连续存放,每个分区记录区占16个字节。

    磁盘的表示方法
    /dev/sda1
    sd 代表磁盘接口类型   USB SATA SAS等接口   IDE 用hd表示
    a b c 磁盘的顺序
    1 2 3 4磁盘中的分区号
    

    磁盘的分区号只有1-4,但是如:sda1 中的数字标识可不止1-4,也有5以上的,如sdb5、sdb6等,这是表示为逻辑驱动器。(可理解为1-4为分区,5及5以上为逻辑驱动器)


    磁盘分区

      计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区扩展分区

      主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。

      扩展分区是将一个硬盘驱动器分成若干个逻辑驱动器,把硬盘连续的区块当做一个独立的磁硬使用。理论上,逻辑驱动器是无上限的。

      一块硬盘最多可被分为四个区,也就是说这四个分区的大小就是硬盘的大小。这四个分区可定义为主分区或扩展分区,主分区可以直接格式化、安装系统或直接存放文件。扩展分区不能直接使用,应在其内部划分若干个逻辑驱动器后才能使用。
      扩展分区不能直接格式化,我们只能格式化扩展分区里的逻辑驱动器。
      此处须注意理解扩展分区与逻辑驱动器的概念。

    fdisk命令

    fdisk磁盘分区命令
    fidsk  [命令选项] [参数]
    命令选项
    -l   list 列出磁盘分区
    -u   与-l一起使用,显示分区的相关信息
    fdisk /dev/sda    为/dev/sda分区
    m :显示菜单和帮助信息
    a :活动分区标记/引导分区
    d :删除分区
    l :显示分区类型
    n :新建分区
    p :显示分区信息
    q :退出不保存
    t :设置分区号
    v :进行分区检查
    w :保存修改
    x :扩展应用,高级功能
    
    命令缺点:单个分区不能超过2T 超过的话需要用parted命令
    在linux 下大磁盘的分区不能再采用fdisk了,MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表。
    

    parted磁盘分区命令

      parted是Linux中另外一款常用的分区软件,它支持的范围也非常广,包括ext2、ext3、linux-swap等,当然也支持在Windows平台上使用。

    NAME
           parted - a partition manipulation program
    SYNOPSIS
           parted [options] [device [command [options...]...]]
    OPTIONS
           -h, --显示帮助信息
    
           -i, --交互模式
    
           -s, --脚本模式
    
           -v, --显示版本
    

    dumpe2fs命令 分区信息显示(dumpe2fs是查看ext2/ext3/ext4 文件系统信息的命令)

    [root@localhost /]# dumpe2fs /dev/sdb2
    dumpe2fs 1.42.9 (28-Dec-2013)
    Filesystem volume name:   <none>
    Last mounted on:          <not available>
    Filesystem UUID:          441acc5d-7d3d-4081-9558-b739a258f5e2
    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
    Errors behavior:          Continue
    Filesystem OS type:       Linux
    Inode count:              22528
    Block count:              90112
    Reserved block count:     4505
    Free blocks:              81615
    Free inodes:              22517
    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:         2048
    Inode blocks per group:   256
    Flex block group size:    16
    Filesystem created:       Tue Oct  8 09:52:36 2019
    Last mount time:          Wed Oct  9 07:15:36 2019
    Last write time:          Wed Oct  9 07:32:12 2019
    Mount count:              7
    Maximum mount count:      -1
    Last checked:             Tue Oct  8 09:52:36 2019
    Check interval:           0 (<none>)
    Lifetime writes:          7529 kB
    Reserved blocks uid:      0 (user root)
    Reserved blocks gid:      0 (group root)
    First inode:              11
    Inode size:               128
    Journal inode:            8
    Default directory hash:   half_md4
    Directory Hash Seed:      541a67b8-fe59-4928-90f1-7a3261db2574
    Journal backup:           inode blocks
    Journal features:         journal_64bit
    Journal size:             4096k
    Journal length:           4096
    Journal sequence:         0x00000007
    Journal start:            0
    

    blkid命令 查看磁盘分区 UUID信息

    # blkid  /dev/vda1
    /dev/vda1: UUID="eb448abb-3012-4d8d-bcde-94434d586a31" TYPE="ext4"
    

    磁盘格式化

    mkfs命令

      格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级格式化和高级格式化。如果没有特别指明,对硬盘的格式化通常是指高级格式化,而对软盘的格式化则通常同时包括这两者。

    格式化可理解为给分区安排一个文件系统,用于负责管理和存储数据的系统。
    文件系统类型分 fat、ntfs、ext2、ext3、ext4、xfs、iso9660(光盘文件系统) 等

    NAME
           mkfs - build a Linux filesystem
    SYNOPSIS
           mkfs [options] [-t type] [fs-options] device [size]
    -L 标签名
    -V : 详细显示模式
    -t : 给定档案系统的型式,Linux 的预设值为 ext2
    -c : 在制做档案系统前,检查该partition 是否有坏轨
    -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
    -b : 给定 block 的大小
    
    关于block and inode  dentry
    实验发现这句话不对
    block越大,inode越少,适合存储大文件的文件系统;block越小,inode越多,适合存储文件多而小的文件系统。
    
    磁盘分区格式化
    mkfs -t ext4 /dev/sdb2
    

    挂载

      Linux中的所有设备必须经过挂载才可以被用户使用,挂载的方式其实就是将某个设备挂到文件系统中的某个文件夹,就是将设备和文件夹映射在一起,对文件夹的操作就是对设备的操作。

    mount命令 挂载

    NAME
           mount - mount a filesystem
    SYNOPSIS
           mount [-lhV]
    
           mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
    
           mount [-fnrsvw] [-o option[,option]...]  device|dir
    
           mount [-fnrsvw] [-t vfstype] [-o options] device dir
    
    OPTIONS
    -a   挂载所有文件系统,参考文件 /etc/fstab
    -l   显示当前挂载
    -t   文件系统类型
    -o   指定挂载权限
    

    umount命令 卸载

    NAME
           umount - unmount file systems
    SYNOPSIS
           umount [-hV]
           umount -a [-dflnrv] [-t vfstype] [-O options]
           umount [-dflnrv] {dir|device}...
    OPTIONS      
    -l,  懒惰卸载
    

    自动挂载 /etc/fstab文件

    设备       挂载点     文件系统    权限     备份   检测
    第一列    设备源文件或者UUID
    第二列    设备挂载点
    第三列    文件系统类型
    第四列
    auto: 系统自动挂载,fstab默认就是这个选项
    defaults: rw, suid, dev, exec, auto, nouser, and async.
    noauto 开机不自动挂载
    nouser 只有超级用户可以挂载
    ro 按只读权限挂载
    rw 按可读可写权限挂载
    user 任何用户都可以挂载
    
    第五列是dump备份设置。
    当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;
    
    第六列是fsck磁盘检查设置。
    其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。
    
    ##sdb 
    /dev/sdb2     /opt/data1      ext4    defaults        0       0
    /dev/sdb5     /opt/data2      xfs     ro              0       0
    /dev/sdb6     /opt/data3      ext3    rw              0       0
    
    

    在挂载完成后就可进行磁盘的使用了


  • 相关阅读:
    第一章 搭建Qt开发环境
    Git
    spring和springmvc
    spring注解
    转:spring mvc 设置@Scope("prototype")
    转:win10完美去除快捷方式小箭头
    数据库操作之DBUtils
    java.awt.headless系统设定
    POI 导出Exicel, 报Could not initialize class sun.awt.X11FontManager错误
    ORA-01950: no privileges on tablespace
  • 原文地址:https://www.cnblogs.com/aqiao/p/11656769.html
Copyright © 2020-2023  润新知