Linux磁盘管理与文件系统
发布时间:2022-10-26 12:44:41 所属栏目:Linux 来源:
导读: 前言:
管理磁盘与文件系统管理是管理员的重要工作内容之一,在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命令工具挂载以及卸载硬盘、光盘等设备。 (编辑:云计算网_汕头站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330478号