当前位置: 首页 > ops >正文

服务器硬盘进行分区和挂载

查看服务器上的硬盘:

lsblk -d -o NAME,SIZE,MODEL

可以看到我的硬盘是除了vda系统盘以外,还有个vdb。

我们查看一下分区:

lsblk

可以看到:vdb  1T  disk  (底下没有分区,也没有挂载)

我们想要用起来这个硬盘,就要先分区并给他弄个挂载目录。

硬盘分区

在 Linux 下,所有硬盘、分区、甚至一些设备都是以 设备文件 的形式存在 /dev 目录下,所以你操作硬盘、分区时都要加上 /dev/。

所以我们要操作vdb盘,就要这样,会进入到分区工具中:

sudo fdisk /dev/vdb

然后依次输入

g                     # 创建 GPT 分区表(因为硬盘大于 2T,硬盘没2T就不用了)
n                     # 新建一个分区
# 回车使用默认分区号、起始扇区和结束扇区(默认覆盖整个硬盘)
p                     # 打印查看分区,确认 /dev/vdb1 已生成
w                     # 写入分区表并退出

n(新建分区)的时候,会有几个选项:

Command (m for help): n Partition number (1-128, default 1): 这是 fdisk 交互提示你选择新分区号。一般直接回车就行,它会直接默认将新分区命名为 /dev/vdb1

First sector (2048-4294967262, default 2048): 这是 fdisk 提示你选择新分区的起始扇区。一般也是直接回车就行,fdisk 会用默认值开始新分区。

Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-4294967262, default 4294967262):这是 fdisk 提示你选择新分区的结束扇区。一般我们就是 让这个分区占满整块硬盘,直接 回车 就行,fdisk 会用默认值。

总结一下你做的操作:

  1. g → 创建 GPT 分区表(支持大于 2T 的硬盘,硬盘没2T就不用了)

  2. n → 新建分区,分区号 1,默认起始扇区和结束扇区 → 占满整块硬盘

  3. p → 打印分区表,确认 /dev/vdb1 已生成,大小 2T

  4. w → 写入分区表并退出

挂载目录

格式化分区

sudo mkfs.ext4 /dev/vdb1       # 格式化分区

挂载

sudo mkdir -p /data            # 创建挂载目录
sudo mount /dev/vdb1 /data     # 挂载

挂载的意思就是,你对这个目录的操作,其实本质都是在挂载目录上操作。比如,我现在往/data目录存一个文件,文件其实是存在 vdb盘的 vdb1这个分区上的。

更换挂载

比如我现在要挂载到/data2这个目录,就直接执行挂载命令即可。

sudo mount /dev/vdb1 /data2

查看挂载情况

df -h

这个也行:

lsblk

开启自动挂载

上述挂载操作是手动挂载的。重启服务器后挂载关系会消失。东西是不会丢,数据仍在 /dev/vdb1上。但是每次都得执行sudo mount /dev/vdb1 /data一下,才能到/data目录下正常访问。所以我们要配置一下开机自动挂载:

# 编辑 /etc/fstab
sudo vim /etc/fstab

添加这一行:

/dev/vdb1  /data  ext4  defaults  0 0

  • /dev/vdb1 → 硬盘分区

  • /data → 挂载点

  • ext4 → 文件系统类型(格式化时用的)

  • defaults → 默认挂载选项

  • 0 0 → 不做 dump/backups,也不检查文件系统

保存后,可以测试:

sudo umount /data
sudo mount -a

mount -a 会根据 fstab 自动挂载所有配置的分区

然后用 lsblk检查一下即可。

http://www.xdnf.cn/news/18245.html

相关文章:

  • SLAM文献之-Globally Consistent and Tightly Coupled 3D LiDAR Inertial Mapping
  • AI +金融 = 七大核心维度+ 落地典型困难
  • 【Golang实战】Go Module 双段 require 配置深度解析
  • Lecture 5 GPUs课程笔记
  • C语言---编译的最小单位---令牌(Token)
  • 认识Node.js及其与 Nginx 前端项目区别
  • KubeBlocks AI:AI时代的云原生数据库运维探索
  • Notepad++批量转UTF-8脚本
  • Flink Stream API - 顶层Operator接口StreamOperator源码超详细讲解
  • 结合SAT-3D,运动+饮食双重养腰新方式
  • Java:将视频上传到腾讯云并通过腾讯云点播播放
  • STM32F407VGT6从零建立一个标准库工程模板+VSCode或Keil5
  • 详解MySQL中的多表查询:多表查询分类讲解、七种JOIN操作的实现
  • 《Linux运维总结:Shell脚本位置参数的具体使用》
  • 【笔记】动手学Ollama 第五章 Ollama 在 LangChain 中的使用 - Python 集成
  • 存储系统中清空日志文件的常用方法总结
  • vue3 el-select 默认选中第一个
  • 链表-24.两两交换链表中的结点-力扣(LeetCode)
  • 绕过 C 标准库限制执行系统命令:系统调用、Shellcode 和裸机二进制
  • 税务专业人员能力构建与发展路径指南
  • Qt5多线程编程详细讲解
  • [递归回溯]679. 24 点游戏
  • 基于RK3568/J6412的EMU多网口控制主机,助力储能工业互联管理和运维
  • PyTorch 社区贡献 和 设计原则
  • 第5课_Rust生命周期和泛型
  • Android MVVM(Model-View-ViewModel)架构
  • 从零开始的云计算生活——第四十七天,细水长流,kubernetes模块之ingress资源对象
  • 23TaskExecutor初始化
  • 【ansible】4.实施任务控制
  • AI 伦理的 “灰色地带”:当算法拥有决策权,公平与隐私该如何平衡?