惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
S
Securelist
T
Threat Research - Cisco Blogs
Forbes - Security
Forbes - Security
AI
AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Attack and Defense Labs
Attack and Defense Labs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
W
WeLiveSecurity
P
Palo Alto Networks Blog
O
OpenAI News
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
L
Lohrmann on Cybersecurity
NISL@THU
NISL@THU
T
Tor Project blog
T
Threatpost
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
A
Arctic Wolf
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Latest news
Latest news
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Tenable Blog
量子位
L
LINUX DO - 最新话题
Webroot Blog
Webroot Blog
F
Fortinet All Blogs
C
CERT Recently Published Vulnerability Notes
Hacker News: Ask HN
Hacker News: Ask HN
U
Unit 42
T
Tailwind CSS Blog
WordPress大学
WordPress大学
N
News | PayPal Newsroom
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
Netflix TechBlog - Medium
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Stack Overflow Blog
Stack Overflow Blog
Cloudbric
Cloudbric
C
Check Point Blog
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
The Hacker News
The Hacker News
B
Blog

博客园 - uestc2007

AI 智能体项目的测试 vllm方式部署Deepseek R1、Embedding、Reranker、Qwen LibreOffice 批量将.doc文件转换为.docx Supervisor 监控 Python 服务 容器异常或停止自动启动脚本 资源监控脚本 Docker 安全及日志管理 Docker资源控制 做项目管理需要哪些技能 项目管理的基本工作是什么 知识图谱介绍(三) 知识图谱介绍(二) 知识图谱介绍(一) 安装Kuboard管理k8s Registry&Harbor私有仓库构建 EMQX配置用户名和密码开启emqx_auth_mnesia认证方式连接 开关量、数字量、模拟量、离散量和脉冲量它们之间有什么区别? Kubernetes基础总结 Kubernetes管理应用程序、服务常用命令、集群监视
磁盘挂载
uestc2007 · 2025-12-22 · via 博客园 - uestc2007

一、将新数据盘LVM卷组挂载

4个NVMe SSD(每个1.7T)组成了一个名为data_lv的LVM卷组,并创建了一个名为data_lv_vg的逻辑卷,总容量约7T

root@no-use:/# lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                    8:0    0 446.1G  0 disk
├─sda1                 8:1    0   446G  0 part /
└─sda2                 8:2    0    64M  0 part
nvme0n1              259:0    0   1.7T  0 disk
└─data_lv-data_lv_vg 253:0    0     7T  0 lvm
nvme1n1              259:1    0   1.7T  0 disk
└─data_lv-data_lv_vg 253:0    0     7T  0 lvm
nvme2n1              259:2    0   1.7T  0 disk
└─data_lv-data_lv_vg 253:0    0     7T  0 lvm
nvme3n1              259:3    0   1.7T  0 disk
└─data_lv-data_lv_vg 253:0    0     7T  0 lvm

情况一:将逻辑卷挂载到/data(使用全部7T空间)

步骤1:检查逻辑卷状态

# 查看逻辑卷详细信息
lvdisplay /dev/data_lv/data_lv_vg

# 检查是否有文件系统
blkid /dev/data_lv/data_lv_vg

步骤2:如果逻辑卷没有文件系统,需要创建文件系统

# 创建ext4文件系统(根据需求选择)
mkfs.ext4 /dev/data_lv/data_lv_vg

# 或者创建xfs文件系统
mkfs.xfs /dev/data_lv/data_lv_vg

步骤3:创建/data目录并挂载

# 创建挂载点
mkdir -p /data

# 临时挂载
mount /dev/data_lv/data_lv_vg /data

# 验证挂载
df -h /data


步骤4:配置开机自动挂载

image

# 获取逻辑卷的UUID
blkid /dev/data_lv/data_lv_vg

#方式一: 编辑/etc/fstab文件,添加以下行(使用UUID更安全)
vim /etc/fstab

# 添加类似内容(替换为您的UUID):
UUID=GY2rX1-MRMd-cNTz-AzAQ-6Z0Y-9488-3Qp8oF /data ext4 defaults 0 0
# 或者使用设备路径(但UUID更稳定):
/dev/data_lv/data_lv_vg /data ext4 defaults 0 0


步骤5:卸载挂载

# 首先卸载(如果已挂载)
umount /data

方法1:查看哪个进程正在使用
# 查看哪个进程占用了 /data
lsof +f -- /data
# 或
fuser -vm /data

方法2:强制卸载
# 使用懒卸载(lazy unmount),断开文件系统但保持已打开的文件可访问
umount -l /data
# 或强制卸载(更强制的方式)
umount -f /data

方法3:更详细的检查
# 查看挂载点的详细信息
mount | grep /data
# 查看是否有进程在 /data 目录下
ps aux | grep /data
# 查看当前工作目录在 /data 的进程
lsof | grep /data


方法4:如果只是终端当前在 /data 目录
# 切换到其他目录
cd /
# 然后再尝试卸载
umount /data


方法5:使用 fuser 终止进程
# 查看占用进程
fuser -m /data

# 终止所有使用 /data 的进程(谨慎使用)
fuser -km /data
# 然后再卸载
umount /data

情况二:将部分空间分配给/data

步骤1:检查当前LVM配置

# 查看逻辑卷详细信息
lvdisplay /dev/data_lv/data_lv_vg

# 查看卷组详细信息
vgdisplay data_lv_vg

# 查看物理卷信息
pvdisplay

步骤1:缩小逻辑卷(如果已存在数据,需要先备份!)

# 首先卸载(如果已挂载)
umount /data
umount /dev/data_lv/data_lv_vg 
# 检查文件系统(假设是ext4)
e2fsck -f /dev/data_lv/data_lv_vg

# 从当前data_lv_vg中缩减空间,缩小文件系统(例如缩小到2T)
resize2fs /dev/data_lv/data_lv_vg 2T           #减少2TB

# 从当前空间缩小逻辑卷(与文件系统大小一致)
lvreduce -L 2T /dev/data_lv/data_lv_vg

#确认
lvdisplay /dev/data_lv/data_lv_vg

步骤2:创建新的逻辑卷给/data

#查看当前逻辑卷的名称
lvdisplay

# 查看剩余空间 vgdisplay data_lv # 创建新逻辑卷(例如分配1T给

/data) lvcreate -L 1T -n data_part data_lv # 或者使用剩余空间的50% lvcreate -l 50%FREE -n data_part data_lv

# 查看新建的逻辑卷
lvdisplay /dev/data_lv_vg/data_part

步骤3:格式化并挂载新逻辑卷

# 创建文件系统
mkfs.ext4 /dev/data_lv/data_part

# 挂载
mkdir -p /data
mount /dev/data_lv/data_part /data

# 添加到fstab
echo "/dev/data_lv/data_part /data ext4 defaults 0 0" >> /etc/fstab

步骤4:验证配置

# 验证挂载
df -h /data

# 验证fstab配置
mount -a

# 检查逻辑卷状态
lvs
vgs

二、将同一磁盘LVM(逻辑卷管理)扩容到根目录/

系统使用 LVM(逻辑卷管理),需要将 /dev/sda3 的剩余空间扩展到根目录 /

image

步骤 1: 确认当前磁盘和文件系统状态

首先,让我们确认当前的磁盘布局和文件系统类型:

# 查看块设备及其分区结构
lsblk
# 显示更详细信息(文件系统类型、UUID等)
lsblk -f
# 显示设备大小
lsblk -b   # 字节
lsblk -h   # 人类可读格式(GB、MB)
# 显示所有设备(包括空设备)
lsblk -a
# 显示设备拓扑和依赖关系
lsblk -t
# 查看指定磁盘剩余空间
lsblk /dev/sda
#==============================================================

# 查看磁盘分区情况
sudo fdisk -l /dev/sda

# 查看物理卷(PV)信息
sudo pvdisplay

# 查看卷组(VG)信息
sudo vgdisplay

# 查看逻辑卷(LV)信息
sudo lvdisplay

# 查看文件系统类型和挂载情况
df -hT

步骤 2: 扩展分区(如果需要)

image

运行 fdisk -l /dev/sda,查看分区表及总大小,确认是否有未分配空间。

若发现 /dev/sda3 分区没有占用所有可用空间(如果还有未分配空间),需要先扩展分区:

# 使用 parted 工具调整分区大小
sudo parted /dev/sda

在 parted 交互界面中:

  1. 输入 print 查看当前分区表

  2. 输入 resizepart 3选择调整第3个分区

  3. 当询问结束位置时,输入 100% 或具体大小(如 6.5TB

  4. 输入 quit 退出

(parted) resizepart 3 100%

步骤 3: 扩展物理卷(PV)

# 重新读取分区表(无需重启)
sudo partprobe /dev/sda

# 扩展物理卷
sudo pvresize /dev/sda3

# 验证物理卷大小
sudo pvdisplay

若/dev/sda3分区已经占了所有可用空间,忽略2、3步骤,直接执行第4步

步骤 4: 扩展逻辑卷(LV)

# 查看可用的空闲空间
sudo vgdisplay

# 扩展逻辑卷(使用所有可用空间)
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
  • -l +100%FREE: 表示使用卷组中 100% 的空闲空间。

  • /dev/ubuntu-vg/ubuntu-lv: 替换为你的实际 LV 路径。

#指定扩容空间大小
sudo lvextend -L +2T /dev/ubuntu-vg/ubuntu-lv
  • -L +2T: 表示增加 2TiB 的空间。注意 + 号表示“增加”,没有 + 号则表示“设置为”。

# 验证逻辑卷大小
sudo lvdisplay

步骤 5: 扩展文件系统

根据您的文件系统类型选择相应命令:

#如果是 ext4 文件系统:
# 调整文件系统大小
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

如果是 xfs 文件系统:
# 调整文件系统大小
sudo xfs_growfs /

步骤 6: 验证扩容结果

# 检查文件系统大小
df -h

# 检查逻辑卷状态
sudo lvdisplay

# 检查卷组状态
sudo vgdisplay

步骤 7: 故障排除

# 检查文件系统错误(ext4)
sudo e2fsck -f /dev/ubuntu-vg/ubuntu-lv

# 强制检查并修复文件系统
sudo fsck -y /dev/ubuntu-vg/ubuntu-lv

三、将普通磁盘挂载到/data

普通磁盘sda信息。


[root@centos7 /]# lsblk

NAME            MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda               8:0    0   8G  0 disk
sdb               8:16   0  50G  0 disk
├─sdb1            8:17   0   1G  0 part /boot
└─sdb2            8:18   0  49G  0 part
  ├─centos-root 253:0    0  47G  0 lvm  /
  └─centos-swap 253:1    0   2G  0 lvm  [SWAP]。把sba挂载到/data

根据您的需求,需要将 sda 磁盘挂载到 /data 目录。以下是详细步骤:

1. 创建分区(如果 sda 还没有分区)

# 查看当前磁盘分区情况
fdisk -l /dev/sda

# 如果 sda 没有分区,创建新分区
fdisk /dev/sda

方式一:将 sda 磁盘中的 8GB 挂载到 /data

在 fdisk 中按顺序执行:

输入 n 创建新分区
选择 p 主分区
分区号默认 1
起始扇区默认
结束扇区默认(使用整个磁盘)
输入 w 保存并退出

方式二:将 sda 磁盘中的 4GB 挂载到 /data,剩余空间保留

在 fdisk 中按顺序执行:

n      # 创建新分区
p      # 主分区
1      # 分区号(第一个分区)
回车    # 起始扇区默认(从开始)
+4G    # 大小为 4GB(输入 +4G)
w      # 保存并退出

验证分区创建:

# 重新读取分区表
partprobe /dev/sda

# 查看分区表
fdisk -l /dev/sda
# 应该看到 sda1 分区,大小为 4GB或8GB

2. 格式化分区

# 格式化分区为 ext4 文件系统(也可以选择 xfs)
mkfs.ext4 /dev/sda1

# 或使用 xfs
# mkfs.xfs /dev/sda1

3. 创建挂载点,临时挂载

# 创建 /data 目录
mkdir -p /data

# 挂载分区到 /data
mount /dev/sda1 /data

# 检查是否挂载成功
df -h /data
lsblk

4. 配置永久挂载

# 获取分区的 UUID(推荐使用 UUID 挂载,更稳定)
blkid /dev/sda1

# 编辑 /etc/fstab 文件
vim /etc/fstab

在 /etc/fstab 末尾添加一行(根据实际情况选择):

# 使用 UUID(推荐)
UUID=你的sda1的UUID /data ext4 defaults 0 0

# 或使用设备名(不推荐,设备名可能变化)
# /dev/sda1 /data ext4 defaults 0 0

fstab 各字段说明:

  • 第1列:设备(UUID或设备路径)

  • 第2列:挂载点

  • 第3列:文件系统类型

  • 第4列:挂载选项(defaults表示默认)

  • 第5列:dump备份标志(0表示不备份)

  • 第6列:fsck检查顺序(0表示不检查

5. 测试并应用配置

# 测试 fstab 配置是否正确(不实际挂载)
mount -a

# 验证挂载
df -h
lsblk

6. 验证剩余空间

# 查看磁盘剩余空间
fdisk -l /dev/sda
# 输出中会显示:
# /dev/sda1 大小为 4GB
# 磁盘总大小 8GB,应该有约 4GB 未分配空间

# 或者使用 parted
parted /dev/sda print free
# 会显示已分配和未分配的空间

7. 剩余空间处理选项

选项 A:创建第二个分区

fdisk /dev/sda
# 按顺序:
# n  # 新建分区
# p  # 主分区
# 2  # 第二个分区
# 回车 # 使用默认起始位置
# 回车 # 使用所有剩余空间
# w  # 保存

# 然后格式化
mkfs.ext4 /dev/sda2

# 可以挂载到其他目录
mkdir /data2
mount /dev/sda2 /data2

选项 B:剩余空间扩容到/dev/sda1

方式一:删除并重新创建分区

重要:先备份数据,删除分区会丢失分区表信息,但不影响数据,只要不格式化。

在 fdisk 中按顺序执行:

p      # 打印当前分区表,记录sda1的起始扇区
d      # 删除分区
1      # 删除分区1
n      # 创建新分区
p      # 主分区
1      # 分区号1
回车    # 使用相同的起始扇区(必须与原来相同!)
回车    # 使用默认结束扇区(使用所有剩余空间)
w      # 保存并退出

检查分区表

# 重新读取分区表
partprobe /dev/sda

# 查看新分区表
fdisk -l /dev/sda
# 现在应该看到sda1大小为整个8GB磁盘

检查和修复文件系统

# 检查文件系统(ext4)
e2fsck -f /dev/sda1

# 如果是xfs文件系统,使用:
# xfs_repair /dev/sda1

扩展文件系统

(一)如果是 ext4 文件系统:
# 调整文件系统大小以填充整个分区
resize2fs /dev/sda1

# 或者指定具体大小(可选)
# resize2fs /dev/sda1 8G

(二)如果是 xfs 文件系统:
# 先挂载分区
mount /dev/sda1 /data

# 扩展xfs文件系统
xfs_growfs /dev/sda1
# 或
# xfs_growfs /data


(三)重新挂载分区(如果是ext4)
# 对于ext4,如果之前卸载了,现在重新挂载
mount /dev/sda1 /data

# 对于xfs,如果已经挂载了,跳过这一步

方式二:使用 parted(更安全)进行分区扩容

如果担心fdisk操作风险,可以使用parted:

# 安装parted(如果未安装)
yum install parted -y

# 查看分区信息
parted /dev/sda print

# 调整分区大小
parted /dev/sda
# 在parted交互界面:
# select /dev/sda
# resizepart 1
# Yes
# 100%
# quit

第一步:使用 parted 扩容分区

请严格按照以下顺序执行命令:
# 1. 启动 parted,操作磁盘 /dev/sda
parted /dev/sda

进入 parted 的交互模式后,你会看到提示符变为 (parted)。依次输入以下命令:
# 2. 查看当前分区表,确认分区编号和空闲空间
(parted) print free

这个命令的输出至关重要。它会显示类似下面的信息:
型号:Virtio Block Device (virtblk)
磁盘 /dev/sda: 107GB
扇区大小 (逻辑/物理):512B/512B
分区表:msdos
数字  开始: 结束    大小   类型     文件系统  标志
 1    1049kB  40GB   40GB   primary  ext4      boot
       40GB   107GB  67GB            Free Space

请记下:
你要扩容的分区号(例如 1)。
是否有 Free Space(空闲空间),且是否紧挨在你目标分区的后面。

# 3. 执行扩容。将分区 1 的结束位置调整为磁盘的 100%(使用所有空闲空间)
#    注意:这里的 `1` 必须替换成你上一步看到的分区编号
(parted) resizepart 1 100%


# 4. 再次检查,确认分区结束位置已变为磁盘最大容量
(parted) print
# 5. 退出 parted
(parted) quit

第二步:扩容文件系统

# 检查文件系统(ext4)
e2fsck -f /dev/sda1
情况A:最常见的 ext2/ext3/ext4 文件系统
# 检查文件系统类型(通常是 ext4)
blkid /dev/sda1
# 如果是 ext2/3/4,使用 resize2fs
resize2fs /dev/sda1


情况B:XFS 文件系统
# 如果是 XFS,使用 xfs_growfs
xfs_growfs /dev/sda1

四、磁盘LVM分区

sda磁盘进行LVM分区并挂载到/data目录。以下是具体步骤:

[root@centos7 /]# lsblk
NAME            MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda               8:0    0   8G  0 disk
sdb               8:16   0  50G  0 disk
├─sdb1            8:17   0   1G  0 part /boot
└─sdb2            8:18   0  49G  0 part
  ├─centos-root 253:0    0  47G  0 lvm  /
  └─centos-swap 253:1    0   2G  0 lvm  [SWAP]

步骤1:创建LVM物理卷

# 创建物理卷
pvcreate /dev/sda

# 查看物理卷信息
pvdisplay

步骤2:创建卷组

# 创建卷组,命名为vg_data
vgcreate vg_data /dev/sda

# 查看卷组信息
vgdisplay

步骤3:创建逻辑卷

# 创建逻辑卷,使用全部空间,命名为lv_data
lvcreate -l 100%FREE -n lv_data vg_data

#将4g空间分配lv_data
lvcreate -l 50%FREE -n lv_data vg_data

#指定4G空间大小 lvcreate
-L 4G -n lv_data vg_data # 查看逻辑卷信息 lvdisplay

步骤4:格式化逻辑卷

# 或者使用ext4文件系统(如果您更熟悉)
mkfs.ext4 /dev/vg_data/lv_data

# 格式化逻辑卷为xfs文件系统(CentOS 7推荐使用xfs)
mkfs.xfs /dev/vg_data/lv_data

步骤5:创建挂载点并挂载

# 创建/data目录
mkdir -p /data

# 临时挂载
mount /dev/vg_data/lv_data /data

# 查看挂载情况
df -h

步骤6:配置开机自动挂载

# 获取文件系统的UUID(可选但推荐)
blkid /dev/vg_data/lv_data

# 编辑/etc/fstab文件
vi /etc/fstab


在/etc/fstab文件中添加以下行(选择一种方式):
方式1:使用设备路径(较简单)
/dev/vg_data/lv_data /data xfs defaults 0 0

方式2:使用UUID(更稳定)
UUID=<这里填写blkid命令显示的UUID> /data xfs defaults 0 0

步骤7:验证安装

# 测试fstab配置
mount -a

# 检查是否挂载成功
df -h /data


# 查看所有LVM组件
pvs
vgs
lvs

# 查看挂载信息
lsblk
df -h

步骤8:将剩余空间扩容到/dev/vg_data/lv_data

(一)扩展逻辑卷(LV)
# 查看可用的空闲空间
sudo vgdisplay

# 扩展逻辑卷(使用所有可用空间)
sudo lvextend -l +100%FREE /dev/vg_data/lv_data
  -l +100%FREE: 表示使用卷组中 100% 的空闲空间。
  /dev/vg_data/lv_data: 替换为你的实际 LV 路径。

#指定扩容空间大小
sudo lvextend -L +4G /dev/vg_data/lv_data
-L +4g: 表示增加 4giB 的空间。注意 + 号表示“增加”,没有 + 号则表示“设置为”。

# 验证逻辑卷大小
sudo lvdisplay


 (二)扩展文件系统
根据您的文件系统类型选择相应命令:
#如果是 ext4 文件系统:
# 调整文件系统大小
sudo resize2fs /dev/vg_data/lv_data

如果是 xfs 文件系统:
# 调整文件系统大小
sudo xfs_growfs /

步骤9:删除LVM分区

方法1:卸载文件系统删除整个LVM结构

步骤1:卸载文件系统
# 先卸载挂载点
umount /data

# 如果卸载失败(设备忙),可以查看哪个进程在使用
lsof /data
# 或
fuser -m /data

# 强制卸载(谨慎使用)
umount -f /data

步骤2:删除逻辑卷
# 删除逻辑卷(这会删除所有数据!)
lvremove /dev/vg_data/lv_data

# 或强制删除
lvremove -f /dev/vg_data/lv_data

步骤3:删除卷组
# 删除卷组
vgremove vg_data

步骤4:删除物理卷
# 删除物理卷
pvremove /dev/sda


步骤5:清理fstab配置
# 编辑fstab文件,删除/data的挂载行
vi /etc/fstab

# 或者使用sed删除包含/data的行
sed -i '/\/data/d' /etc/fstab

步骤6:删除挂载点(可选)
# 删除空目录
rmdir /data

方法2:重置磁盘为普通磁盘(清除所有LVM签名)

如果想彻底清除LVM信息,恢复磁盘为原始状态:

# 1. 卸载并删除LVM
umount /data
lvremove -f /dev/vg_data/lv_data
vgremove vg_data
pvremove /dev/sda

# 2. 清除磁盘的LVM签名
wipefs -a /dev/sda

# 3. 清除分区表(如果需要完全重置)
dd if=/dev/zero of=/dev/sda bs=512 count=1

# 4. 或者使用parted清除
parted /dev/sda mklabel gpt

验证删除结果
# 检查LVM状态
pvs     # 应该看不到/dev/sda
vgs     # 应该看不到vg_data
lvs     # 应该看不到lv_data

# 检查挂载
df -h   # 应该看不到/data挂载

# 检查磁盘状态
lsblk