umount /dev/mapper/nvmeVg-home
umount: /home: target is busy
我在看这回答并发现这个有用的页面 在在这里发帖之前我无法解决我的问题。
我的/var
目录已满。/var
位于 lvm 上。昨晚我去加大尺寸,结果在应该哎呀的时候/var
不小心执行了。lvextend -L+50G /dev/mapper/nvmeVg-home
lvextend -L +50G dev/mapper/nvmeVg-var
所以没什么大不了的吧?lvextend -L-50G /dev/mapper/nvmeVg-home
结果是
Size may not be negative. Invalid argument for --size: -50G. Error during parsing of command line:
所以我想缩小非根卷我必须先卸载设备。当然没问题:/umount /dev/mapper/nvmeVg-home
结果是
umount: /home: target is busy
所以我lsof /dev/mapper/nvmeVg-home
得到了很多输出。因此,如果我因为 /home 有文件正在使用而无法卸载,那么我尝试lsof | grep /dev/mapper/nvme
返回任何内容。我期望看到打开的文件总数。然后我尝试/lsof +f -- /dev/mapper/nvmeVg-home
返回很多当前正在使用的文件。美好的。然后我注意到 /home 已安装到多个卷组?(术语仍不确定)。这很奇怪。看起来不太对劲。这可能是我的问题中的第二个问题吗?
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 953M 0 part
├─nvme0n1p2 259:2 0 46.6G 0 part
│ └─nvmeVg-var 253:2 0 50G 0 lvm /var
├─nvme0n1p3 259:3 0 46.6G 0 part
│ ├─nvmeVg-var 253:2 0 50G 0 lvm /var
│ ├─nvmeVg-home 253:3 0 150G 0 lvm /home
│ └─nvmeVg-root 253:4 0 100G 0 lvm
├─nvme0n1p4 259:4 0 46.6G 0 part
│ └─nvmeVg-home 253:3 0 150G 0 lvm /home
├─nvme0n1p5 259:5 0 46.6G 0 part
│ └─nvmeVg-home 253:3 0 150G 0 lvm /home
├─nvme0n1p6 259:6 0 46.6G 0 part
│ └─nvmeVg-root 253:4 0 100G 0 lvm
├─nvme0n1p7 259:7 0 46.6G 0 part
│ └─nvmeVg-root 253:4 0 100G 0 lvm
├─nvme0n1p8 259:8 0 46.6G 0 part
│ └─nvmeVg-home 253:3 0 150G 0 lvm /home
├─nvme0n1p9 259:9 0 46.6G 0 part
├─nvme0n1p10 259:10 0 46.6G 0 part
├─nvme0n1p11 259:11 0 46.6G 0 part
└─nvme0n1p12 259:12 0 1G 0 part
我觉得此时暂停并寻求帮助是明智的。
答案1
您很可能以普通用户身份登录系统。当普通用户登录时,他们会占用/home
其主目录路径的一部分。
您必须登录才能root
卸载/home
。用户root
帐户的主目录为 ,/root
因此不受 影响/home
。在尝试卸载之前,还要确保没有其他常规用户登录/home
然后使用lvresize
命令:
lvresize -r -L -50G /dev/mapper/nvmeVg-home
解释:
lvresize 命令将执行四件事:
- 卸载分区
/dev/mapper/nvmeVg-home
- 从 LV 中扣除 50GB 磁盘空间,该空间将记入 VG (-L -50G)
- 通过调用 resizefs (-r) 检查文件系统
- 然后重新挂载分区
/dev/mapper/nvmeVg-home