磁盘挂载
一、将新数据盘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:配置开机自动挂载

# 获取逻辑卷的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 的剩余空间扩展到根目录 /。

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

运行 fdisk -l /dev/sda,查看分区表及总大小,确认是否有未分配空间。
若发现 /dev/sda3 分区没有占用所有可用空间(如果还有未分配空间),需要先扩展分区:
# 使用 parted 工具调整分区大小
sudo parted /dev/sda
在 parted 交互界面中:
-
输入
print查看当前分区表 -
输入
resizepart 3选择调整第3个分区 -
当询问结束位置时,输入
100%或具体大小(如6.5TB) -
输入
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
fdisk /dev/sda
在 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
浙公网安备 33010602011771号