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

依旧是挂载好的。

posted @ 2024-08-30 07:52  takenika  阅读(161)  评论(0)    收藏  举报