LINUX磁盘管理与系统文件(磁盘基础+新硬盘的管理+创建、挂载、卸载文件系统)

一、磁盘基础

1、硬盘的物理结构

盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
在这里插入图片描述

2、硬盘的数据结构

D扇区:盘片被分为多个扇形区域,每个扇区存放512字节
的数据
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面

硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x
每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每-个区域
磁盘接口类型
●IDE、 SATA、 SCSI、 SAS、 光纤通道

MBR与磁盘分区表示

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

●MBR位于硬盘第一个物理扇区处
●MBR中包含硬盘的主|导程序和硬盘分区表
●分区表有4个分区记录区,每个分区记录区占16个字节

2、Linux中将硬盘、分区等设备均表示为文件

在这里插入图片描述

二、磁盘分区

1、磁盘分区结构

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

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

扩展分区再分为逻辑分区

逻辑分区的序号将始终从5开始
在这里插入图片描述

2、文件系统类型

2.1、XFS文件系统

存放文件和目录数据的分区
高性能的日志型文件系统
CentOS 7系统中默认使用的文件系统

2.2、SWAP,交换文件系统

为Linux系统建立交换分区

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

FAT16、FAT32、NTFS
EXT4、JFS…

三、查看管理磁盘分区

3.1、fdisk -l 查看当前系统中所有硬盘设备及分区的信息

在硬盘设备中创建,删除,更改分区等操作同样通过fdisk命令进行,主要使用硬盘的设备文件作为参数

fdisk -l [磁盘设备]

fdisk [磁盘设备]
查看时,带有“*”标识的是引导分区

fdisk /dev/sdb 进入交互式的分区管理界面
常用指令
p 列出硬盘中的分区情况,信息显示的格式与执行"fdisk -l"命令相同
n 创建新分区
d 删除分区
t 变更分区类型,转换格式
w 保持配置
q 退出
l 查看分区对应的系统ID号

命令举例
[root@localhost ~]# fdisk /dev/sda1
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x3556a5c2 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition                           常用 删除分区★
   l   list known partition types
   m   print this menu                              常用 列出手册★
   n   add a new partition                          常用 添加分区★
   o   create a new empty DOS partition table
   p   print the partition table                    常用 列出分区★
   q   quit without saving changes                  常用 不保存退出★
   s   create a new empty Sun disklabel       
   t   change a partition's system id               常用 更改分区类型★
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit                 常用 保存退出★
   x   extra functionality (experts only)

3.2、使用“n”命令

使用“n”命令可以进行创建分区的操作,包括主分区和扩展分区

例如:创建分区/dev/sdb1
[root@hostname ~]# fdisk /dev/sdb		'//先用fdisk命令工具进入交互式的分区管理界面'
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x227f39cd 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n					'//开始创建分区'
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 					'//直接回车,接受默认p:创建主分区'
Using default response p
分区号 (1-4,默认 1):						'//直接回车,接受默认值1,主分区的编号为1'
起始 扇区 (2048-41943039,默认为 2048):		'//直接回车,接受默认扇区大小2048'
将使用默认值 2048
Last 扇区, +扇区 or +size [K,M,G] (2048-41943039,默认为 41943039):		'//直接回车,将所有空间分配给创建的分区'
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t						'//设置分区对应的ID号:82代表设置为交换文件系统'
已选择分区 1
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):p						'//查看分区情况'

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x227f39cd

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   82  Linux swap / Solaris
命令(输入 m 获取帮助):wq				//保存退出

三、管理文件系统

创建文件系统的过程也是格式化分区的过程,在Linux系统中使用mkfs(Make Filesystem,创建文件系统)命令格式可以格式化xfs、ext4、fat等不同类型的分区,而使用mkswap命令可以格式化swap交换分区。

3.1Mkfs命令

实际上 mkfs命令是一个前端工具,可以自动加载不同的程序来创建各种类型的分区,而后端包括有多个与mkfs命令相关的工具程序,这些程序位于/sbin/目录中,例如:支持XFS分区格式的mkfs.xfs程序等

[root@hostname ~]# ls /sbin/mkfs*
/sbin/mkfs         /sbin/mkfs.ext2  /sbin/mkfs.fat    /sbin/mkfs.vfat
/sbin/mkfs.btrfs   /sbin/mkfs.ext3  /sbin/mkfs.minix  /sbin/mkfs.xfs
/sbin/mkfs.cramfs  /sbin/mkfs.ext4  /sbin/mkfs.msdos

mkfs命令:Make Filesystem,创建文件系统(格式化)

mkfs命令使用格式
mkfs -t 文件系统类型 分区设备
CentOS7默认xfs文件系统类型,所以我们现在常用这条命令
-[root@localhost ~]# mkfs.xfs /dev/卷组名/逻辑卷名

创建FAT32文件系统

mkfs -t ext4 /dev/sdb1              ####将sdb1格式化成ext4
mkfs  -t vfat -F 32 /dev/sdb6       ####将sdb6格式化成fat32
或则mkfs.vfat -F 32 /dev/sdb6       ####或则可以用将sdb6格式化成fat32

3.2mkswap命令

在Linux系统中,Swap分区的作用类似于Windows系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。在当前Linux主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区

使用mkswap命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk工具将ID号设为82
make swap:创建交换文件系统

命令使用的格式
mkswap 分区设备
cat /proc/meminfo | grep "SwapTotal"    ' //查看总交换空间大小'
swapon /dev/sdb1						'//开启交换分区/dev/sdb1'
swapoff /dev/sdb1					'	//关闭交换分区/dev/sdb1'
例如:将分区/dev/sdb1创建为交换分区(先用fdisk命令工具将ID号设为82)
[root@hostname ~]# fdisk /dev/sdb		'//先用fdisk命令工具进入交互式的分区管理界面'
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x227f39cd 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n					'//开始创建分区'
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 					'//直接回车,接受默认p:创建主分区'
Using default response p
分区号 (1-4,默认 1):						'//直接回车,接受默认值1,主分区的编号为1'
起始 扇区 (2048-41943039,默认为 2048):		'//直接回车,接受默认扇区大小2048'
将使用默认值 2048
Last 扇区, +扇区 or +size[K,M,G] (2048-41943039,默认为 41943039):		'//直接回车,将所有空间分配给创建的分区'
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t						'//设置分区对应的ID号:82代表设置为交换文件系统'
已选择分区 1
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):p						'//查看分区情况'

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x227f39cd

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   82  Linux swap / Solaris
命令(输入 m 获取帮助):w			'//保存退出'
[root@hostname ~]# mkswap /dev/sdb1				'//将分区/dev/sdb1创建为交换分区'
正在设置交换空间版本 1,大小 = 20970492 KiB
无标签,UUID=5736a379-3e6c-4e12-9a5c-78cb6a586cf7
[root@hostname ~]# cat /proc/meminfo | grep "SwapTotal"		'//查看总交换空间的大小'
SwapTotal:       4194300 kB									'//原本是4G多'
[root@hostname ~]# swapon /dev/sdb1							'//开启交换分区/dev/sdb1'
[root@hostname ~]# cat /proc/meminfo | grep "SwapTotal"		'//再次查看总交换空间的大小'
SwapTotal:      25164792 kB									'//现在变成了25G'
[root@hostname ~]# swapoff /dev/sdb1						'//关闭交换分区 /dev/sdb1'
[root@hostname ~]# cat /proc/meminfo | grep "SwapTotal"		'//再次查看总交换空间大小'
SwapTotal:       4194300 kB									'//交换空间变成了原来的4G多'

四、挂载,卸载文件系统

在Linux系统中,对各种存储设备中的资源访问(如读取,保存文件等)都是通过目录结构进行的,虽然系统核心能够通过“设备文件”的方式操纵各种设备,但是对于用户来说,还需要增加一个“挂载”的过程,才能像正常访问目录一样访问存储设备中的资源。

当然,在安装Linux操作系统的过程中,自动建立或识别的分区通常会由系统自动完成挂载,如“/”分区,“boot”分区等。然而对于后来新增加的硬盘分区,光盘等设备,有时候还需要管理员手动进行挂载,实际上用户访问的是经过格式化后建立的文件系统。挂载一个分区时,必须为其制定一个目录作为挂靠点(或称为挂载点),用户通过这个目录访问设备中 的文件,目录数据

4.1mount命令–挂载文件系统

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

mount命令基本格式
mount          显示当前系统中已挂载的各个分区(文件系统)的相关信息,最近挂载的文件信息将显示在最后面
mount [-t 文件系统类型] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
mount -a  将现在所有能挂载的都挂载

4.2umount命令–卸载文件系统

卸载文件系统时,使用挂在单目录或对应设备的文件名作为卸载参数

Linux系统中,由于同一个设备可以被挂载到多个目录下,所以一般建议通过挂载点的目录位置来进行卸载
umount命令–卸载已挂载的文件系统

例如:通过umount命令卸载之前挂载的Linux分区,光盘设备
[root@hostname ~]#umount /ccc				'//通过挂载点目录卸载对应的分区'
[root@hostname ~]#umount /dev/cdrom			'//通过设备文件卸载光盘'

4.3设置文件系统的自动挂载

例如:设置swap分区sdc1永久挂载
vi /etc/fstab
在配置文件最后一行加入
/dev/sdc1 swap swap defaults 0 0
保存后退出重新启动系统

猜你喜欢

转载自blog.csdn.net/weixin_47151650/article/details/106814103