Linux 挂载新磁盘到指定目录

devtools/2024/10/17 17:58:48/

目录

  • 1. 背景
  • 2. 创建新的磁盘
  • 3. 创建挂载点
  • 4. 格式化新磁盘(如果尚未格式化)
  • 5. 挂载新磁盘
  • 6. 开机自启(可选)
  • 7. 卸载磁盘

1. 背景

最近需要使用 Linux 搭建一个 NFS 服务器主要用于 K8S 的日志和配置的持久化。但是考虑所需容量会比较大,所以通过在系统中挂载磁盘的方式进行处理。

挂载磁盘的话目前有两种方案:

这里的物理磁盘其实也并不是真的物理磁盘,也是通过虚拟化平台新建的磁盘。

  • 直接挂载硬盘

    适合简单、对性能要求高但不需要频繁调整存储布局的系统,如数据分析、日志收集服务器等场景。

  • 挂载 LVM(逻辑卷管理器) 的逻辑磁盘

    适合需要灵活性和复杂存储管理的场景,如数据库服务器、大型应用程序或虚拟化环境。它提供了扩展性、卷快照、条带化等高级功能,但会带来一些性能开销。

    在这里插入图片描述

在这里插入图片描述

从长远来看 LVM 是最佳方案,灵活性非常高,在线扩容的话速度也非常快。

不管是哪种方案,挂载的方法都是一样的;这里为了简单操作,以直接挂载磁盘到指定目录为例。

2. 创建新的磁盘

先使用虚拟化平台创建一个新的磁盘,例如创建一个 100 GB 的新硬盘。
在这里插入图片描述
通过 lsblk 查看磁盘是否添加成功:

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda           8:0    0   20G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   19G  0 part ├─rl-root 253:0    0   17G  0 lvm  /└─rl-swap 253:1    0    2G  0 lvm  [SWAP]
sdb           8:16   0  100G  0 disk 
sr0          11:0    1 1024M  0 rom 

这里多了一个 sdb 100G,可以看到系统已经识别到新增加的硬盘了。

3. 创建挂载点

在 Linux 系统中,通常将新磁盘挂载到 /mnt/media 目录下。

sudo mkdir /mnt/nfs-dir

4. 格式化新磁盘(如果尚未格式化)

将新磁盘格式化为 ext4

sudo mkfs.ext4 /dev/sdX1  # sdX1 替换为实际设备名称# 例如为上面的 sdb,则命令为:
sudo mkfs.ext4 /dev/sdb

/dev 目录是 Linux 系统中的一个特殊目录,存放所有与设备相关的文件。它的作用是为系统中的各种硬件设备提供接口,使这些设备能够像普通文件一样被访问和操作。

还可以格式化为其他格式,根据实际情况确定,下面列出常见的格式:

# ext3 文件系统:
sudo mkfs.ext3 /dev/sdX1# ext2 文件系统
sudo mkfs.ext2 /dev/sdX1# XFS 文件系统(适合大文件和高性能场景)
sudo mkfs.xfs /dev/sdX1# FAT32 文件系统(适合跨平台使用,如与 Windows 和 macOS 共享)
sudo mkfs.vfat /dev/sdX1# NTFS 文件系统(主要用于与 Windows 共享数据)
sudo mkfs.ntfs /dev/sdX1# exFAT 文件系统(适合大文件和跨平台使用)
sudo mkfs.exfat /dev/sdX1

5. 挂载新磁盘

常用语法:mount [选项] <设备> <挂载点>

以上面的 sdb 为例:

# 将新的硬盘挂载到 /mnt/nfs-dir 目录下
sudo mount /dev/sdb /mnt/nfs-dir

挂载完成后,就可以在 /mnt/nfs-dir 目录下操作对应的硬盘了。


mount 会自动识别磁盘的文件系统类型,一般不需要特殊指定,如果无法自动识别文件系统类型,可以通过 -t 选项来制定,例如指定为 ext4:

sudo mount -t ext4 /dev/sda1 /mnt/nfs-dir

6. 开机自启(可选)

如果要在启动时自动挂载,可以编辑 /etc/fstab 文件:

/dev/sdX1  /mnt/nfs-dir  ext4  defaults  0  2

挂载后,可以将 NFS 共享目录设置在该挂载点上。

想了解更多 /etc/fstab 文件的配置,可参考文章:Linux 再入门整理:详解 /etc/fstab 文件

7. 卸载磁盘

卸载网络文件系统(NFS)时,命令与本地文件系统是一样的。

  • 通过挂载点卸载
sudo umount /mnt/nfs-dir
  • 通过设备名称卸载
sudo umount /dev/sdb

这里是挂载了一个新磁盘,如果是挂载 NFS 到指定目录也是可以的。


http://www.ppmy.cn/devtools/126519.html

相关文章

MySQL插入优化-性能对比

插入优化主要包括&#xff1a; 批量插入条数据&#xff0c;而不是单个记录逐条插入。手动提交事务&#xff0c;避免自动提交事务带来的额外开销。使用load命令从本地文件导入。 性能对比 创建数据库表 CREATE TABLE if not exists tb_sku ( id int(20) …

基于Java的可携宠物酒店管理系统的设计与实现(论文+源码)_kaic

摘 要 随着社会经济的不断发‎‏展&#xff0c;现如今出行并住酒店的人越来越多&#xff0c;与之而来的是酒店行业的工作量日益增加&#xff0c;酒店的管理效率亟待提升。此外很多人出门旅游时会有携带宠物的情况&#xff0c;但是现如今酒店对宠物的限制&#xff0c;导致许多…

西门子网络程序传输,无需开通网络驱动器直接接入底层,支持各类数控 如发那科、三菱 、新代、海德汉、广数、精雕、马扎克等等

有关西门子的程序传输问题&#xff0c;大家一般是通过文件共享、ftp、网络驱动器等方式&#xff0c;其中828D还需要授权开通网络启动器 下面介绍一种方式直接进入西门子Linux底层系统实现和NCK的文件交互功能 软件截图如下 功能表如下 机床程序上载至电脑 电脑程序下传…

IO进程---day3

1、完成标准io的单字符实现两个文件的拷贝&#xff1b; #include<myhead.h>//标准io的单字符现两个文件的拷贝&#xff1b; int main(int argc, const char *argv[]) {//判断是否有3个文件传入if(3 ! argc){fputs("input file error\n",stderr);return -1;}//打…

构建高效购物推荐系统:SpringBoot实战

1系统概述 1.1 研究背景 如今互联网高速发展&#xff0c;网络遍布全球&#xff0c;通过互联网发布的消息能快而方便的传播到世界每个角落&#xff0c;并且互联网上能传播的信息也很广&#xff0c;比如文字、图片、声音、视频等。从而&#xff0c;这种种好处使得互联网成了信息传…

【C++】STL--stack

1. stack的介绍 stack的文档介绍 后进先出&#xff08;LIFO&#xff09;&#xff1a;Stack容器遵循后进先出的原则&#xff0c;即最后进入栈的元素最先被移出栈。 2.stack的使用 常用的几个接口 代码演示如下 int main() {stack<int> st;st.push(1);st.push(2);st.…

在Windows中使用谷歌浏览器观看和录制游戏直播

在现代数字娱乐时代&#xff0c;游戏直播已经成为许多玩家和观众的重要娱乐方式。使用谷歌浏览器在Windows系统中观看和录制游戏直播不仅方便&#xff0c;还能提供高质量的观看体验。本文将为大家详细介绍如何使用谷歌浏览器进行这一操作。&#xff08;本文由https://google.ch…

关于oracle数据库/加载机密码中含有特殊字符@:><等的解决办法

一、前提交代 我最近项目中需要通过把特定的数据文件(.gz文件)导入到oracle库中&#xff0c;一般情况我们是通过shell来实现该功能&#xff0c;然后再通过作业调度调用shell来实现。在shell中肯定要连接数据库和加载机&#xff08;存放数据文件的服务器&#xff09;,但是数据库…