Linux磁盘管理与文件系统

结构

磁盘基础

检测并确认新硬盘

规划硬盘中的分区

创建文件系统

挂载、卸载文件系统

 

 

磁盘结构

硬盘的物理结构

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

硬盘的数据结构

  • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
  • 磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
  • 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成

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

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

磁盘接口类型

  • IDE、SATA、SCSI、SAS、光纤通道

 硬盘的接口种类:

  • IDE,并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代。
  • SATA,抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
  • sCSI,小型机系统接口, SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。
  • SAS,是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s.
 

MBR与磁盘分区表示

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

  • MBR位于硬盘第一个物理扇区处
  • MBR中包含硬盘的主引导程序和硬盘分区表
  • 分区表有4个分区记录区,每个分区记录区占16个字节
  • Linux中将硬盘、分区等设备均表示为文件
 示例:/dev/hda5
  • /dev/:硬件设备文件所在的目录
  • hd:表示IDE设备,如果是sd 则表示SCSI设备
  • a:硬盘的顺序号,以字母a、b、c……表示
  • 5:分区的顺序号,以1、2、3……表示
 

磁盘分区结构

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

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

  • 扩展分区再分为逻辑分区

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

 Linux磁盘管理与文件系统

主启动记录(MBR)磁盘分区

  • MBR是主引导记录,位于硬盘第一个物理扇区处, MBR中包含硬盘的主引导程序和硬盘分区表。MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。分区表有4个分区记录区,每个分区记录区占16字节。
  • 主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区。

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

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

文件系统类型

XFSX件系统

  • 存放文件和目录数据的分区
  • 高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间。
  • CentOS 7系统中默认使用的文件系统

SWAP,交换文件系统

  • 为Linux系统建立交换分区
  • 一般设置为物理内存的1.5~2倍

Linux支持的其它文件系统类型

  • EXT4, FAT32, NTFS, LVM
  • CentOS 6 的文件系统 EXT 4
  • SWAP 相当于Linux系统中的虚拟内存。缓解内存空间,无法优化运行效率
  • LVM 逻辑卷,实现动态扩容或减容磁盘空间,初步的弹性伸缩效果

 

查看磁盘分区

fdisk -l [磁盘设备] 或 fdisk [磁盘设配]

Linux磁盘管理与文件系统 

  • Device (设备) :分区的设备文件名称。
  • Boot:是否是引导分区。若是,则有"*"标识。
  • Start:该分区在硬盘中的起始位置(柱面数)
  • End:该分区在硬盘中的结束位置(柱面数) 。
  • Blocks:分区的大小,以Blocks (块)为单位,默认的块大小为1024字节(连续几个扇区可以组成一个块)。
  • Id:分区对应的系统ID号。例如, 83表示Linux中的XFS分区或EXT4分区、8e表示LM逻辑卷。
  • System:分区类型。

管理磁盘分区

  • fdisk /dev/sdb

交互模式中的常用指令:

  • m: 获取帮助菜单
  • n: 新建分区
  • p: 查看分区情况
  • d: 删除分区
  • t: 变更分区的类型
  • w: 保存分区操作并退出
  • q: 不保存分区操作并退出

 

 创建分区步骤

n
  --> p主分区、e扩展分区、1逻辑分区
      -->设置分区: 1 (范围1-4,如按Enter键接受默认值)
          -->设置柱面序列:直接按Enter键接受默认值
               -->设置分区大小: +20G (指定大小为20GB,如按Enter键接受默认值表示所有空间)
                    --w
变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行"partprobe"命令使操作系统检测新的分区表情况,以防格式化分区时损坏硬盘中已有的数据。
 

创建文件系统

mkfs命令

  • Make Filesystem,创建文件系统(格式化)
           mkfs -t 文件系统类型 分区设备

示例:

[root@localhost ~]# Is /sbin/mkfs*
/sbin/mkfs /sbin/mkfs.cramfs /sbin/mkfs.ext3 /sbin/mkfs.minix
/sbin/mkfs.btrfs /sbin/mkfs.ext2 /sbin/mkfs.ext4 /sbin/mkfs.xfs
[root@localhost ~]# mkfs -t xfs /dev/sdb1
 

mkswap命令

  • make swap,创建交换文件系统
           mkswap 分区设备

示例:

[root@localhost ~]# mkswap /dev/sdb5
[root@localhost ~]# cat /proc/meminfo | grep SwapTotal
SwapTotal: 8257532 kB
[root@localhost ~]# swapon /dev/sdb5
[root@localhost ~]# cat /proc/meminfo | grep SwapTotal
SwapTotal: 10354680 kB
[root@localhost ~]# swapoff /dev/sdb5
 

free 命令 查看当前内存的使用状态

Linux磁盘管理与文件系统

swapoff -a 禁用所有交换分区

Linux磁盘管理与文件系统

swapon 可以指定启用分区

Linux磁盘管理与文件系统

 

挂载、卸载文件系统

mount命令

  • 挂载文件系统、ISO镜像到指定文件夹

格式:

  • mount [-t 类型] 存储设备 挂载点目录
  • mount -o loop IsO镜像文件 挂载点目录

选项:

  • -t: 用于指定文件系统类型,通常可以省略,由系统自动识别
  • -o: 挂载参数列表,以英文逗号分隔;或用来描述特殊设备,用loop指定

示例:挂载镜像文件到目录 /mnt

Linux磁盘管理与文件系统 

umount命令

  • 卸载已挂载的文件系统
  • 卸载前提:挂载的设备或目录没有被在使用。需要先退出挂载目录。

格式:

  • umount 存储设备位置
  • umount 挂载点目录

选项:

  • -l 表示解除正在繁忙的文件系统
  • -f 表示强制

查看磁盘使用情况

1.直接mount命令

2. df [选项]

  • -h: 显示分区的容量单位
  • -T: 显示文件系统的类型
  • -i: 显示分区的inode号码数量

 

设置文件系统的自动挂载

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

vim /etc/fstab

Linux磁盘管理与文件系统

/dev/sdbl /opt xfs defaults 0 0

/dev/sr0 /mnt iso9660 defaults 0 0

  • 第1字段:设备名或设备卷标名。
  • 第2字段:文件系统的挂载点目录的位置。
  • 第3字段:文件系统类型,如xfs, swap等。
  • 第4字段:挂载参数,即mount命令"-o"选项后可使用的参数。例如, defaults (默认参数) 、rw (可读写)、ro (只读)、noexec (禁用执行程序)。
  • 第5字段:表示文件系统是否需要dump备份(dump是一个备份工具) 。一般设为1时表示需要,设为0时将被dump忽略。
  • 第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查, 1表示优先检查, 2表示其次检查。根分区可设为1,其他分区设为2

 UUID 表示设备的识别号,用命令 blkid 查询

Linux磁盘管理与文件系统

 

 

总结

管理磁盘和分区

创建文件系统

挂载、卸载文件系统

 

 

Linux磁盘管理与文件系统

上一篇:photoshop 用滤镜实现逼真的石头


下一篇:binary-tree-inorder-traversal