磁盘挂载

一、将新数据盘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

# 检查文件系统类型
file -sL /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

# 查看当前挂载情况
mount | grep data_lv
lsblk
# 查看LVM状态
pvdisplay
vgdisplay
lvdisplay

步骤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

# 方式二:永久挂载(编辑 /etc/fstab)
echo "/dev/mapper/data_lv-data_lv_vg /data ext4 defaults 0 0" >> /etc/fstab
# 验证fstab配置
mount -a

步骤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: 扩展分区(如果需要)

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

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

在 parted 交互界面中:

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

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

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

  4. 输入 quit 退出

sudo parted /dev/sda resizepart 3 100%

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

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

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

# 验证物理卷大小
sudo pvdisplay

若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

 

posted on 2025-12-22 11:15  uestc2007  阅读(0)  评论(0)    收藏  举报

导航