yipinrfr 2025-04-09 14:32 采纳率: 0%
浏览 42

RHEL7.9 扩充失败Can't open /dev/sda3 exclusively. Mounted filesystem?

环境rhel 7.9,想对原有磁盘分区sda3扩充容量,新增磁盘sdb并创建分区sdb1 20G,如何让新建的分区扩充到sda3中,谢谢!

尝试创建PV: pvcreate /dev/sdb1
VG:vgcreate vg_name /dev/sdb1
执行命令 vgextend vg_name /dev/sda3 报错
Can't open /dev/sda3 exclusively. Mounted filesystem?

img


img



补充说明:开始执行vgdisplay显示为空,所以才执行vgcreate vg_name /dev/sdb1创建了一个卷组,再执行命令 vgextend vg_name /dev/sda3 报错
Can't open /dev/sda3 exclusively. Mounted filesystem?

img

  • 写回答

4条回答 默认 最新

  • 紫雾凌寒 新星创作者: 人工智能技术领域 2025-04-09 14:39
    关注

    让 “紫雾凌寒” 来帮你回答,本回答结合 DeepSeek

    如果还有问题,请评论或点击头像私信,如果有帮助到您, 请关注、采纳、点赞

    1. 问题关键点分析
      - 尝试扩充磁盘分区时遇到错误Can't open /dev/sda3 exclusively. Mounted filesystem?,这表明可能/dev/sda3正在被其他进程使用,比如被挂载为文件系统。
      - 要将新创建的/dev/sdb1分区扩充到/dev/sda3,需要进行一系列的LVM(逻辑卷管理)操作。
    2. 解决方案
      - 步骤一:卸载相关分区
      首先要确保/dev/sda3没有被挂载。使用df -h命令查看当前挂载情况,找到挂载/dev/sda3的挂载点,比如/mnt/data。然后使用umount /mnt/data命令卸载它。
      - 步骤二:创建物理卷(PV)
      已经尝试过pvcreate /dev/sdb1,这一步是正确的,它将/dev/sdb1初始化为物理卷。
      - 步骤三:创建卷组(VG)
      假设原来的卷组名为vg0(如果没有可以创建新的),使用vgextend vg0 /dev/sdb1命令将新的物理卷/dev/sdb1添加到卷组vg0中。
      - 步骤四:扩展逻辑卷(LV)
      假设原来的逻辑卷名为lv0(对应/dev/sda3),使用lvextend -l +100%FREE /dev/vg0/lv0命令扩展逻辑卷lv0,使其使用卷组vg0中的所有剩余空间。这里假设lv0是对应/dev/sda3的逻辑卷,具体名称要根据实际情况修改。
      - 步骤五:调整文件系统大小
      如果/dev/sda3对应的文件系统是ext4(常见情况),使用resize2fs /dev/vg0/lv0命令调整文件系统大小,使其与扩展后的逻辑卷大小匹配。
    3. 多种解决方案优缺点
      - 此方案
      • 优点:标准的LVM操作流程,适用于大多数Linux系统,能够灵活地管理磁盘空间,并且操作步骤清晰,容易理解和掌握。
      • 缺点:如果对LVM操作不熟悉,可能会因为命令输入错误导致数据丢失等问题。
    4. 总结
      通过先卸载相关分区,再将新的物理卷添加到卷组,扩展逻辑卷并调整文件系统大小这一系列LVM操作,可以实现将新创建的分区/dev/sdb1扩充到/dev/sda3所在的逻辑卷中,从而增加/dev/sda3的可用空间。

    请注意,在进行这些操作之前,一定要备份好重要数据,避免因操作失误导致数据丢失。

    希望以上解答对您有所帮助。如果您有任何疑问,欢迎在评论区提出。

    评论

报告相同问题?

问题事件

  • 修改了问题 4月9日
  • 创建了问题 4月9日