向Linux中挂载硬盘

Linux中硬盘挂载分临时挂载和永久挂载(开机自动挂载)到指定目录,这时候需要正确且安全的配置挂载才能保证系统安全稳定的运行

本文围绕基于宿主机ProxmoxVE(PVE)中的VPS进行操作,同时本指南也适用于所有Linux 大家可酌情参考。

向Linux VPS中添加硬盘

基于宿主机ProxmoxVE(PVE) 向VPS中添加硬盘分俩种情况:

  1. 添加虚拟磁盘
  2. 添加物理磁盘(直通)

1. 添加虚拟磁盘

通过WebGUI 面板 目标虚拟机-> 添加 -> 硬盘

向Linux中挂载硬盘

按需选择存储位置 硬盘大小 随即添加成功

2. 添加物理磁盘(直通)

进入ProxmoxVE(PVE)的SSH,或者直接进入PVE管理网页Shell
查看你现在的宿主中存储设备:

ls /dev/disk/by-id

输出:

root@admin:~# ls /dev/disk/by-id
ata-INTEL_SSDSWERD256G8_PHLA908104FA256CCC
ata-INTEL_SSDSWERS256G8_PHLB908104FA256AAA
ata-ST10000NM001G-2VCXZ453_ZLW05423431YFK
ata-ST10000NM001G-XCVV5433_ZLW02523459A0
...

如主机上有两块硬盘:

  • 2个intel 256G SSD
  • 2个是希捷10T的硬盘

挂载磁盘到虚拟机

设定:虚拟机ID 100
磁盘挂载方式 sata 序号0
挂载磁盘 ata-INTEL_SSDSWERS256G8_PHLB908104FA256AAA
如果需要磁盘格式化等操作则先执行下面磁盘管理操作

命令:

qm set 100 -sata0 /dev/disk/by-id/ataINTEL_SSDSWERS256G8_PHLB908104FA256AAA

此时 宿主机对VPS硬盘添加的过程已完成,接下来就可以在目标VPS中开机进行下一步操作了

2. 在目标Linux中进行挂载操作

Linux中对磁盘的挂载也是分俩种操作:

  1. 临时挂载
  2. 永久挂载

挂载前如果你的磁盘是全新添加的那么还需要操作一下分区以及格式化操作,但如果你的磁盘是从其他Linux迁移过来 那么磁盘分区格式化这步骤一定不能操作 否则将丢失资料

数据无价 谨慎操作!

进入目标Linux Shell 输入命令

fdisk -l

假设 VPS中系统盘为一块128GB 刚刚全新添加了一块 800G磁盘

那么将会输出

...
Disk /dev/vda: 128 GiB, 137438953472 bytes, 268435456 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
Disklabel type: dos
Disk identifier: 0x32f6cdd1

Device     Boot Start       End   Sectors  Size Id Type
/dev/vda1        2048 268435455 268433408  128G 83 Linux


Disk /dev/vdb: 800 GiB, 858993459200 bytes, 1677721600 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
Disklabel type: dos
Disk identifier: 0x34205a37

Device     Boot Start        End    Sectors  Size Id Type
...

由此得知 新加的磁盘位置为 /dev/vdb 且没有任何分区,我们将要对它进行分区

使用fdisk操作磁盘

确定设备路径后
如需要操作 /dev/vdb
输入命令

fdisk /dev/vdb

输出

root@admin:~# fdisk /dev/vdb

Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help):

开始在fdisk工具中操作磁盘 输入m阅读命令功能

新磁盘分区

此步骤会造成资料丢失 一定要按需选择


命令

Command (m for help): p

查看选定的/dev/vdb 磁盘分区 以便在此确认是正确,输出:

Command (m for help): p

Disk /dev/vdc: 800 GiB, 858993459200 bytes, 1677721600 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
Disklabel type: dos
Disk identifier: 0x34205a37

Device      Start        End    Sectors  Size Type

磁盘为全新磁盘 没有任何分区,紧接着输入 n 来添加一个新分区

向Linux中挂载硬盘

输入 p 来创建一个主分区,如果想将/dev/vdb分成一个区,全部按照默认配置,一直“回车”即可

向Linux中挂载硬盘

按照提示输入w 对刚才的修改进行保存

分区操作已经完成,输入命令进行查看

fdisk -l

输出

Disk /dev/vdb: 800 GiB, 858993459200 bytes, 1677721600 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
Disklabel type: dos
Disk identifier: 0x34205a37

Device     Boot Start        End    Sectors  Size Id Type
/dev/vdb1        2048 1677721599 1677719552  800G 83 Linux

然后格式化分区以便能后续挂载操作,当然如果你挂载的磁盘是已有资料的那么请跳过这些步骤直接去操作最终的挂载。

格式化全新的分区/dev/vdb1 以下命令将会把/dev/vdb1 分区格式为 ext4 格式

mkfs.ext4 /dev/vdb1

操作完分区 或 挂载原有磁盘后 假设目前得到了/dev/vdb1 分区 接下来就是把/dev/vdb1挂载到系统中进行使用。

临时挂载

临时挂载分区需要准备一个目录,目录必须为空。常见的目录位置为

/mnt/xxx
/data
/xxx
...

目录的定义可以非常个性化,当然系统建议是在 /mnt 下进行挂载,我们设定 挂载到/data

先创建目录

mkdir  /data

然后使用临时挂载目录命令

mount /dev/vdb1 /data

输入命令df -Th进行验证

root@admin:~# df -Th
Filesystem                        Type     Size  Used Avail Use% Mounted on
tmpfs                             tmpfs    795M  1.2M  794M   1% /run
/dev/vda1                         ext4      48G  9.8G   36G  22% /
tmpfs                             tmpfs    3.9G     0  3.9G   0% /dev/shm
tmpfs                             tmpfs    5.0M     0  5.0M   0% /run/lock
/dev/vda2                         ext4     2.0G  306M  1.5G  17% /boot
/dev/vda1                         ext4     126G  3.6G  116G   3% /insilen
/dev/vdb1                         ext4     787G  0G    787G   0% /data

/data目录已经对应了/dev/vdb1 磁盘了

但请注意,临时挂载命令仅此次开机有效,重启之后久不挂载了,而且临时挂载是以系统对应的简单磁盘编号进行区分。如果系统更改了磁盘的顺序或添加了磁盘 那么/dev/vdb1 可能会有变动,导致挂载出错。 如果要长期稳定的挂载一个磁盘则需要使用永久挂载方法

永久挂载

永久挂载磁盘和上面的临时挂载稍有区别,

永久挂载分区需要准备一个目录,目录必须为空。常见的目录位置为

/mnt/xxx
/data
/xxx
...

目录的定义可以非常个性化,当然系统建议是在 /mnt 下进行挂载,我们设定 挂载到/data

先创建目录

mkdir  /data

然后定位好目标磁盘的简单路径编号,如/dev/vdb1 ,获取这个磁盘分区对应的ID

blkid

输出

root@admin:~# blkid
/dev/vda1: UUID="32ebbfe8-e8b2-4a7f-b6da-c05wer224b13" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="32f6cdd1-01"
/dev/vdb1: UUID="7d96452e-b527-40cb-9afc-ae043225a51b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="34205a37-01"
/dev/vda2: UUID="17352f06-c329-49e5-658b-5422fs49c86d" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="46da7501-183f-4bdc-8bd7-81e16032b79d"
/dev/vda1: PARTUUID="d023d06d-f7ac-48d8-b7f5-0dbdcd01a5d8"

从输出 得知 /dev/vdb1 的 UUID为7d96452e-b527-40cb-9afc-ae043225a51b

然后编辑fstab

nano /etc/fstab
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/disk/by-uuid/17352f06-c329-49e5-658b-5422fs49c86d /boot ext4 defaults 0 1
/swap.img       none    swap    sw      0       0


# User Data Disk 800G
UUID=7d96452e-b527-40cb-9afc-ae043225a51b  /data   ext4   defaults  0 0

fstab 添加了 #User Data Disk 800G 部分,然后使用 Ctrl + x 并选择y 确定修改保存

因为直接修改了启动环境,如果配置有误可能会导致Linux无法启动。所以在修改了fstab 后不要着急重启。而是使用一下命令来验证是否挂载成功

mount -a

输入命令df -Th进行验证

root@admin:~# df -Th
Filesystem                        Type     Size  Used Avail Use% Mounted on
tmpfs                             tmpfs    795M  1.2M  794M   1% /run
/dev/vda1                         ext4      48G  9.8G   36G  22% /
tmpfs                             tmpfs    3.9G     0  3.9G   0% /dev/shm
tmpfs                             tmpfs    5.0M     0  5.0M   0% /run/lock
/dev/vda2                         ext4     2.0G  306M  1.5G  17% /boot
/dev/vda1                         ext4     126G  3.6G  116G   3% /insilen
/dev/vdb1                         ext4     787G  0G    787G   0% /data

/data目录已经永久挂载了/dev/vdb1 磁盘了

永久挂载后,如果磁盘有变动或打算变动 那么要先去编辑fstab 文件 取消里面的挂载命令,再去做变动。否则Linux将无法正常进如系统,只能去救援模式里编辑fstab 比较麻烦。

Zimri 收集整理,欢迎转载,请注明出处:https://www.insilen.com/post/549.html

文章遵循 署名-非商业性使用-相同方式共享 4.0 国际(CC BY-NC-SA 4.0)协议

(0)
打赏 微信赞赏 微信赞赏 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-22 23:54
下一篇 2022-12-16 00:30

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注