一、磁盘结构

1.1、硬盘的物理结构

盘头:硬盘有多个盘片,每盘片2面

磁头:每面一个磁头

1.2、硬盘的数据结构

扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位

磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹

柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成

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

可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

磁盘接口类型:IDE、SATA、SCSI(常用)、SAS、光纤通道

IDE:并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热, 已逐渐被SATA 所取代

SATA:抗干扰性强, 支持热插拔等功能,速度快,纠错能力强

SCSI(目前常用):小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时cPU占用率较低,转速快,支持热插拔等

SAS:是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s

1.3、MBR与磁盘分区表示

主引导记录(MBR:Mster Boot Record)

  • MBR位于硬盘第一个物理扇区处
  • MBR中包含硬盘的主引导程序和硬盘分区表
  • 分区表有4个分区记录区,每个分区记录区占16个字节(主引导程序占446字节)
  • linux中将硬盘、分区等设备均表示为文件
  • MBR磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区

/dev/sdb1分析

dev:硬件设备文件所在目录

sd:表示SCSI设备(hd表示IDE设备)

b:代表硬盘的顺序号,以字母a,b,c顺序表示

1:代表分区的顺序号,以数字1、2、3顺序表示

补充知识:全局唯一标识分区表(GUID Partition Table,缩写:GPT)

GPT是一个实体硬盘的分区结构。它是可扩展固件接口标准的一部分,用来替代BIOS中的主引导记录分区表。 传统的主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区。
与MBR分区方法相比,GPT具有更多的优点,因为它允许每个磁盘有多达128个分区,支持高达18EB(千兆兆字节)的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。

1.4、磁盘分区结构

硬盘中的主分区数目只有四个

主分区和扩展分区的序号限制在1~4

扩展分区再分为逻辑分区

逻辑分区的序号将始终从5开始

二、文件系统类型

2.1、XFS文件系统

存放文件和目录数据的分区

高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间。

CentOS 7系统中默认使用的文件系统

2.2、SWAP交换文件系统

为Linux系统建立交换分区(可以理解为虚拟内存)

一般设置为物理内存的1.5~2倍

Linux支持的其他文件系统类型:EXT4(centOS6)、FAT32、NTFS、LVM

2.3、检测并确认新硬盘

fdisk命令

查看所有磁盘信息 fdisk  -l  【磁盘设备】

字段解析

设备:分区的设备文件名称

Boot:是否是引导分区。若是,则有"*"标识

Start:该分区在硬盘中的起始位置 (柱面数)

End:该分区在硬盘中的结束位置(柱面数)

Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节

Id:分区对应的系统 ID 号。例如,83表示Linux中的XFS分区或EXT4分区、8e表示LVM逻辑卷

System:分区类型

管理磁盘分区   fdisk  【磁盘设备】

创建分区步骤

变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行"partprobe"命令使操作系统检测新的分区表情况。 以防格式化分区时损坏硬盘中已有的数据。

2.4、创建xfs文件系统

Make  Filesystem,创建文件系统(相当于进行格式化)

利用mkfs命令:mkfs  -t  文件系统类型   分区设备

或者mkfs.文件系统类型   分区设备

2.5、创建swap文件系统

make swap,创建交换文件系统

利用mkswap命令

mkswap   分区设备  创建文件类型

swapon    分区设备  启动swap

swapoff    分区设备    关闭swap

三、挂载、卸载文件系统

3.1、挂载文件系统mount

挂载文件系统

mount 【-t类型】 存储设备  挂载点目录

-t:用于指定文件系统类型,通常可以省略,由系统自动识别

挂载ISO镜像到指定文件夹

mount  -o  loop  ISO镜像文件  挂载点目录

-o:挂载参数列表,以英文逗号分割;或用来描述特殊设备,用loop指定

注:此时的挂载仅为临时挂载,重启系统将不在挂载

3.2、卸载已挂载的文件系统umount

卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录

umount  【-lf】  存储设备或挂载点目录

-l:表示解除正在繁忙的文件系统

-f:表示强制

注:用xshell远程操控,卸载命令可能会遇到正在繁忙的错误

3.3、查看磁盘使用情况

直接输入mount命令

 df 【选项】

-h:显示分区的容量单位

-T:显示文件系统的类型

-i:显示分区的inode号码数量

3.3、设置文件系统的自动挂载

/etc/fstab配置文件中包含需要开启后自动挂载的文件系统记录

设置文件系统的自动挂载,Linux 操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统。

操作命令:vim /etc/fstab进行配置

字段解析

第1字段∶设备名或设备卷标名(UUID,可用命令blkid查看)

第2字段∶ 文件系统的挂载点目录的位置

第3字段∶文件系统类型,如 xfs、swap 等

第4字段∶挂载参数,即mount命令"-o"选项后可使用的参数。例如defaults(默认参数)、rw(可读写)、ro(只读)、noexec(禁用执行程序)

第5字段∶ 表示文件系统是否需要 dump 备份(dump 是一个备份工具)。一般设为1时表示需要,设为0时将被dump 忽略

第6字段∶该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区可设为1,其他分区设为2

Linux的磁盘管理和文件系统的更多相关文章

  1. Linux系统管理----磁盘管理与文件系统

    1.为主机新增两块30GB的SCSI硬盘 找到要添加的虚拟机,单击鼠标右键,点击设置 点击添加 选择硬件类型,然后点击下一步 选择要创建的磁盘类型,然后点击下一步 指定要创建磁盘的容量,然后点击下一步 ...

  2. Linux 系统管理——磁盘管理及文件系统实例

    1.为主机新增两块30GB的SCSI硬盘 2.划分3个主分区,各5GB,剩余空间作为扩展分区 3.在扩展分区中建立2个逻辑分区,容量分别为2GB.10GB 4.将第一个逻辑分区的类型改为swap 5. ...

  3. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  4. Linux磁盘管理——日志文件系统与数据一致性

    参考:Linux磁盘管理——Ext2文件系统 数据不一致 上图是Ext2结构图,其他FS结构类似. 一般来说,我们将 inode table 与 data block 称为数据区:至于其他例如 sup ...

  5. linux基础之磁盘管理与文件系统

    上面一篇文章(https://www.cnblogs.com/ckh2014/p/7224851.html)介绍了硬盘的基本结构,那么一块磁盘如何应用取存储数据呢? 它的步骤是这样的: 识别硬盘 -- ...

  6. LINUX的磁盘管理du命令详解

    LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...

  7. Linux命令——磁盘管理

    Linux命令--磁盘管理 命令df 作用:查看已挂载磁盘的总容量.使用容量.剩余容量等 参数:-i,查看inodes的使用状况 参数:-h,使用合适的单位显示(推荐) 命令du 作用:查看某个目录或 ...

  8. Linux下磁盘管理命令df与du

    Linux下磁盘管理命令df与du  对磁盘进行查看和控制的两个linux命令,df和du.  一.du命令 首先看一下du的help说明: [root@misdwh opt]# du --help ...

  9. Linux命令-磁盘管理(二)

    Linux命令-磁盘管理(二) Linux mmount命令 Linux mmount命令用于挂入MS-DOS文件系统. mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内 ...

随机推荐

  1. Tiling 简单递推+大数

    Tiling c[0]=1,c[1]=1,c[2]=3;   c[n]=c[n-1]+c[n-2]*2;   0<=n<=250.   大数加法 java  time  :313ms 1 ...

  2. Docker搭建Gogs代码仓库——代码自动化运维部署平台(一)

    一.准备工作 1.Gogs 概念: Gogs 是一款极易搭建的自助 Git 服务. 目的: Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Go ...

  3. 浅读tomcat架构设计之Pipeline-Valve管道(4)

    tomcat Container容器处理请求是使用Pipeline-Valve管道来处理的,后续写的tomcat内存马,和他紧密结合 Pipeline-Valve是责任链模式,责任链模式是指在一个请求 ...

  4. 深入理解 Go Map

    文章参考:Go语言设计与实现3.3 哈希表 哈希表的意义不言而喻,它能提供 O(1) 复杂度的读写性能,所以主流编程语言中都内置有哈希表. 哈希表的关键在于哈希函数, 好的哈希函数能减少哈希碰撞,提供 ...

  5. SpringCloud:Zuul路由配置超时问题

    测试访问时长 修改下业务类,增加sleep休眠时长,以此查看Zuul的熔断 @GetMapping("/test1") public Object test1() { try { ...

  6. sshpass用法介绍

    参考文章:http://www.mamicode.com/info-detail-1105345.html https://www.jianshu.com/p/a2aaa02f57dd p.p1 { ...

  7. C语言:打印所有char字符

    #include <stdio.h> int main() { int aa; char bla; for(aa=0;aa<=255;aa++) { if(aa%10==0 and ...

  8. vue实现menu菜单懒加载

    本文将在vue+element ui项目中简单实现menu菜单的懒加载. 最近接到这样的需求:菜单的选项不要固定的,而是下一级菜单选项需要根据上级菜单调接口来获取.what? 这不就是懒加载吗?翻了一 ...

  9. C++第四十篇 -- 研究一下Windows驱动开发(三)-- NT式驱动的基本结构

    对于NT式驱动来说,主要的函数是DriverEntry例程.卸载例程及各个IRP的派遣例程. 一.驱动加载过程与驱动入口函数(DriverEntry) 和编写普通应用程序一样,驱动程序有个入口函数,也 ...

  10. 深入刨析tomcat 之---第1篇,解决第1,2章bug 页面不显示内容Hello. Roses are red.

    writedby 张艳涛, 第一个问题是不显示index.html网页 19年才开始学java的第二个月,就开始第一遍看这本书,我估计当初,做第一章的一个案例,自己写代码,和验证就得一天吧,当初就发现 ...