磁盘分区有两种方式,一种是安装完系统的命令操作,另一种是在安装系统时进行分区操作,我们介绍一个安装系统时进行的分区规划操作,并使用命令进行磁盘分区、格式化、挂载、卸载。
- 分区可以提高系统的性能、安全性和可管理性,使数据组织更加灵活和有效。然而,对于某些简单的应用场景,未分区的磁盘可能更加简单和方便。因此,在选择是否分区时,需要根据具体的需求和情况来进行权衡和决策。
分区规划策略:
根分区(/): 负责存储操作系统的核心组件、用户数据以及安装的软件等。根分区的大小通常根据系统需求进行规划,包括操作系统、应用程序和用户数据的存储。
引导分区(/boot): 引导分区包含操作系统引导加载程序(如 GRUB 或 LILO)所需的文件,用于启动计算机。这些文件通常包括内核镜像和引导配置文件。引导分区通常位于磁盘的起始部分,并且在一些情况下可能会被限制在一个特定的大小范围内,以确保引导加载程序能够正确地读取并加载操作系统。
交换分区(swap): 交换分区是用于 Linux 系统内存管理的一部分。当系统内存不足时,Linux 会将部分内存数据转移到交换分区中,从而释放内存空间以供其他程序使用。交换分区的大小通常是系统内存大小的两倍或根据系统需求进行规划。
这里注重强调一下swap分区,可以理解为当内存不够用时,人们为了节省换内存的钱,创建了swap分区,可以将内存的部分数据转移到交换分区,从而释放内存空间以供其他程序使用。
(一)安装系统时进行磁盘分区
1、安装redhat
前期安装过程可以参考博客:RedHat安装
其他设置相同,设置Installation Destination部分时回到此博客!!!
2、分区操作
- Storage Configuration(存储设置)改为Custom(自定义),点击Done
- 进入此界面,分区方案选择为Standard Partition(标准分区),点击蓝字(Click here to create then automatically)
- 自动分配了根分区(/),Swap分区,引导分区(/boot),修改存储空间,/boot为500MiB、/分区为15GiB、swap分区为4GiB,修改一个记得一次Update Settings更新设置;亦可以手动添加不点击蓝字,点击加号,添加各个分区。
- 完成后点击Done,点击Accept Change
- 到这里磁盘分区设置完成!!!
3、网络设置
-
点击Network&Host Name
-
选择IPv4 Settings,Method模式选择Manual(手动),手动添加后,点击Save
-
完成后点击Done
-
之后的操作可返回博客RedHat安装
(二)使用命令对磁盘分区并格式化、挂载
1、在内存中添加10G硬盘
- 将系统关机,点击编辑虚拟机设置,在内存中选择添加
- 选择硬盘,点击下一步
- 选择硬盘类型是NVMe推荐类型
- 创建新虚拟磁盘
- 填写磁盘容量,并将虚拟磁盘划分为单个文件
- 选择虚拟磁盘的存放地址,点击完成
添加额外10G硬盘成功,开启虚拟机!!!
- 使用fdisk进行分区管理
[root@localhost ~]# fdisk -l #可查看系统连接的所有磁盘的基本信息,也可以获取未分区磁盘的基本信息*
Disk /dev/nvme0n1: 40 GiB, 42949672960 bytes, 83886080 sectors
Disk model: VMware Virtual NVMe Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb5dc1819
# 下面显示,我们刚刚在安装时划分的根分区、swap分区和引导分区
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 1026047 1024000 500M 83 Linux
/dev/nvme0n1p2 1026048 9414655 8388608 4G 82 Linux swap / Solaris
/dev/nvme0n1p3 9414656 40871935 31457280 15G 83 Linux
#10G硬盘添加成功
Disk /dev/nvme0n2: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VMware Virtual NVMe Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
使用命令 lsblk 可以查看磁盘的大小和挂载情况
- lsblk 命令列出块设备信息,包括硬盘、分区和其他块设备的相关信息。用于查看系统中的块设备信息,帮助用户更好地管理和了解系统中的硬件设备情况。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 7.9G 0 rom /run/media/ley/RHEL-9-0-0-BaseOS-x86_64
nvme0n1 259:0 0 40G 0 disk #三个分区
├─nvme0n1p1
│ 259:1 0 500M 0 part /boot
├─nvme0n1p2
│ 259:2 0 4G 0 part [SWAP]
└─nvme0n1p3
259:3 0 15G 0 part /
nvme0n2 259:4 0 10G 0 disk #10G硬盘
[root@localhost ~]# lsblk -f #显示系统信息
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sr0 iso966 Jolie RHEL-9-0-0-BaseOS-x86_64
2022-08-05-06-19-40-00 0 100% /run/media/ley/RHEL-9-0-0-BaseOS-x86_64
nvme0n1
│
├─nvme0n1p1
│ xfs fdbfb8cd-f0cd-48fb-a80c-bb110ac2a301 249.6M 50% /boot
├─nvme0n1p2
│ swap 1 27d3ea21-8536-4194-866d-adcf8c1b8b8b [SWAP]
└─nvme0n1p3
xfs 665886ca-56cf-4736-bdab-550182f782b3 11.1G 26% /
nvme0n2 #这里可以看到10G硬盘内什么都没有,表明设备未被挂载
2、格式化
- 在/root目录下创建RepositoryDisk文件夹来挂载新磁盘,可以挂载到任意目录下,按照个人需求。
[root@localhost ~]# mkdir RepositoryDisk
[root@localhost ~]# ls
anaconda-ks.cfg RepositoryDisk
- 进入/dev目录下,查找到新添加磁盘的文件名(nvme0n2)
[root@localhost ~]# ls /dev
- 使用fdisk交互模式来对磁盘进行分区,执行带磁盘设备名参数的fdisk命令,进入交互操作界面。
- 先输入m则是获取帮助,给出参数的作用。
root@localhost ~]# fdisk /dev/nvme0n2
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x0e147ab9.
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
- 输入n,执行n命令的创建新的分区;输入p显示硬盘分区表的信息;输入w保存磁盘分区修改;退出交互模式输入q。
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, default 20971519):
Created a new partition 1 of type 'Linux' and of size 10 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
- 输入lsblk -f,查看磁盘分区结果
[root@localhost ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sr0 iso966 Jolie RHEL-9-0-0-BaseOS-x86_64
2022-08-05-06-19-40-00 0 100% /run/media/ley/RHEL-9-0-0-BaseOS-x86_64
nvme0n1
│
├─nvme0n1p1
│ xfs fdbfb8cd-f0cd-48fb-a80c-bb110ac2a301 249.6M 50% /boot
├─nvme0n1p2
│ swap 1 27d3ea21-8536-4194-866d-adcf8c1b8b8b [SWAP]
└─nvme0n1p3
xfs 665886ca-56cf-4736-bdab-550182f782b3 11.1G 26% /
nvme0n2
│
└─nvme0n2p1 #显示分区出了nvme0n2p1
mkfs -t 分区系统格式 磁盘分区
- 在设备 /dev/nvme0n2p1 上创建 XFS 文件系统。它会格式化该设备并将其准备好用作文件存储。
root@localhost ~]# mkfs -t xfs /dev/nvme0n2p1
meta-data=/dev/nvme0n2p1 isize=512 agcount=4, agsize=655296 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1
data = bsize=4096 blocks=2621184, 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
- 将/dev/nvme0n2p1格式化成功
[root@localhost ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sr0 iso966 Jolie RHEL-9-0-0-BaseOS-x86_64
2022-08-05-06-19-40-00 0 100% /run/media/ley/RHEL-9-0-0-BaseOS-x86_64
nvme0n1
│
├─nvme0n1p1
│ xfs fdbfb8cd-f0cd-48fb-a80c-bb110ac2a301 249.6M 50% /boot
├─nvme0n1p2
│ swap 1 27d3ea21-8536-4194-866d-adcf8c1b8b8b [SWAP]
└─nvme0n1p3
xfs 665886ca-56cf-4736-bdab-550182f782b3 11.1G 26% /
nvme0n2
│
└─nvme0n2p1
xfs 6467960f-e36a-4629-97fd-b925135c1567
3、挂载
- 挂载,将/dev/nvme0n2p1挂载到/root/RepositoryDisk/目录下
[root@localhost ~]# mount /dev/nvme0n2p1 /root/RepositoryDisk/
[root@localhost ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sr0 iso966 Jolie RHEL-9-0-0-BaseOS-x86_64
2022-08-05-06-19-40-00 0 100% /run/media/ley/RHEL-9-0-0-BaseOS-x86_64
nvme0n1
│
├─nvme0n1p1
│ xfs fdbfb8cd-f0cd-48fb-a80c-bb110ac2a301 249.6M 50% /boot
├─nvme0n1p2
│ swap 1 27d3ea21-8536-4194-866d-adcf8c1b8b8b [SWAP]
└─nvme0n1p3
xfs 665886ca-56cf-4736-bdab-550182f782b3 11.1G 26% /
nvme0n2
│
└─nvme0n2p1
xfs 6467960f-e36a-4629-97fd-b925135c1567 9.9G 1% /root/RepositoryDisk #出现挂载地址,挂载成功!!
- 使用df检查文件系统的磁盘占用情况,-h则表示用最适合的单位显示信息
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 740M 9.7M 730M 2% /run
/dev/nvme0n1p3 15G 3.9G 12G 26% /
/dev/nvme0n1p1 495M 246M 250M 50% /boot
tmpfs 370M 100K 370M 1% /run/user/1000
/dev/sr0 8.0G 8.0G 0 100% /run/media/ley/RHEL-9-0-0-BaseOS-x86_64
/dev/nvme0n2p1 10G 104M 9.9G 2% /root/RepositoryDisk #磁盘信息
- 前面只是临时挂载,要实现开机自动挂载,则需要修改/etc/fstab文件。
[root@localhost etc]# vim /etc/fstab #在此文件的最后一行添加
UUID=6467960f-e36a-4629-97fd-b925135c1567 /root/RepositoryDisk xfs defaults 0 0
根分区、swap分区、引导分区,也可以采用命令方式进行,手动分区、格式化和挂载。
【参考文章】
https://blog.csdn.net/qq_42012160/article/details/116545712
https://zhuanlan.zhihu.com/p/534263875