目录
维护基本存储空间
1.查看磁盘信息(块设备)信息
root@ubuntu:~# lsblk
2.创建分区
(1)MBR分区
MBR(Master Boot Record,主引导记录
)
是
传统的分区机制
,使用
BIOS引导
的
PC
设备,寻址空间只有
32bit
长,
最大支持
2.19TB
标准MBR结构如下
地址 | 描述 | 长度(字节) |
0 | 代码区 | 440(最大446) |
440 | 选用磁盘标志 | 4 |
444 | 一般为空值;0x0000 | 2 |
446 | 标准MBR分区表规划(四个16byte的主分区表入口) | 64 |
511 | MBR有效标志:0x55AA | 2 |
为什么MBR最多只能有4个主分区
分区表占据64个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节
MBR分区类型
1.主分区
一块硬盘最多4个主分区,主分区不可以再进行二次分区。可以用来引导、启动操作系统 ,同时,主分区可以直接建立文件系统,如windows的NTFS,存放数据
2.扩展分区
一块硬盘 最多一个 ,加主分区最多4 个, 不能创建文件系统 ,可以 划分逻辑分区3.逻辑分区
可以创建文件系统,存放数据,同时,逻辑分区的数量没有限制
从引导操作系统的角度来分类
系统启动分区 --- 用来启动操作系统,必须是主分区
启动分区 --- 安装操作系统的分区,可以使主分区也可以是逻辑分区
活动分区 --- 只能是作用于系统分区,有且仅有一个活动分区
(2)GPT分区
GPT是一种比MBR分区更先进、更灵活的磁盘分区模式
优点
- 在默认情况下,GPT最多可支持128个分区
- 支持大于2.2TB的总容量以及大于2.2TB的分区,最大支持18EB(1 EB=1024PB,1PB=1024TB,1TB=1024GB)
- GPT分区自带备份
- 向后兼容MBR,GPT分区表上包含保护性的MBR分区
3.分区工具
- fdisk只能用于MBR分区,gdisk,parted可以用于GPT分区
- fdisk大多数运维工作人员已经习惯这个交互模式
- parted命令在创建删除分区使用命令比较方便,可划分大于2TB的分区,但是功能不是太完善,没有备份还原命令
- gdisk在分区上命令和fdisk风格一样, 使用方便,学习难度低且功能强大,推荐使用
1.使用fdisk管理MBR分区
语法格式
fdisk 设备名
参数及作用
指令 | 作用 | 指令 | 作用 |
a | 调整磁盘的启动分区 | p | 显示当前磁盘的分区信息 |
d | 删除磁盘分区 | t | 更改分区类型 |
l | 显示所有支持的分区类型 | u | 切换所显示的分区大小单位 |
m | 查看所有指令的帮助信息 | n | 创建新分区 |
q | 不保存更改,退出fdisk命令 | w | 把修改写入磁盘分区表,然后退出fdisk命令 |
g | 新建一个空的GPT分区表 | o | 新建一个空的DOS分区表 |
2.使用gdisk管理GPT分区
gdisk命令工具默认将磁盘划分为GPT格式的分区
操作步骤
- 步骤1 --- 添加一个新的磁盘,并查看新磁盘名称
[root@localhost ~]# lsblk
- 步骤2 --- 执行gdisk命令→输入n指令创建新分区
[root@localhost ~]# gdisk /dev/nvme0n2
- 步骤3 --- 指定分区编号(默认是未使用的最小分区编号)
- 步骤4 --- 指定新分区开始的位置和结束位置
- 步骤5 --- 显示已创建的分区信息
- 步骤6 --- 输入w子命令将分区设置写入分区表→当提示最终确认时,输入“y”
- 步骤7 --- 执行partprobe命令,使操作系统内核获知新的分区表信息
3.使用parted划分分区
使用方式
交互式
手动按序交互式的创建
非交互式
可将命令行
写在脚本中
,运行脚本
实现一键创建
;适用于远程批量管理多台主机的场景
两种方法的 使用 和 原理 其实是 一样 的;要想实现非交互式创建,无非是 在每一个具体的交互式命令 前 加上 parted DEVICES_NAME 即可
[root@localhost ~]# parted /dev/nvme0n2
#新建磁盘标签类型为GPT
(parted) mklabel gpt
分区
交互式
语法格式
mkpart PART-TYPE [FS-TYPE] START END
PART-TYPE(分区类型)
primary --- 主分区
logical --- 逻辑分区
extended --- 扩展分区
FS-TYPE(文件系统类型)
ext4
ext3
ext2
xfs
其他......
START
设定磁盘
分区起始点
;可以为
0
,
numberMiB/GiB/TiB
0 --- 设定当前分区的起始点为磁盘的第一个扇区
1G --- 设定当前分区的起始点为磁盘的1G处开始
END
设定磁盘分区结束点
-1 --- 设定当前分区的结束点为磁盘的最后一个扇区
10G --- 设定当前分区的结束点为磁盘的10G处
mkpart primary xfs 1MB 500MB
无交互模式
删除第1个分区
[root@localhost ~]# parted /dev/nvme0n2 rm 1
创建分区
[root@localhost ~]# parted /dev/nvme0n2 mklabel gpt
[root@localhost ~]# parted /dev/nvme0n2 mkpart primary xfs 1MB 800MB
创建扩展分区
parted /dev/nvme0n2 mklabel msdos
parted /dev/nvme0n2 mkpart extended 800M 1.5G
创建逻辑分区
parted /dev/nvme0n2 mkpart logical xfs 900M 1G
4.格式化
目的
是为了
形成文件系统
语法格式
mkfs|mkfs.xfs|mkfs.ext4 [选项] 分区的设备名
参数及作用
-t 文件系统类型 ---
当
命令名为mkfs
时
,指定
要创建的
文件系统的类型
(
如
:xfs
、
ext4
、
vfat
等
)
。当命令名为mkfs.xfs
、
mkfs.ext4
等时
,
不需要该选项
-c --- 建立文件系统前
先检查坏块
-V ---
输出
建立文件系统的
详细信息
注意:如果已有其他文件系统创建在此分区, 必须在 mkfs.xfs 命令中加上选项 -f强行进行格式化
5.挂载
目的
挂载分区(
或文件系统
)
语法格式
mount [-t 文件系统类型] 设备名 挂载点目录
卸载分区
要移除USB
磁盘、
U
盘、光盘和硬盘时
,
需要先卸载
umount 挂载点目录或存储设备名
设置系统启动时的自动挂载
手动挂载的分区
会在系统重启后失效
,
若用户需要
永久挂载分区
,
则需要通过
编辑/etc/fstab文件
来实现
当系统启动的时候,
系统会
自动地从这个文件读取信息
,
并且会自动将此文件中
指定的文件系统挂载到指定的目录
永久挂载方式
- 通过分区文件名来挂载
- 通过UUID来挂载
注意:每一个被格式化的分区都有一个 唯一的UUID ,那么你在挂载的时候,可以指定 UUID 来挂载
查看UUID
blkid
[root@localhost ~]# blkid /dev/nvme0n1p3
使用-U进行挂载
[root@localhost ~]# mount -U 75b1d1ec-3d6b-4840-ae31-44ca09f3314e /mnt/hgfs/
用于挂载信息的指定填写格式中,各字段所表示的意义
字段
|
意义
|
设备文件
|
一般为设备的
路径+设备名称
,也可以写唯一识别码(
UUID
,
Universally Unique Identifier)
|
挂载目录 |
指定要挂载到的目录,需
在挂载前创建好
|
格式类型 |
指定文件系统的格式
,比如
Ext3
、
Ext4
、
XFS
、
SWAP
、
iso9660
(此为光盘设备)等
|
权限选项 |
若设置为
defaults
,则默认权限为:
rw, suid, dev, exec, auto, nouser, async
|
是否备份 |
若为
1
则开机后
使用dump进行磁盘备份
,为
0则不备份
|
是否自检 |
若为
1
则开机后
自动进行磁盘自检
,为
0则不自检
|
6.管理交换分区
在Linux
系统中
,
swap
交换分区的作用
类似于Windows系统中“虚拟内存”
,
当有程序被
调入内存
后
,
但是该程序又
不是常被CPU所取用
时
,
那么这些不常被使用的程序将会被
放到硬盘的swap交换分区
当中
,
而将速度较快的内存空间释放给真正需要的程序使用,
以
避免
因为物理内存不足而造成的
系统效能低
的问题。如果系统没有swap
交换分区
,
或者现有交换分区的容量不够用时
,
可扩展
swap
交换分区
扩展交换分区的方式
- 以磁盘分区的方式扩展swap交换分区
- 以镜像文件的方式扩展swap交换分区
命令及功能
命令 | 功能 |
mkswap
分区设备名
|
将
指定的分区格式化为swap
交换文件系统
|
swapon
交换分区设备名
|-a
|
启用
(
或激活
)
指定的交换分区或所有交换分区
|
swapoff
交换分区设备名
|-a
|
禁用
指定的交换分区或所有交换分区
|
swapon -s
|
查看
交换分区的使用情况
|
free -m
|
以兆字节为单位显示物理内存、交换分区的使用情况
|