linux磁盘挂载、分区、格式化

linux磁盘挂载、分区、格式化我们使用一个 linux 磁盘大概可以分为三步 添加硬盘 新建分区 fdisk 注 新建分区是非必须的 格式化分区 mkfs ext4 挂载 加载分区 mount 1 添加硬盘 新建分区 fisk

大家好,我是讯享网,很高兴认识大家。

我们使用一个linux磁盘大概可以分为三步:

  • 添加硬盘/新建分区(fdisk)。(注:新建分区是非必须的。)
  • 格式化分区(mkfs.ext4)。
  • 挂载(加载分区mount)

1、添加硬盘,新建分区(fisk)

fdisk 是一款功能强大的分区工具,也是目前在Unix类操作系统中最流行的工具之一;分区工具老字号。(用法可参考,或者使用man fdisk)

(1)查看当前系统所有硬盘及分区情况:fdisk -l


讯享网

通过上图的fdisk -l的信息,我们知道此机器中挂载五个硬盘(或移动硬盘),分别是vda、vdb、vdc、vdd、vde;如果我们想查看单个硬盘情况,可以通过 fdisk /dev/vda或者fdisk /dev/vdb 来操作;/dev/vda下的/dev/vda1是vda的主分区,分区中还有扩展分区和逻辑分区的概念,在此不做扩展。

关于fdisk -l 一些数值的说明,以上图的/dev/vde为例。

Disk /dev/vde: 32.2 GB, bytes, sectors #扇区个数
Units = sectors of 1 * 512 = 512 bytes  #柱面单元大小 (一个扇区作为一个柱面)
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

a. 总磁盘大小:  bytes(B) / 1024 =  KB / 1024 =  MB / 1024 = 30 GB

b. 每个柱面的大小Units: 512 bytes (这里一个柱面一个扇区)

c. 扇区个数是sectors:  bytes / 512 bytes = 

(2)在指定的硬盘(例:/dev/vda)上创建分区,命令为:fdisk /dev/vda1 , 根据提示进行下一步操作,如:查看帮助(h),新建分区(n),删除分区(d),查看分区情况(p),分区成功后,写分区表并退出(w)

2、格式化分区(mkfs.ext4)

格式化分区的是指将分区格式化成不同的文件系统。
什么是文件系统?文件系统指操作系统用于明确存储设备或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法。就好比一个教室,同学们的坐的位置总是与桌子凳子排列的方式有关系。桌子,凳子怎么摆放,就导致了同学坐的位置在哪里。文件系统存放数据也是这么个道理。Linux下的文件类型有ext2、ext3、ext4、xfs等等。
假设我们要对/dev/vbd进行格式化(注:此处/dev/vbd没有分区,分区是非必须的),我们需要使用命令:

mkfs.ext4 /dev/vbd
意思是格式化/dev/vbd,格式化类型为.ext4, mkfs.ext4支持一些参数,具体用法可参考:https://blog.csdn.net/tsz0000/article/details/

比如我们项目中用到的:

#mkfs.ext4 -F /dev/vdb -m 0 -q -L gpt -J size=4096 -T largefile -i 16384

讯享网

其中:

-F  强制格式化,有些mkfs工具版本格式化时检测到已有文件系统数据会提示继续进行的选择。

-m reserved-blocks-percentage。指定预留block总个数的百分比。

-q    执行时不显示任何信息。

-L volume-label。 设置文件的卷标。还可以使用e2label命令进行设置卷标:e2label /dev/sdb1 test。那么怎么查看卷标是否生效?e2label /dev/vdd?

-J journal-options。size=journal-size    指定日志文件大小,默认单位MB,此处表示size=4096 表示日志文件大小为4G。如果这个值大于磁盘大小,在执行mkfs.ext4时,则会报错:Journal size too big for filesystem.

-T fs_types。largefile    存储大文件,文件单位1MB,默认情况下blocks是inodes的4倍,存储基本单位是block 4k,意思就是全部存储16K单位文件inodes可以最大限度把blocks用完。

-i bytes-per-inode。 指定"字节/inode"的比例  。

我们格式化好的/dev/vdd能用吗?答案是不能,要想用这个磁盘我们还需要挂载。

3、挂载

linux系统的宗旨是一切皆文件。比如我们想要我们的文件存储在/disk1目录下,/disk1就是我们的根,那么我们要在/dev/vdd中写入文件时,首先要/disk1和/dev/vdd建立联系,这个就是挂载。这样,之后我们访问/disk1这个目录时,我们实际**问的是/dev/vdd这个设备文件。这个目录相当于/dev/vdd的入口,有了这个入口才可以访问磁盘。z将指定的一个目录作为挂载点目录时,如果挂载点的目录有文件,那么文件会被隐藏。因此当我们需要挂载目录时,最好新建一个空文件夹来作为挂在点目录。

比如此处命令应为:

讯享网mount /dev/vdd /disk1 

mount命令还支持一些参数,具体可参考:EXT4文件系统 mount 参数翻译 。

我项目中的用法:

mount -o rw,nodiratime,noatime,data=writeback,nobarrier,lazytime,delalloc /dev/vdd /disk1

执行完之后,怎么怎样查看到当前系统上所有磁盘的挂载信息?

(1)mount命令。

讯享网#mount|grep vd /dev/vda1 on / type ext4 (rw,relatime,data=ordered) /dev/vda1 on /home/plugins type ext4 (rw,relatime,data=ordered) /dev/vda1 on /home/overlay type ext4 (rw,relatime,data=ordered) /dev/vde on /disk1 type ext4 (rw,noatime,nodiratime,lazytime,nobarrier,data=writeback)

(2)df -h命令。信息显示的内容包括文件的大小,已经使用的分区大小,总共可用分区的大小,使用率,以及挂载的位置,是比较常用的用法。

#df -h|grep vd /dev/vda1 59G 15G 42G 26% / /dev/vde 26G 334M 26G 2% /disk1

另外blkid命令可以查看对应分区的UUID(编号)。UUID唯一标识每一个分区,防止错误的挂载。除此之外,还会显示分区的类型。

讯享网#blkid /dev/vde: LABEL="gpt" UUID="c779e832-6dde-4d11-8e44-dda9d" TYPE="ext4" 

以上,我们这种挂载方式为临时挂载,因此当我们重启了Linux后,这种挂载会失效的。怎么做到永久挂载呢?

方法:

①使用vim编辑 /etc/fstab ,在命令行直接输入vim /etc/fstab 就可以编辑,实现开机自动挂载。

②在将光标移到UUID行,在命令模式下按o键进入插入模式,同时换行。将/dev/vdd的UUID编号,粘贴进来。/disk1挂载点目录,ext4文件系统类型,后面的rw,nodiratime,noatime,data=writeback,nobarrier,lazytime,delalloc,是执行mount命令时,-o后面的参数。编写完成后文件的内容如下:

#vi /etc/fstab  # /etc/fstab # Created by anaconda on Fri Jun  2 08:12:44 2017 # # 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 # UUID=0559cb97-8399-4656-a928-2d /                       ext4    defaults        1 1 /swapfile     none    swap    sw    0   0 UUID=c779e832-6dde-4d11-8e44-dda9d /disk1     ext4   rw,nodiratime,noatime,data=writeback,nobarrier,lazytime,delalloc

bonus:

相关linux命令总结:

命令 含义
fdisk -l 查看当前磁盘的分区情况
fdisk /dev/vdd 让硬盘进入分区模式,所分的磁盘在 /dev 下的 vdd这块磁盘
mkfs.ext4 /dev/vdd 将 /dev下的 vdd磁盘格式化为 ext4 的格式类型
e2label /dev/vdd test 为/dev/vdd设置卷标test
e2label /dev/vdd 查看/dev/vdd的卷标
mount /dev/vdd /disk1 将 /dev/vdd 挂载到 /disk1
mount 查看当前磁盘的详细挂载信息
df -h 查看磁盘信息
blkid 查看磁盘的uuid
小讯
上一篇 2025-03-24 10:19
下一篇 2025-03-01 16:43

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/28679.html