加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_汕头站长网 (https://www.0754zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux磁盘管理与文件系统

发布时间:2022-10-26 12:44:41 所属栏目:Linux 来源:
导读:  前言:

  管理磁盘与文件系统管理是管理员的重要工作内容之一,在Linux服务器中,当现有硬盘的分

  区规划不能满足要求时,就需要对硬盘中的分区进行重新规划和调整,或者添加新的硬盘设备来扩
  前言:
 
  管理磁盘与文件系统管理是管理员的重要工作内容之一,在Linux服务器中,当现有硬盘的分
 
  区规划不能满足要求时,就需要对硬盘中的分区进行重新规划和调整,或者添加新的硬盘设备来扩
 
  展空间。在硬盘中建立分区后,还需要对分区进行格式化并挂载到系统中的指定目录,然后才能用
 
  于存储文件、目录等数据。在这里我们将详细了解磁盘管理与文件系统管理。
 
  一、磁盘结构及分区表示 1、磁盘基础 ⑴、磁盘物理结构
 
  盘片:硬盘有多个盘片,每个盘片2面。
 
  磁头:每面有一个磁头。
 
  ⑵、硬盘的数据结构
 
  扇区:磁盘上得每个磁道被等分为若干个弧段,这些弧段就是硬盘得扇区。硬盘的第一个扇
 
  区叫做引导扇区。盘片被分为多个扇形区域,每天扇区存放512字节的数据,扇区是硬盘的最小存
 
  储位。
 
  磁道:同一个盘片不同半径的同心圆。磁盘旋转时,磁头保持在一个位置上,则每个磁头会
 
  在盘片上面划出一个圆形轨迹,这些圆形轨迹就是磁道。
 
  柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成。
 
  ⑶、存储容量
 
  磁盘存储容量=磁头数*磁道(柱面)数*每道扇区数*每扇区字节数。
 
  可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域。
 
  2、硬盘接口
 
  硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI和SAS,接口速率不是实际硬
 
  盘数据传输的素的。
 
  ATA:并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利于电脑内部散
 
  热,已逐渐被SATA所取代。
 
  SATA:抗干扰性强, 支持热拔插等功能,速度快,纠错能力强。
 
  SCSI:(小型机系统接口),广为工作站级个人电脑以及服务器所使用,资料传输时CPU占
 
  用率较低,支持热拔插等功能,速度快等。
 
  SAS:新一代SCSI技术,串行连接SCSI接口,与SATA硬盘相同,都是采取序列式技术以获
 
  得更高的传输速度(可达到6GB/s),并通过缩短连接线改善内部空间等。
 
  二、磁盘分区表示 1、主引导记录MBR
 
  MBR位于硬盘第一个物理扇形处;MBR中包含硬盘的主引导到程序和硬盘分区表,MBR总共
 
  512字节, 前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中,分区表有4个
 
  分区记录区,每个分区占16字节。主启动记录(MBR)磁盘分区支持最大卷为2.2TB,无法处理大于
 
  2.2t的,超过之后使用GPT
 
  2、磁盘分区的表示 ⑴、简介
 
  常见硬盘可划分为主分区、扩展分区和逻辑分区,通常主分区只有四个,而扩展分区可以看成
 
  是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。主分区一般用来安装操作系统,扩展
 
  分区则多用于存储文件数据。
 
  ⑵、Windows系统与Linux系统中分区的区别
 
  在 Windows系统中,使用盘符的形式(如C盘、盘、E盘等)来表示不同的主分区、逻辑分
 
  区,而忽略了不能直接存储文件据的扩展分区。
 
  在Linux系统中,内核读取光驱、硬盘等资源时均通过“设备文件”的形式进行,因此Linux系统
 
  将硬盘和分区分别表示为不同的文件。具体表述形式如下:
 
  磁盘修复工具 linux_linux 查看磁盘配额_Linux 磁盘管理
 
  ①、硬盘:对于IDE接口的硬盘设备,表示为hdX”形式的文件名:而对于SCS接口的硬盘设备,则表
 
  示为“sdX”形式的文名。其中“X”可以为a、b、c、d等字母序号。
 
  ②、分区:表示分区时,以硬盘设备的文件名作基础,在后边添加该分区(主分区、扩展分区、逻
 
  辑分区)对应的数字序号即可。由于硬盘中的主分区数目只有4个,此主分区和扩展分区的序号也
 
  就限制在1~4,而逻辑分区的序号将始终从5始。即便第1个DE硬盘中只划分了一个主分区、一个
 
  扩展分区,则新建的1个逻辑分区的序号仍然是从5开始的,应表示为“hda5”,第2个逻辑分区表示
 
  为“hda6”。
 
  3、 Linux中使用的文件系统类型
 
  文件系统类型决定了向分区中存放、读取文件数据的方式和效率,在对分区进行格式化时需
 
  要选择所使用的文件系统类型在。 Windows操作系统中,经常使用的文件系统类型包括FAT32、
 
  NTFS等格式;而 Linux系统中,最常使用的文件系统主要包括以下几种格式:
 
  ⑴、EXT4:
 
  第4代扩展文件系统,用于存放文件和目录数据的分区,是 Linux系统中默认使用的文件系
 
  统。EXT4是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志数据,便于恢复,在存
 
  取性能和稳定性方面更加出色。
 
  ⑵、XFS:
 
  是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万 T 字节的存储空间。
 
  由于 XFS 文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根
 
  据日志记录在短时间内进行数据恢复。
 
  ⑶、SWAP:
 
  交换文件系统,用于为 Linux 系统建立交换分区。交换分区的作用相当于虚拟内存,能够在
 
  一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的 1.5~2 倍。
 
  例如,对于拥有 512MB物理内存的主机,其交换分区的大小建议设置为 1024MB。如果服务器的
 
  物理内存足够大(如 8GB 以上),也可以不设置交换分区。交换分区不用于直接存储用户的文件
 
  和目录等数据。
 
  注:Linux 系统还广泛支持其他各种类型的文件系统,如 JFS、FAT16、FAT32、NTFS 等。JFS
 
  文件系统多用于商业版本的 UNIX 操作系统中,具有出色的性能表现。由于 NTFS 是微软公司的专
 
  有文件系统,Linux 系统默认只支持从 NTFS 分区读取文件,如果需要向 NTFS 分区中写入文件数
 
  据,需要结合其他辅助软件(如 NTFS-3G)。
 
  三、管理磁盘及分区
 
  我们使用fdisk磁盘及分区管理工具来实现分区规划和调整,fdisk工具是大多数Linux系统中自
 
  带的基本工具之一。
 
  1、检测并确认新硬盘
 
  挂接好新的硬盘设备并启动主机,Linux系统会自动检测并加载该硬盘,无需额外安装驱动。
 
  执行 “ fdisk -l ” 或 “ fdisk ”命令可以查看、确认新增硬盘的设备名称和位置。“ fdisk -l ” 命令的作用
 
  是列出系统中所有硬盘设备及其分区的信息。
 
  Linux 磁盘管理_linux 查看磁盘配额_磁盘修复工具 linux
 
  如图,包含了各硬盘的整体情况和分区情况,其中 “ /dev/sda ” 为原有的硬盘设备,而 “
 
  /dev/sdb ” 为新增的硬盘,添加新磁盘之后需要重启才能使用或查看到新盘,新硬盘设备还未初始
 
  化,没有包含有效的分区信息。 已有分区列表信息解释如下:
 
  Linux 磁盘管理_linux 查看磁盘配额_磁盘修复工具 linux
 
  Device:分区的设备文件名称。
 
  Boot:是否是引导分区。若是,则有“*”标识。
 
  Start:该分区在硬盘中的起始位置(柱面数)。
 
  End:该分区在硬盘中的结束位置(柱面数)。
 
  Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。
 
  Id:分区对应的系统 ID 号。83 表示 Linux 中的 XFS 分区或 EXT4 分区、8e 表示 LVM 逻辑卷。LVM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制,与之相关的知识将在后面的章节介绍。
 
  System:分区类型。识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了。在 Linux 操作系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作将在后续内容中讲解。
 
  2、规划硬盘中的分区 ⑴、简介
 
  使用 “fdisk /dev/sbd ” 命令可以进入到交互式的分区管理界面,如图:
 
  Linux 磁盘管理_linux 查看磁盘配额_磁盘修复工具 linux
 
  在 “ :” 提示符后输入特定的分区操作指令,即可完成各项分区管理任务,输入“m”指令可查
 
  看各种操作指令的帮助信息。(Command (m for help): m#输入m指令),各指令对应功能如下:
 
  fdisk指令说明
 
  a
 
  toggle a bootable flag
 
  设置可引导标记
 
  b
 
  edit bsd disklabel
 
  修改bsd的磁盘标签
 
  c
 
  toggle the dos compatibility flag
 
  设置DOS操作系统兼容标记
 
  d
 
  delete a partition
 
  删除一个分区
 
  l
 
  list known partition types
 
  显示已知的分区类型,其中82为Linux swap分区,83为Linux分区
 
  m
 
  print this menu
 
  显示帮助菜单
 
  n
 
  add a new partition
 
  增加一个新的分区
 
  o
 
  create a new empty DOS partition table
 
  创建一个新的空白的DOS分区表
 
  p
 
  print the partition table
 
  显示磁盘当前的分区表
 
  q
 
  quit without saving changes
 
  出fdisk程序,不保存任何修改
 
  s
 
  create a new empty Sun disklabel
 
  创建一个新的空白的Sun磁盘标签
 
  t
 
  change a partition's system id
 
  改变一个分区的系统号码
 
  u
 
  change display/entry units
 
  改变显示记录单位
 
  v
 
  verify the partition table
 
  对磁盘分区表进行验证
 
  w
 
  write table to disk and exit
 
  保存修改结果并退出fdisk程序
 
  x
 
  extra functionality (experts only)
 
  特殊功能,不建议初学者使用
 
  ?
 
  显示帮助信息
 
  ⑵、部分交互指令详解
 
  ①、新建分区——“n”指令
 
  可以进行创建分区操作,包括主分区和扩展分区。根据提示继续输入“p”选择创建主分区,输
 
  入“e”选择创建扩展分区,之后依次选择分区号、起始位置、结束位置或分区大小即可完成新分区的创建。
 
  接着创建一个扩展分区,以及两个逻辑分区,如下步骤:
  
  ②、删除分区——“d”指令
 
  使用“d”指令删除指定的分区,根据提示继续输入需要删除的分区号即可删除分区。注意若扩
 
  展分区被删除,则扩展分区之下的逻辑分区也将被同时删除,因此必须确认无误后在进行删除,建
 
  议从最后一个分区开始进行删除。
 
  ③、变更分区类型——“t”指令
 
  这个指令可以变更分区ID号。操作时需要依次指定目标分区序号、新的系统ID号。可以使
 
  用“l”指令查看ID号,不同类型的文件系统对应不同的ID号,以十六进制数表示。最常用的EXT4、
 
  Swap文件系统的ID号分别为83、82。
 
  ④、列出硬盘中的分区情况——“p”指令
 
  “p”指令可以列出详细的分区情况,也可以使用命令lsblk命令查看分区信息。
 
  ⑤、退出fdisk分区工具——“w”和“q”指令
 
  注意:对已包含数据的硬盘进行分区时,一定要做好数据备份,创建完分区保存之前要确保操
 
  作无误,以免发生数据损坏。变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系
 
  统重启一次,或者执行“partprobe”命令使操作系统检测新的分区情况。
 
  四、管理文件系统 1、创建文件系统
 
  创建文件系统的过程也即格式化分区的过程,在Linux系统中使用mksf’(创建文件系统)命令
 
  工具可以格式化XFS、EXT4、FAT等不同类型的分区,而使用mkswap命令可以格式化swap交换
 
  分区。
 
  ⑴、mkfs命令,创建文件系统
 
  mkfs命令是一个前端工具,可以自动加载不同的程序来创建各种类型的分区,而后端 包括多
 
  个与mkfs命令相关的工具程序,这些程序位于/sbin/目录中。如支持EXT4分区格式的mkfs.ext4程
 
  序等。
 
  ①、创建EXT4文件系统
 
  执行 mkfs -t ext4 /dev/sdb1 或者 mkfs.ext4 /dev/sdb1命令可以把分区/dev/sdb1格式化为
 
  EXT4文件系统。
 
  ⑵、mkswap命令,创建交换分区
 
  Linux系统中,swap分区的作用类型与我制度的Windows系统中的“虚拟内存”,可以在一定程
 
  度上缓解内存不足的情况。当当前Linux主机运行的服务较多Linux 磁盘管理,需要更多的交换空间支撑应用时,
 
  可以为其增加新的交换空间。
 
  使用mkswap命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk工具讲
 
  ID号设为82。
 
  2、挂载、卸载文件系统
 
  在Lnux系统中,对各种存储设备中的资源访问(如读取、保存文件等)都是通过目录结构进行
 
  的,虽然系统核心能够通过“设备文件“的方式操纵各种设备,但是对于用户来说,还需要增加一
 
  个“挂载”的过程,才能像正常访问目录一样访问存储设备中的资源。
 
  挂载一个分区时,必须为其指定一个目录作为挂靠点(或称为挂载点),用户通过这个目录访
 
  问设备中的文件、目录数据。
 
  ⑴、挂载文件系统——mount命令
 
  ①、光盘对应的设备文件通常使用“/ dev/edrom"”,其实这是一个链接文件,链接到实际的
 
  光盘设备“/ dev/sr0”。使用这两个名称都以表示光盘设备。由于光盘是只读的存储介质,因此在挂
 
  载时系统会出现“ mounting read--only”的提示信息。
 
  ②、挂载 Linux分区或U盘设备时的用法也一样,只需要指定正确的设备位置和挂载目录即
 
  可。在 Linux系统中,U盘设备被模拟成SCS1设备,因此与挂载普通SCS1硬盘中的分区并没有明
 
  显区别,U盘一般使用FAT16或FAT32的文件系统。若不确定U盘设备文件的位置,可以先执行“
 
  fdisk-1”命令进查看、确认。例如,以下操作会将位于/ dev/sdc1的U盘设备挂载到新建的/ media//
 
  usbdisk目录下:
 
  ③、proc、sysfs、tmpfs等文件系统是Linux运行所需要的临时文件系统,并没有实际的硬盘
 
  分区与其相对应,因此也称“伪文件系统”。例如,proc文件系统实际上映射了内存及CPU寄存器中
 
  的部分数据。
 
  在实际工作中,可能会经常从互联网中下一些软件或应用系统的ISO镜像文件,在无法刻录光
 
  盘的情况下,需要将其解压后才能浏览、使用其中的文件数据。若使用 mount挂载命令,则无需解
 
  开文件包即可浏览使用ISO镜像文件中的数据。“iso”镜像文件通常被视为一种特殊的“回环”文件系
 
  统,因此在挂载时需要添加“- o loop'”选项。例如,执行以下操作可以将下载的 CentOS系统的
 
  DVD光盘镜像文件“ CentOs-7-x86_64-DVD-1611.iso”挂载到“/ kgc/mnt”目录下。
 
  在根目录下新建/kgc/目录
 
  [root@kgc-]#mount -o loop CentOS-7-x86_64-DVD-1611.iso /kgc/mnt
 
  ⑵、卸载文件系统——umount
 
  需要卸载文件系统时,使用的命令为umount,使用挂载点目录或对应设备的文件名作为卸载
 
  参数。 Linux系统中,由于同一个设备可以被挂载到多个目录下,所以一般建议通过挂载点的目录
 
  位置来进行卸载。方法如下:
 
  ①、umount 存储设备位置
 
  ②、umount 挂载点目录
 
  ⑶、设置文件系统的自动挂载
 
  系统中的/etc/ /fstab文件可以视为mount命令的配置文件,其中存储了文件系统的静态挂载数
 
  据。 Linux系统在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统。默认的
 
  fstab文件中包括了根分区、boot分区、交换分区及proc、tmpfs等伪文件系统的挂载配置。
 
  在“/ete/ fstab'”文件中,每一行记录对应一个分区或设备的挂载配置信息.到右包括六个字段
 
  (使用空格或制表符分隔),各部分的含义如下所述:
 
  第1字段:设备名或设备卷标名。
 
  第2字段:文件系统的挂载点目录的位置。
 
  第3字段:文件系统类型,如EXT4、Swap等。
 
  第4字段:挂载参数,即 mount命令“-o”选项后可使用的参数。例如defaults、rw、ro、noexec分别
 
  表示默认参数、可写、只读、禁用执行程序。
 
  第5字段:表示文件系统是否需要dump备份(dump是一个备份工具)。一般设为1时表示需要,设
 
  为0时将被dump所忽略。
 
  第6字段:该数字用于决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,
 
  2表示其次检查。对于根分区应设为1,其他分驱设为2。
 
  3、查看磁盘使用情况——df
 
  df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。主要参数有:
 
  -s:对每个Names参数只给出占用的数据块总数。
 
  -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定s,也不指定a
 
  ,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
 
  -k:以1024字节为单位列出磁盘空间使用情况。
 
  -x:跳过在不同文件系统上的目录不予统计。
 
  -l:计算所有的文件大小,对硬链接文件则计算多次。
 
  -i:显示inode信息而非块使用量。
 
  -h:以容易理解的格式印出文件系统大小,例如136KB、2 4MB、21GB。
 
  -P:使用POSIX输出格式。
 
  -T:显示文件系统类型。
 
  总结:
 
  熟悉硬盘的结构,以及硬盘的接口类型。掌握 fdisk命令工具对磁盘设备进行分区操作,mkfs
 
  命令工具可以创建文件系统类型,mkswap命令可以创建swap类型的交换文件系统,mount以及
 
  umonut命令工具挂载以及卸载硬盘、光盘等设备。
 

(编辑:云计算网_汕头站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!