Linux磁盘管理与文件系统
文章目录
一、硬盘结构
1.硬盘的物理结构
- 盘头:硬盘有多个盘片,每盘片两面
- 磁头:每面一个磁头(磁头作用是读和写)
2.硬盘的数据结构
- 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,是硬盘的最小存储单位
- 磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
- 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
3.硬盘容量及接口
1)硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数(512字节)
2)可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
3)磁盘接口类型:
IDE、SATA、SCSI、SAS、光纤通道
硬盘的接口种类:
- IDE——并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代。
- SATA——抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
- SCSI——小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。
- SAS——是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s。
- 光纤通道是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。其主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。
二、MBR与磁盘分区表示
1.主引导记录(MBR∶Master Boot Record)
- MBR是主引导记录,位于硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表。MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第477-510字节中。分区表有4个分区记录区,每个分区记录区占16字节。
- 主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区(可在扩展分区里面分多个逻辑分区)。
- Linux中将硬盘、分区等设备均表示为文件/dev/hda5
注:
- 其中/dev/是硬件设备文件所在的目录
- hd表示IDE设备,sd表示SCSI设备
- a表示硬盘的顺序号,以字母a、b、c…表示
- 5表示分区的顺序号,以数字1、2、3…表示
2.磁盘分区结构
- 硬盘中的主分区数目只有4个
- 主分区和扩展分区的序号限制在1~4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号将始终从5开始
三、文件系统类型
1.XFS文件系统
●存放文件和目录数据的分区
●高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万 TB的存储空间。
●CentOS 7系统中默认使用的文件系统
2.SWAP,交换文件系统
●为 Linux 系统建立交换分区
●一般设置为物理内存的 1.5~2 倍
3.Linux支持的其它文件系统类型
●EXT4、FAT32、NTFS、LVM
四、检测并确认新硬盘
1.查看磁盘分区命令格式
fdisk -l [磁盘设备]
fdisk [磁盘设备]
Device (设备)∶分区的设备文件名称。
Boot∶ 是否是引导分区。若是,则有"*"标识。
Start∶ 该分区在硬盘中的起始位置(柱面数)。
End:该分区在硬盘中的结束位置(柱面数)。
Id∶分区对应的系统 ID号。例如,83表示Linux中的XFS分区或EXT4分区、8e表示LVM逻辑卷。
System∶ 分区类型。
2.管理磁盘分区
fdisk /dev/sdx
交互模式中的常用指令
常用指令 | 功能/作用 |
---|---|
m | 获取帮助菜单 |
n | 新建分区 |
p | 查看分区情况 |
d | 删除分区 |
t | 变更分区的类型 |
w | 保存分区操作并退出 |
q | 不保存分区操作并退出 |
1)首先关闭虚拟机,关闭虚拟机的前提下添加硬盘,不可能用系统盘来做磁盘分区,因为可能会直接导致系统崩溃。
2)编辑虚拟机设置,选择添加→硬盘→下一步
3)选择磁盘类型为SCSI(S)
4)选择创建新虚拟磁盘(V)
5)此处磁盘大小改为60G,下面红框处和后续指定存储位置无需变动,并点击完成。
6)添加好硬盘后会看到硬件配置那多了个60G的硬盘,点确定之后开启虚拟机。打开Xshell,连接到虚拟机,然后用命令fdisk -l查看磁盘设备,发现多出来了一个磁盘/dev/sdb。
7)开始创建分区
n 新建分区
→p (其中p代表主分区,e是扩展分区,l是<小L>逻辑分区)
—→设置分区:1(分区好1-4,默认为1,回车默认为1)
——→设置柱面序列:直接按 Enter 键接受默认值(起始扇区)
———→设置分区大小:+20G (指定大小为 20GB,如按 Enter 键接受默认值表示所有空间)
————→w (保存分区操作并退出)
8)首先用fdisk /dev/sdb进入硬盘管理,输入m可获得提示
9)输入n,然后回车添加分区(4个空闲可添加的分区),输入p选择添加主分区,后面回车使用默认值,默认分区1,再回车使用默认起始扇区2048。+10G表示给此分区的容量大小为10G
输入p回车可查看磁盘分区表,如下已添加主分区/dev/sdb1,大小为10G。
输入l(小写L)查看分区类型及其对应ID号,红框选中的是常用的分区类型。
10)n新建分区→e分区类型选择扩展分区→分区号和起始扇区直接回车接受默认值→容量大小设为30G
11)逻辑分区是从扩展分区里划分的,且扩展分区的容量=各个逻辑分区的容量之和。所以逻辑分区总容量和不可能比扩展分区容量大。下面进行两个逻辑分区的建立,且逻辑分区起始序号为5。
12)硬盘容量60G-主分区1容量10G-扩展分区容量30G=20G,剩下20G直接做成主分区3和4,然后输入p回车查看分区
13)确认以上操作无误之后输入w,回车保存分区。但建好分区之后暂时还不能使用,需要先进行格式化及挂载操作。
五、创建文件系统(格式化)及挂载
-
mkfs命令
Make Filesystem,创建文件系统(格式化)
命令格式
mkfs -t xfs /dev/sdb1 mkfs.xfs /dev/sdb1
下面对分区1和3进行格式化;因为分区2是扩展分区,包含分区表,只能用来继续分逻辑分区所以不能格式化;分区4我们后续用来创建交换文件系统。分区5和6是逻辑分区,格式化逻辑分区,就破坏了扩展分区本来的扩展分区表(链式表)。导致操作系统读取扩展分区表的时候,链式表不存在而是成了格式化后的文件系统类型自己的数据,链式表不存在而报错导致操作系统认为分区表错误而报错,分区表错误可是严重错误。
所以只需要格式化分区1和3,如上图。但是目前这两个分区依然不能用,还需要进行挂载。具体操作如下:
六、创建交换文件系统swap
mkswap命令
make swap——创建交换文件系统
- 命令格式
mkswap 分区设备
- 创建交换文件系统
创建swap之前,目标分区应先通过fdisk 工具将分区类型ID 号设为 82(也就是swap类型)
1.通过fdisk /dev/sdb进入磁盘管理
2.t更改分区类型,回车→4选择要更改类型的分区号,回车→输入类型代码,回车
3.输入p回车查看分区详情→确认4分区类型已更改好后输入w,回车保存并退出
4.变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe”命令使操作系统检测新的分区表情况。以防格式化分区时损坏硬盘中已有的数据。
5.创建交换分区4并启用,用free -m或free -g查看(-m表示用MB展示容量,-g表示用GB展示容量)
七、挂载和卸载文件系统mount和umount
注:挂载前需要先格式化操作
-
挂载文件系统、ISO镜像到指定文件夹
命令格式
mount [-t 类型] 存储设备 挂载点目录 mount -o loop ISO镜像文件 挂载点目录
-t:用于指定文件系统类型,通常可以省略,由系统自动识别
-o:挂载参数列表,以英文逗号分隔;如用来描述特殊设备,用loop指定
- 卸载已挂载的文件系统
注:要卸载的已挂载的设备或者目录没有被在使用中,要先退出挂载目录
命令格式
umount [-lf] 存储设备目录或者挂载点目录
-l 表示解除正在繁忙的文件系统
-f 表示强制
- 查看磁盘使用情况
1)直接 mount 命令
2)df [选项]
-h:显示分区的容量单位
-T:显示文件系统的类型
-i:显示分区的inode号码数量
卸载已挂载的文件系统,两种卸载方式:
umount /dev/sdb1
umount /opt
例:将/dev/sdb1挂载到/opt目录下以及卸载。
八、文件系统的自动挂载
设置文件系统的自动挂载
Linux 操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统。
vim /etc/fstab
/dev/sdb1 /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。(磁盘检查顺序)
输入后正确的格式,ESC退出输入模式,然后:wq后重启,写入的两个挂载,会在重启时自动挂载。
重启后发现/dev/sdb1已自动挂载到/opt目录。