Linux 硬盘挂载

Linux 硬盘挂载

磁盘分区

Linux 中,磁盘是通过分区来使用的。分区是将一个硬盘划分成几个逻辑部分来使用,在每个分区中可以存储不同的文件系统。因此,在挂载磁盘之前,我们需要先对磁盘进行分区。磁盘分区的过程可以通过命令行工具或图形界面工具来完成。

常用的磁盘分区工具有:

cfdisk:命令行工具,适用于创建主分区和扩展分区,支持 MBR 和 GPT 分区表。
fdisk :命令行工具,适用于创建主分区和扩展分区,支持 MBR 分区表。
gdisk:命令行工具,适用于创建主分区、扩展分区和逻辑分区,支持 GPT 分区表。
gparted:图形界面工具,适用于创建主分区、扩展分区和逻辑分区,支持 MBR 和 GPT 分区表。

分区的目的是将一个硬盘划分成多个逻辑部分,每个部分可以单独使用和管理。当然,分区并不是必需的,我们也可以直接将整个硬盘作为一个单一的分区进行挂载。

文件系统

Linux 中,文件系统是挂载磁盘的重要概念。文件系统是指一种组织数据的方式,可以帮助我们在磁盘上存储和管理文件。常见的 Linux 文件系统有 ext2、ext3、ext4、XFS 等。

实际操作

查看新磁盘信息

使用 lsblk 命令查看新加入的磁盘信息

1
2
3
4
5
6
7
8
9
[root@-znzj-app-1 /]# lsblk 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom vda 252:0 0 80G 0 disk
├─vda1 252:1 0 1G 0 part /boot └─vda2 252:2 0 79G 0 part
├─centos-root 253:0 0 47.8G 0 lvm /
└─centos-swap 253:1 0 7.9G 0 lvm [SWAP]
vdb 252:16 0 64M 0 disk
└─vdb1 252:17 0 63M 0 part
vdc 252:32 0 300G 0 disk #或者使用 fdisk -l

从上述结果可以看出,系统中新加了一个磁盘设备 /dev/vdc

分区新磁盘

使用 fdisk 或者 cfdisk 分区新磁盘

例如使用 fdisk 命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@-znzj-app-1 /]# sudo fdisk /dev/vdc
Welcome to fdisk (util-linux 2.23.2).

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
Building a new DOS disklabel with disk identifier 0xe4e64bc8.

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (2048-629145599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599):
Using default value 629145599
Partition 1 of type Linux and of size 300 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

格式化新分区

格式化新分区,使用 mkfs 命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@-znzj-app-1 /]# sudo mkfs -t ext4 /dev/vdc
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
19660800 inodes, 78643200 blocks
3932160 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2227175424
2400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

创建挂载目录

创建挂载目录,使用 mkdir 命令

1
$ sudo mkdir -p /mnt/data

挂载分区

挂载分区,使用 mount 命令

1
$ sudo mount /dev/vdc /mnt/data

卸载磁盘

Linux 中,卸载磁盘的命令为 umount 。卸载磁盘之前,需要先检查磁盘上是否有进程在使用它。如果有,则需要先终止相应的进程,才能安全地卸载磁盘。

例如,若要卸载 /mnt/data 目录下的文件系统,只需要运行以下命令:

1
umount /mnt/data

验证挂载

验证挂载是否成功,使用 df -h 命令查看所有文件系统的储存器使用情况:

1
2
3
4
5
6
7
8
9
10
[root@-znzj-app-1 /]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 1.7G 15G 11% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/centos-root 48G 15G 34G 31% /
/dev/vda1 1014M 239M 776M 24% /boot
tmpfs 3.2G 0 3.2G 0% /run/user/1000
/dev/vdc 296G 65M 281G 1% /mnt/data

从上述结果可以看出,新分区已经被成功挂载到 /mnt/data 目录下。

自动挂载

添加自动挂载,编辑/etc/fstab 文件,添加以下内容:

1
2
$ sudo su 
$ echo '/dev/vdc /mnt/data ext4 defaults 0 2' >> /etc/fstab

Linux 中,如果要让磁盘在每次开机后自动挂载到指定的目录下,我们需要将挂载信息写入 /etc/fstab 文件中。

/etc/fstabLinux 系统中用于存储文件系统挂载信息的文件。它包含了系统启动时需要挂载的所有文件系统的信息,以及挂载时使用的选项。

我们需要在 /etc/fstab 文件中添加一个新的行来描述我们要挂载的文件系统。每一行包含了如下信息:

  1. 设备:要挂载的设备名称,例如 :/dev/sdb1
  2. 挂载点:要将设备挂载到哪个目录下。
  3. 文件系统类型:要挂载的文件系统类型,例如: ext4
  4. 挂载选项:用于控制挂载行为的选项,例如: **noatime**(不更新访问时间)和 **defaults**(使用默认选项)等。
  5. 挂载次序:系统应该以什么顺序挂载文件系统,例如: 0 表示最先挂载。

用户目录软连接

home 目录下用户全部存放与根目录下,如根磁盘空间不足,可以将 home 目录下用户目录移动至新挂载磁盘下,在 home 目录下生成挂载磁盘软链接,步骤如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#1.进入home目录
$ cd /home

#2.将home/admin移动至挂载磁盘目录下
$ mv admin /mnt/data/

#3.在home目录下做软连接至挂载磁盘目录下
$ ln -s /mnt/data/admin admin

#4.在home目录下查看链接路径
$ ll

#5.切换admin用户
su admin

#6.切换当前用户工作空间
cd ~

#7.查看当前路径
pwd

总结

挂载磁盘是 Linux 系统中一个基本的操作,它可以帮助我们扩展存储空间,管理数据文件,备份和存储重要文件等。在挂载磁盘之前,我们需要先对磁盘进行分区,并且在分区上创建文件系统。然后,我们需要使用 mount 命令将设备挂载到指定的目录下,并在必要时使用 /etc/fstab 文件配置开机自动挂载。最后,在卸载磁盘之前,需要先检查是否有进程在使用磁盘,并终止相应的进程。


Linux 硬盘挂载
https://hexo.leelurker.com/posts/38945
作者
LeeLurker
发布于
2024年7月8日
许可协议