一、 MBR与磁盘分区结构
1、主引导记录
- MBR位于硬盘第一个物理扇区处 , MBR中包含硬盘的主引导程序和硬盘分区表
- 第一个扇区总共512字节,前446字节是主引导记录,分区表保存在扇区中的第447-512字节中。
- 分区表有4个分区记录区,每个分区记录区占16字节。
2、磁盘分区的表示
Linux中将硬盘、分区等设备均表示为文件。
Linux内核读取光驱、硬盘等资源时,都是通过“设备文件”的形式进行,因此,将硬盘和分区分别表示为不同的文件。
表示:/dev/hda5
- /dev/:硬件设备文件所在的目录
- hd:表示IDE设备(sd表示scsi设备)
- a:硬盘的顺序号,表示的第几块硬盘,以a、b、c…表示
- 5:分区的顺序号,表示第一块硬盘接口的第五个分区
3、磁盘分区结构
- 硬盘中的主分区数目只有4个
- 主分区和扩展分区的序号限制在1 ~4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号将始终从5开始
二、Linux中使用的文件系统类型
在计算机中,文件系统(file system)是命名文件及放置文件的逻辑存储和恢复的系统。
文件系统类型决定了向分区中存放、读取数据的方式和效率。
1、XFS 文件系统
- CenOS 7系统中默认使用的文件系统,高性能的日志型文件系统
- 存放文件和目录数据的分区
- 数据完整性:根据所记录的日志在很短时间内迅速恢复磁盘文件内容
- 传输特性 :用优化算法,日志记录对整体文件操作影响非常小。查询与分配存储空间非常快。
- 可扩展性 :是一个全64-bit的文件系统,最大可以支持8EB的文件系统
- 传输带宽 : XFS 能以接近裸设备I/O的性能存储数据。对单个文件的读写操作,吞吐量可达4GB每秒。
2、Swap交换文件系统 (虚拟内存)
-
swap交换分区是系统RAM的补充,swap分区支持虚拟内存。
-
当没有足够的RAM保存系统处理的数据时,将数据写入swap分区;当系统缺乏swap空间时,内核会因RAM内存耗尽而终止进程。
-
配置过多swap空间会早存储设备处于分配状态但闲置,造成浪费,过多swap空间还会掩盖内存不足的问题。
3、FAT16、FAT32
-
FAT32指的是文件分配表是采用32位二进制数记录管理的磁盘文件管理方式,因FAT类文件系统的核心是文件分配表,命名由此得来。
-
FAT32是从FAT和FAT16发展而来的,优点是稳定性和兼容性好,能充分兼容Win 9X及以前版本,且维护方便。
-
缺点是安全性差,且最大只能支持32GB分区,单个文件也只能支持最大4GB。
4、NTFS
NTFS文件系统所具备3个功能:错误预警功能、磁盘自我修复功能和日志功能。
5、EXT4(Extended file system 4, 第四代扩展文件系统 )
- CenOS 6系统中默认使用的文件系统
- EXT4是EXT文件系统的最新版。提供了很多的特性,包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统,以及速度的提升。
- 适用于那些分区容量不是太大,更新也不频繁的情况,例如/boot分区。
6、JFS
主要是为满足服务器的高吞吐量和可靠性需求而设计、开发的。单个文件最大限制16TB,该文件系统最大支持1PB的容量。
查看当前系统支持的文件类型:
指令:cat /proc/filesystems
三、管理磁盘及分区 fdsik
命令格式:
fdisk -l [磁盘设备] //非交互式查看磁盘分区
fdisk [磁盘设备] //交互式查看和管理磁盘分区
1、查看磁盘及其分区
格式:fdisk -l /dev/(具体磁盘)
2、交互式查看和管理磁盘分区
前置:在加了新的盘后,系统并不可以直接就读取到,需要重启。
但在工作环境中,我们大部分情况不能重启整个服务器,同时为了方便,我们做一个alias别名
vim ~/.bashrc 将别名做进整个文件,下面试别名的具体指令
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
输入alias查看一下别名,发现已经成功
输入别名“scan”,再查看,发现新加的两个盘符已经出现
下面正式开始为磁盘分区,输入fdisk /dev/sdb
输入m,出现指令栏
因为我们要创建新的分区,所以选择指令 n
之后,如果没有特殊要求,我们可以按回车键,按照默认设置
最后,我们输入“w”保存以上对于分区的设置
四、创建文件系统(格式化)
1、创建文件系统 mkfs
Make Filesystem,创建文件系统(格式化)。
命令格式:
mkfs -t 文件系统类型 分区设备
mkfs.文件系统类型 分区设备 两种命令格式中,分区设备位置都要用绝对路径
将dev/sdb1格式化为XFS文件系统
2、创建交换文件系统 mkswap
命令格式:
mkswap 分区设备 //创建交换文件系统,分区设备位置要使用绝对路径
swapon 分区设备 //启用交换分区
swapoff 分区设备 //停用交换分区
swapon -s //显示所有启用状态的交换分区
五、挂载和卸载文件系统
1、手动挂载 一次性挂载 与解挂载 mount与umount
使用mount命令挂载是一次性的, 关机后挂载关系就会取消,下次开机启动时仍然需要重新挂载。
命令格式:
mount [-t 文件系统类型] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录 //挂载ISO镜像到指定文件夹
mount -o rw,remount /mnt 将文件改为读写 重挂
接触挂载 umount 命令格式:
umount [空格] 存储设备位置
umount [空格] 挂载点目录
ps:如果位于挂载目录下,不能解挂载。需要切换目录后再解挂载。
2、永结挂载 自动挂载 /etc/fstab
使用mount命令手动挂载文件设备后,必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。
系统中的/etc/fstab 文件可以视为mount命令的配置文件,其中存储了文件系统的静态挂载数据。Linux在每次开机时会自动读取这个文件的内容,根据文件里面的配置自动挂载所指定的文件系统,默认的fstab文件中包括了根分区、/boot分区、交换分区及proc、tmpfs等伪文件系统的挂载配置。
查看 /etc/fstab 文件内容:指令:cat /etc/fstab
在/etc/fstab 文件中,每一行记录对应一个分区或设备的挂载配置信息,从左到右包括六个字段(使用空格或者制表符分隔)。以 “/dev/mapper/centos-root / xfs defaults 0 0” 为例,各部分含义如下所述:
- 字段1:设备名或设备卷标名、或设备的UUID(建议使用UUID,可使用blkid命令查看)。
- 字段2:文件系统的挂载点目录的位置。
- 字段3:文件系统类型,如 XFS、swap 等。
- 字段4:挂载参数,即 mount 命令”-o“选项后可使用的参数。例如,default、rw、ro、noexec 分别表示为默认参数、可读可写、只读、禁用执行程序。
- 字段5:表示文件系统是否需要 dump 备份(dump是一个备份工具)。一般设为1时表示需要,设为0时将被dump忽略。
- 字段6:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查, 1表示优先检查,2表示其次检查。根分区可设为1,其他分区设置为2。一般不进行检查,会影响系统性能。
(查看UUID)
设置/dev/sdb1 每次开机后自动挂载到/mnt/shd 目录下
mount -a 重新挂载检测一下,没有报错,即为正确
注意:
修改/etc/fstab 文件时,每一个字段都必须填写正确,如果有错误,下次开机时会有“Control-D"报错,导致无法正常启动。
六、附加 逻辑分区建立
详细步骤解释直接看图
这一步是建立新的磁盘,不是逻辑盘
如果格式化不成功,刷新一下,再重新格式化
七、总结
XFS是centos7中最常用的文件格式,要记住。
fdsik是磁盘分区指令,运用非常常见,要熟练记住分盘与逻辑分盘的步骤,做的熟练。
mkfs格式化,是将文件格式化为我们需要的格式,在做挂载前需要将文件格式化。
挂载mount,为一次性挂载,步骤相对简单。永结挂载比较复杂,并且需要核对正确才可以关闭计算机,否则会出现无法重启的情况。