linux维护基本存储空间
创始人
2025-05-28 05:58:15
0

维护基本存储空间

(使用一个块设备经过以下几个步骤)

添加磁盘:

1、查看磁盘(块设备)信息 --- lsblk

[root@localhost ~]# lsblk --- 重启后查看
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   10G  0 disk --- 识别到了10G的新磁盘 
sr0            11:0    1  6.6G  0 rom  
nvme0n1       259:0    0   20G  0 disk 
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part ├─rhel-root 253:0    0   17G  0 lvm  /└─rhel-swap 253:1    0    2G  0 lvm  [SWAP]

2、分区格式

(内核在使用旧的分区表时创建新分区表,新的分区表下次重启才会生效) 

(1)MBR分区

<1> 内容:MBR(Master Boot Record,主引导记录)是传统的分区机制,使用BIOS引导的PC设备,寻址空间只有32bit长,最大支持2.19TB

支持的分区数量:4个主分区或3个主分区1个扩展分区

<2> 标准MBR结构:

<3> 为什么MBR最多只能有4个主分区?

原因:分区表占据64个字节,可以对四个分区的信息进行描述,其中每个分区的信息占据16个字节

<4> 分区类型:

【1】主分区(primary partition):一块硬盘最多4个主分区,主分区不可以再进行二次分区。可以用来引导、启动操作系统 ,同时,主分 区可以直接建立文件系统,如windows的NTFS,存放数据

【2】扩展分区(extended partition):一块硬盘最多一个,加主分区最多4个,不能创建文件系统,可以划分逻辑分区。

【3】逻辑分区(logical partition):可以创建文件系统,存放数据,同时,逻辑分区的数量没有限制

<5> 从引导操作系统的角度来看,有系统分区,启动分区,活动分区分类:

  • 系统分区:用来启动操作系统,必须是主分区
  • 启动分区:安装操作系统的分区,可以是主分区也可以是逻辑分区
  • 活动分区:只能是作用于系统分区,有且仅有一个活动分区

考点:第二个SCSI硬盘的第三个逻辑分区如何表示

/dev/sdb7

在/dev目录下

<1> ide硬盘:hd开头

<2> sata,scsi硬盘:sd开头

<3> 云主机硬盘:vd开头

第一个硬盘为a,第二个为b

分区:5为第一个逻辑分区,第二个逻辑分区为7;第一个主分区为1,第二个主分区为2

(2)GPT分区

相较MBR的优点

  • 在默认情况下,GPT最多可支持128个分区
  • 支持大于2.2TB的总容量及大于2.2TB的分区,最大支持18EB(1EB=1024PB,1PB=1024TB,1TB=1024GB)
  • GPT分区表自带备份
  • 向后兼容MBR。GPT分区表上包含保护性的MBR区域

流程:创建分区 ---> 格式化 ---> 挂载(linux中,挂载才能使用)

3、分区工具 --- 创建分区

fdisk只能用于MBR分区,gdisk,parted可以用于GPT分区

  • fdisk大多数运维工作人员已经习惯这个交互模式
  • parted命令在创建删除分区使用命令比较方便,可划分大于2TB的分区,但是功能不是太完善,没有备份还原命令
  • gdisk在分区上命令和fdisk风格一样, 使用方便,学习难度低且功能强大,推荐使用

(1)fdisk --- 管理MBR分区

<1> 格式:fdisk 设备名

<2> 命令选项:(黄色为常用命令)

指令作用
m 查看所有指令的帮助信息
n 创建新分区
p 显示当前磁盘的分区信息
w 把修改写入磁盘分区表,然后退出fdisk命令
d 删除磁盘分区
q 不保存更改,退出fdisk命令
a 调整磁盘的启动分区
l 显示所有支持的分区类型
g 新建一个空的GPT分区表
t 更改分区类型
u 切换所显示的分区大小单位
o 新建一个空的DOS分区表

例:对新建磁盘进行分区,创建一个500M的主分区

(2)gdisk --- 管理GPT分区

<1> 常用命令:([root@localhost ~]# gdisk /dev/sda --- 进入后再执行?命令) 

(3)parted --- 两种使用方式

  • 交互式:手动按序交互式创建
  • 非交互式:将命令行写在脚本中,运行脚本实现一键创建;适用于远程批量管理多台主机

例1:交互式(创建500M的主分区)

[root@localhost ~]# parted --- 进入交互式界面
(parted) mklabel gpt --- 将磁盘标签类型改为gpt
(parted) mkpart primary xfs 1M 500M --- 创建主分区,1M到500M,文件系统类型为xfs
(parted) print --- 查看
(parted) quit --- 退出

例2:非交互式(创建1G的主分区)

(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number  Start   End     Size    Type     File system  Flags1      1049kB  500MB   400MB   primary  xfs[root@localhost ~]# parted /dev/sda rm 1 --- 删除刚才创建的分区,1为编号
[root@localhost ~]# parted /dev/sda mklabel gpt --- 将分区类型转为gpt格式
[root@localhost ~]# parted /dev/sda mkpart primary xfs 1M 1024M --- 创建主分区,1M到500M,文件系统类型为xf

4、格式化

(1)目的:形成文件系统

(2)命令格式:mkfs|mkfs.xfs|mkfs.ext4 [选项] 分区的设备名

(3)选项:

-t(文件系统类型) 当命令名为mkfs时,指定要创建的文件系统的类型(如:xfs、ext4、vfat等)。当命令名 为mkfs.xfs、mkfs.ext4等时,不需要该选项
-c 建立文件系统前先检查坏块
-V 输出建立文件系统的详细信息

PS:如果已有其他文件系统创建在此分区,必须在mkfs.xfs 命令中加上选项 -f 强行进行格式化

常用命令:

  • 法一:[root@localhost ~]# mkfs.xfs /dev/sda1
  • 法二:[root@localhost ~]# mkfs -t xfs /dev/sda1

5、挂载

(1)挂载命令:mount [-t 文件系统类型] 设备名 挂载点目录

(2)卸载分区:umount 挂载点目录或存储设备名

(3)分类:

<1> 临时挂载:mount /dev/sda1 /data(直接在命令行输入)

挂载到/data目录下
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/sda1 /data
[root@localhost ~]# df -h --- 查看挂载
/dev/sda1              495M   29M  466M   6% /data

<2> 永久挂载:需将挂载添加到/etc/fstab文件中

(4)永久挂载方法

  • 分区文件名
  • UUID

[root@localhost ~]# parted /dev/sda mkpart primary xfs 1M 800M --- 创建800M的主分区
[root@localhost ~]# parted /dev/sda mkpart primary xfs 801M 2000M --- 创建1200M的主分区

例1:将/dev/sda1挂载到/data --- 分区文件挂载

挂载前格式化文件系统:[root@localhost ~]# mkfs.xfs -f /dev/sda1
挂载:[root@localhost ~]# vim + /etc/fstab --- 进入编辑,+为将光标定位到最后一行
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=f6459400-5e6b-48b3-82f2-f0b2008c4865 /boot                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/sda1               /data                   xfs     defaults        0 0
[root@localhost ~]# tail -1 /etc/fstab 
/dev/sda1		/data			xfs	defaults	0 0
[root@localhost ~]# mount -a --- 读取文件/etc/fstab中没有挂载的,然后实现挂载
[root@localhost ~]# df -h |grep /data --- 查看挂载
/dev/sda1              756M   38M  719M   5% /data

例2:将/dev/sda2挂载到/soft --- UUID挂载

创建挂载点:[root@localhost ~]# mkdir /soft
挂载前格式化文件系统:[root@localhost ~]# mkfs.ext4 /dev/sda2
查询UUID:[root@localhost ~]# blkid /dev/sda2
/dev/sda2: UUID="9f5a888a-6f80-47e9-9022-b9ab21bbbebf" TYPE="ext4" PARTUUID="58a5fdc7-02"
挂载:[root@localhost ~]# vim + /etc/fstab --- 进入编辑,+为将光标定位到最后一行
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/sda1               /data                   xfs     defaults        0 0
UUID="9f5a888a-6f80-47e9-9022-b9ab21bbbebf" /soft               ext4    defaults        0 0 
查看:[root@localhost ~]# tail -1 /etc/fstab 
UUID="9f5a888a-6f80-47e9-9022-b9ab21bbbebf" /soft		ext4	defaults        0 0
[root@localhost ~]# mount -a --- 读取文件/etc/fstab中没有挂载的,然后实现挂载
查看挂载情况:[root@localhost ~]# df -h | grep /soft
/dev/sda2              1.1G  2.8M 1018M   1% /soft
[root@localhost ~]# mount | grep soft
/dev/sda2 on /soft type ext4 (rw,relatime,seclabel)

6、案例

(1)fdisk --- 创建一个5G的扩展分区,划分逻辑分区,500M和1G

(2)gdisk --- 创建和删除分区

例1:创建分区

[root@localhost ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.3Partition table scan:MBR: protectiveBSD: not presentAPM: not presentGPT: presentFound valid GPT with protective MBR; using GPT.Command (? for help): n --- 创建
Partition number (1-128, default 1): 
First sector (2048-20971486, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}: +1G --- 设置大小
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'Command (? for help): w --- 保存退出Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!Do you want to proceed? (Y/N): y --- 确认命令
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
[root@localhost ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   10G  0 disk 
└─sda1          8:1    0    1G  0 part 
sr0            11:0    1  6.6G  0 rom  
nvme0n1       259:0    0   20G  0 disk 
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0   19G  0 part ├─rhel-root 253:0    0   17G  0 lvm  /└─rhel-swap 253:1    0    2G  0 lvm  [SWAP]格式化:[root@localhost ~]# mkfs.xfs -f /dev/sda1
挂载:[root@localhost ~]# mount /dev/sda1 /data

例2:删除分区

首先卸下挂载:[root@localhost ~]# umount /dev/sda1

(3)parted --- 创建一个5G的扩展分区,逻辑分区为800M

<1> 交互式

[root@localhost ~]# parted --- 进入交互式界面
(parted) mklabel msdos --- 转换类型为msdos
(parted) mkpart extended 1M 5G --- 划分扩展分区
(parted) mkpart logical xfs 1M 800M --- 文件系统类型为xfs

<2> 非交互式

转换类型为msdos:[root@localhost ~]# parted /dev/sda mklabel msdos
划分扩展分区:[root@localhost ~]# parted /dev/sda mkpart extended 1M 5G 
创建逻辑分区:[root@localhost ~]# parted /dev/sda mkpart logical xfs 1M 800M ---文件系统类型为xfs

相关内容

热门资讯

【数据结构】链队列的C语言实现 队列 1.队列的概念 队列 和栈一样,是一个 特殊的线性表。 队列只允许在一端进行插入...
中国定制版希尔顿花园酒店开业,... 希尔顿集团旗下高端精选服务酒店品牌——希尔顿花园酒店5月28日宣布,其全新升级、专为中国市场定制的“...
人民日报:保护生态环境必须依靠... 用最严格制度、最严密法治保护生态环境,不断提高生态环境领域国家治理体系和治理能力现代化水平 生态环境...
【Docker】P2 Dock... Docker 命令小全Docker 服务相关命令启动docker服务停止docker服务重启dock...
用ChatGPT解读非结构化数... 许多现代数据系统都依赖于结构化数据,例如 Postgres DB 或 Snowflak...
GuLi商城-SpringCl... GitHub - alibaba/spring-cloud-alibaba: Spring Clou...
Android12之OpenS... 代码示例 SLObjectItf player;static SLEngineItf Engine...
肱动脉穿刺技术并发症,预防,护... 宏动脉穿刺是一种介入性操作技术,通常在患者的大腿或股动脉上进行,用于获取...
【nginx实战】nginx实... 前言 大家好,我是沐风晓月,本文首发于csdn 博客专栏【linux基本...
恩里克带巴萨巴黎均获三冠王 赛... 北京时间今天凌晨结束的欧冠决赛,巴黎圣日耳曼5-0大胜国际米兰,夺得队史首座欧冠,至此球队在本赛季拿...