Linux基础篇、第四章_02磁盘及分区管理fdisk 和 gdisk

题目:Linux 磁盘及分区管理

版本号: 1.0,0
作者: @老王要学习
日期: 2025.04.25
适用环境: Centos7

文档说明

本教程适用于 Centos7 环境,详细介绍 Linux 磁盘及分区管理操作。包含虚拟机添加磁盘的关机与开机添加方法、MBR 和 GPT 两种分区方式特点、fdisk 和 gdisk 分区命令使用、分区格式化及临时和永久挂载分区操作

环境准备

硬件要求

  • 服务器: 2核CPU、2GB内存,20GB硬盘空间
  • 网络: 确保服务器具有固定的IP地址,并且防火墙允许FTP端口(默认22端口)的通信

软件要求

  • 操作系统:Centos7
  • FTP软件:SecureCRT
  • 软件包:无

一、虚拟机添加磁盘

1、关机添加

关闭虚拟机——打开VM——菜单——虚拟机——设置——硬盘——添加——一直下一步——完成——确定——开机

init 0

在这里插入图片描述

Linux基础篇、第四章_02磁盘及分区管理fdisk 和 gdisk_第1张图片
Linux基础篇、第四章_02磁盘及分区管理fdisk 和 gdisk_第2张图片

2、开机添加

添加同关机添加一样步骤,添加完系统无法识别到,使用命令来扫描新磁盘

echo "- - -" >> /sys/class/scsi_host/host0/scan
echo "- - -" >> /sys/class/scsi_host/host1/scan
echo "- - -" >> /sys/class/scsi_host/host2/scan 

#查看磁盘信息
fdisk -l

结果如下sdb为新添加的磁盘(可能因环境不同名字有差异)

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

二、磁盘分区方式

1、MBR(主引导记录)

MBR传统的磁盘分区方式,最多支持4个主分区,或3个主分区1个扩展分区,扩展分区下可以分多个逻辑分区

特点:

分区数量限制:最多支持4个主分区,或3个主分区1个扩展分区,扩展分区下可以分多个逻辑分区
容量限制:每个分区最大支持2TB容量
兼容性好:在各种操作系统与硬件平台上有较好的兼容性

2、GPT(GUID分区表)

GPT是一种新型的磁盘分区表结构,全称为’全局唯一标识磁盘分区表

特点:

自纠错能力:能在一定程度上检测和修复分区表的错误,提高磁盘分区可靠性
无主分区数量限制:主分区数量不在只能创建4个,可以根据实际需求创建多个,灵活的分区管理
大容量支持:支持大于18EB的总容量,几乎无上限,最大支持128个分区,每个分区支持到256TB

三、分区命令

1、fdisk分区

fdisk /dev/sdb
#创建新分区输入n,创建主分区p,分区号1,起始值为0,赋予+3G的空间,查看分区情况p,保存并退出w

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+3G
分区 1 已设置为 Linux 类型,大小设为 3 GiB

命令(输入 m 获取帮助):p

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

2、fdisk常用命令如下:

命令 作用
p 显示当前磁盘的分区情况
n 创建新分区,选择p创建主分区,选择e创建逻辑分区
d 删除一个指定的分区,输入分区编号
w 保存分区表并退出
q 不保存直接退出
t 修改分区类型,输入分区编号与设置文件类型代码
l 显示fdisk支出所以文件系统类型代码的名称

3、创建扩展分区与逻辑分区

创建3个主分区分别3G,剩下的全部分给创建扩展分区,再创建2个3G与1个5G逻辑分区

#创建完3个主分区直接可以创建扩展分区e

令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): 
Using default response e
已选择分区 4
起始 扇区 (18876416-41943039,默认为 18876416):
将使用默认值 18876416
Last 扇区, +扇区 or +size{K,M,G} (18876416-41943039,默认为 41943039):
将使用默认值 41943039
分区 4 已设置为 Extended 类型,大小设为 11 GiB

命令(输入 m 获取帮助):p

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux
/dev/sdb2         6293504    12584959     3145728   83  Linux
/dev/sdb3        12584960    18876415     3145728   83  Linux
/dev/sdb4        18876416    41943039    11533312    5  Extended


#创建3个逻辑分区结果如下:
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux
/dev/sdb2         6293504    12584959     3145728   83  Linux
/dev/sdb3        12584960    18876415     3145728   83  Linux
/dev/sdb4        18876416    41943039    11533312    5  Extended
/dev/sdb5        18878464    25169919     3145728   83  Linux
/dev/sdb6        25171968    31463423     3145728   83  Linux
/dev/sdb7        31465472    41943039     5238784   83  Linux

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

4、gdisk分区介绍

gdisk 是专门用于 GPT 分区表的分区工具,其使用方法与 fdisk 类似
再添加一块硬盘进行测试/dev/sdc

#没有gdisk进行安装
yum -y install gdisk

#进行磁盘分区
gdisk /dev/sdc

#创建效果如下:(自定义设置大小感受创建过程)
Command (? for help): n
Partition number (2-128, default 2): 
First sector (34-41943006, default = 6293504) or {+-}size{KMGTP}: 
Last sector (6293504-41943006, default = 41943006) or {+-}size{KMGTP}: +4G
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): p
Disk /dev/sdc: 41943040 sectors, 20.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 61C69977-56B5-45AA-A931-C3C6DD9C56C2
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41943006
Partitions will be aligned on 2048-sector boundaries
Total free space is 27262909 sectors (13.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         6293503   3.0 GiB     8300  Linux filesystem
   2         6293504        14682111   4.0 GiB     8300  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/sdc.
The operation has completed successfully.

四、分区格式化

1、格式化EXT4文件系统

mkfs.ext4 /dev/sdb1

#完成效果如下:
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

适用于一般的 Linux 桌面系统和小型服务器,对于日常办公、开发环境以及一些对小文件读写频繁的应用较为合适

2、格式化 XFS 文件系统:

mkfs.xfs -f /dev/sdb2

#成功结果如下:
meta-data=/dev/sdb2              isize=512    agcount=4, agsize=196608 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=786432, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

常用于大型服务器、数据库系统、高性能计算环境以及需要处理大量数据的场景,如数据中心、媒体存储等

五、挂载分区

将格式化后的分区挂载系统目录树中,使其能够被系统访问与使用

1、临时挂载

重启虚拟机后挂载失效

mount /dev/sdb1 /mnt

:意挂载修改不会有任何提示

2、永久挂载

写入/etc/fstab文件中,每次开机自动挂载

echo "/dev/sdb1 /mnt/data ext4 defaults 0 0" >> /etc/fstab

你可能感兴趣的:(#,LINUX基础,Linux学习分享,linux,缓存,运维,磁盘分区,云计算)