Linux 的分区-格式化-挂载
▶ 分区
制定对一块设备进行分区。
参考:https://www.cnblogs.com/takenika/articles/18387545
使用 fdisk 来对 nvme0n2 进行分区,分出一个5G大小的
[root@server /]# fdisk /dev/nvme0n2
--snip--
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):
First sector (2048-20971519, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, default 20971519): +5G
Created a new partition 1 of type 'Linux' and of size 5 GiB.
ommand (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
[root@server /]#
查看分区:
[root@server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 10.2G 0 rom
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 19G 0 part
├─rl_192-root 253:0 0 17G 0 lvm /
└─rl_192-swap 253:1 0 2G 0 lvm [SWAP]
nvme0n2 259:3 0 10G 0 disk
└─nvme0n2p1 259:4 0 5G 0 part
nvme0n2p1 就是分过来的5G。
▶ 格式化分区
▷ 关于格式化
格式化是指对硬盘或存储设备进行 初始化操作,删除所有数据并重新建立 新的 文件系统。
如果不进行格式化而直接挂载,是失败的,如下演示:
[root@server ~]# mount /dev/nvme0n2p1 /mnt/fdisk_test/
mount: /mnt/fdisk_test: wrong fs type,
bad option, bad superblock on /dev/nvme0n2p1, missing codepag
▷ 裸分区-不必格式化创建文件系统
格式化是为了在分区中创建一个文件系统为之后的挂载 mount 做准备,但是这一步可以是不需要的,也就是说分区在没有文件系统的时候依旧可以使用,这样的分区被称为 裸分区 也叫做 裸设备(Raw Device)
裸分区的好处:由于分区和文件没有文件系统这一层所以裸分区的 IO 效率更高,对于数据库来说使用裸设备效率更高。
[root@server ~]# echo "这是一个裸设备" >> /dev/nvme0n2p1
[root@server ~]# cat /dev/nvme0n2p1
这是一个裸设备
▷ 格式化-创建文件系统
▷▷ 查看当前系统支持的文件系统
/lib/modules/Linux的内核版本/kernel/fs/
通过 uname 命令来查看当前系统的版本:
[root@server ~]# uname -r
5.14.0-427.13.1.el9_4.x86_64
[root@server ~]# cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
这里使用的内核版本是 5.14.0-427.13.1.el9_4.x86_64,发行版是 Rocky Linux release 9.4。
查看当前操作系统支持的文件系统:
[root@server ~]# ls /lib/modules/5.14.0-427.13.1.el9_4.x86_64/kernel/fs/
afs erofs fuse mbcache.ko.xz nls udf
binfmt_misc.ko.xz exfat gfs2 netfs overlayfs xfs
cachefiles ext4 isofs nfs pstore
ceph fat jbd2 nfs_common smb
dlm fscache lockd nfsd squashfs
最后一个 xfs 是红帽8后默认的操作系统。
▷▷ 将之前的分区格式化为 XFS 文件系统
mkfs.xfs 用与格式化 XFS 文件系统。
[root@server ~]# mkfs.xfs -f /dev/nvme0n2p1
meta-data=/dev/nvme0n2p1 isize=512 agcount=4, agsize=327680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=1310720, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
-f:如果设备内已经有了文件系统,则需要使用 -f 强制格式化。
▶ 挂载
▷ 暂时的挂载
使用 mount 命令来进行挂载,这样的挂载因为没有涉及到 /etc/fstab这个配置文件,所以如果 系统重启 则之前的挂载就失效了,这就需要重新 mount。
将刚刚格式化的文件系统挂载到 /mnt/xfs_test
[root@server ~]# mkdir /mnt/xfs_test
[root@server ~]# mount /dev/nvme0n2p1 /mnt/xfs_test
▷ 永久的挂载-/etc/fstab
这就要涉及到 /etc/fstab 这个文件。
[root@server ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 15 01:16:53 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rl_192-root / xfs defaults 0 0
UUID=9f5875e0-4530-4afc-86b6-202c5cef7052 /boot xfs defaults 0 0
/dev/mapper/rl_192-swap none swap defaults 0 0
在后面加入
/dev/nvme0n2p1 /mnt/xfs_test xfs defaults 0 0
reboot 重启后:
[root@server ~]# umount /mnt/xfs_test
[root@server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
--snip--
nvme0n2 259:3 0 10G 0 disk
└─nvme0n2p1 259:4 0 5G 0 part /mnt/xfs_test
依旧是挂载好的。

浙公网安备 33010602011771号