Linux磁盘管理与文件系统
磁盘概述
1、磁盘结构
- 硬盘的物理结构
1.盘片:硬盘有多个盘片,每盘片2面
2.磁头:每面一个磁头
- 硬盘的数据结构
1.扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单1位。
2.磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹。
3.柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成。
2、磁盘容量
1.硬盘存储容量=磁头数×磁道(柱面)数x每道扇区数×每扇区字节数(512字节)
2.可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域磁盘
3、接口类型
- 硬盘的接口种类:
- IDE、SATA、SCSI、SAS、光纤通道
- IDE,并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA 所取代.
- SATA,抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
- SCSI,小型机系统接口,SCST硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等
- SAS,是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s 。
二、MBR与磁盘分区表示
1、MBR概述
- 主引导记录(MBR: Master Boot Record)
MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处
1.MBR中包含硬盘的主引导程序和硬盘分区表
2.MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。分区表有4个分区记录区,每个占16字节。
3.Linux中将硬盘、分区等设备均表示为文件
4.主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区。
2、磁盘分区表示
- 磁盘分区表示
Linux中将硬盘、分区等设备均表示为文件
3、示例
- /dev/sda1
1.dev表示硬件设备文件所在目录
2.sd表示SCSI 设备,hd表示IDE设备
3.a表示磁盘顺序号,以字母a、b、c…表示
4.1表示分区的顺序号,以数字1、2、3…表示。主分区从1-4,第一个逻辑分区始终从5开始
4、分区结构
- 磁盘分区结构
- 硬盘中的主分区数目只有4个
2.主分区和扩展分区的序号限制在
3.1~4扩展分区再分为逻辑分区
4.逻辑分区的序号将始终从5开始
三、文件系统类型
1、XFS文件系统
- XFS文件系统
1.存放文件和目录数据的分区
2.高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间。
3.CentOS7系统中默认使用的文件系统
2、SWAP交换文件系统
- SWAP交换文件系统
1.为Linux系统建立交换分区
2.一般设置为物理内存的1.5~2倍
3、其他文件系统类型
- Linux支持的其它文件系统类型
EXT43、EXT4 、FAT32、NTFS、LVM
四、磁盘命令
1、检测并确认新硬盘-fdisk命令
- 查看或管理磁盘分区
fdisk -l [磁盘设备]
fdisk [磁盘设备]
1.Device (设备):分区的设备文件名称。
2.Boot:是否是引导分区。若是,则有“*“标识。
3.start:该分区在硬盘中的起始位置(柱面数)。
4.End:该分区在硬盘中的结束位置(柱面数)。
5.Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为1024字节。
6.Id:分区对应的系统ID号。例如,83表示Linux中的XFS分区或EXT4分区、8e表示LVM逻辑卷、82表示Linux交换分区。
7.System:分区类型。
- 交互模式中的常用指令
m、p、n、 d、t、w、q
m:获取帮助菜单
p:查看分区情况
n:新建分区
d:删除分区
t:变更分区的类型
w:保行分区操作并退出
q:不保存分区操作并退出
- 创建分区步骤
–> p主分区、e扩展分区、l逻辑分区
–>设置分区:1(范围1-4,如按Enter键接受默认值)
–>设置柱面序列:直接按Enter键接受默认值
–>设置分区大小:+20G(指定大小为20GB,如按 Enter键接受默认值表示所有空间)
—―w
- 变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行"partprobe"命令使操作系统检测新的分区表情一况。以防格式化分区时损坏硬盘中已有的数据。
partprobe /dev/sdb
2、创建文件系统-mkfs命令
-
mkfs命令
Make Filesystem,创建文件系统(格式化)
mkfs -t 文件系统类型 分区设备
mkfs.文件
系统类型 分区设备 -
创建文件系统
创建文件系统的过程即格式化分区的过程
mkfs-t xfs /dev/sdb1
mikfs.xfs /dev/sdb1
3、创建文件系统-mkswap命令
- mkswap命令
makeswap,创建交换文件系统(格式化)
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 - 创建交换文件系统
创建swap之前,目标分区应先通过fdisk工具将分区类型ID号设为82
fdisk /dev/sdb
–>t
—->82
—->w
- mkswap /dev/sdb5
- swapon /dev/sdb5##启用新增加的交换分区
- swapoff /dev/sdb5##停用指定的交换分区
- swapon -s ###查看每个分区的swap状态信息
- free -m ###查看总的swap状态信息
4、挂载、卸载文件系统-mount命令
- mount命令
挂载文件系统、ISO镜像到指定文件夹
mount[-t类型] 存储设备挂 载点目录
mount -o loop ISO 镜像文件 挂载点目录
1.-t:用于指定文件系统类型,通常可以省略,由系统自动识别
2.-o:挂载参数列表,以英文逗号分隔;如用来描述特殊设备,用loop指定
- umount命令
卸载已挂载的文件系统(前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录)
umount [-lf] 存储设备位置
umount [-lf] 挂载点目录
-
-lf:强制卸载
- 示例
mount /dav/cdrom /mnt
mount /dev/sdb1 /opt
mount -o loop CentOs-7-x86_64-DVD-1611.iso /media/mnt
5、查看磁盘挂载情况
- 直接mount命令
- df [选项]
-h:显示分区的容量单位
-T:显示文件系统的类型
-i:显示分区的inode号码数量
- 查看设备的UUID和文件系统类型
blkid[ 设备]
6、设置文件系统的自动挂载
- /etc/fstab配置文件
包含需要开机后自动挂载的文件系统记录 - Linux操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统。
vim /etc/fstab
/dev/sdb1——/data——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。