问题背景

idea_remote_error

我在尝试运行某个古老的 JSP 项目时,想尝试配置下 IDEA 的 Remote 模式。但是竟然报错:

4GB of free space is necessary for installation. Either free up enough space, or use installation options to change the installation location.

这让我非常困惑。因为我在研究这个问题时,已经将磁盘空间从20G调整为200G了呀。

呀呀呀。定位问题的过程。不过我现在没有太多时间来仔细记录和回顾。我直接说结论吧。结论就是:我确实给 Linux虚拟机增加了磁盘空间,但是没有进一步修改Linux系统分区的空间。结果就是:对于Linux系统来说,多出了一部分闲置的物理空间,但是它并不能直接直接使用它。这有点像我们给系统增加了一块大的SSD,但是没有初始化,导致系统不确定要如何使用这块区域,所以就闲置了。

给 VirutualBox 里的 Ubuntu Server 扩展磁盘的方法

df_h

定位问题,受到了这个问答的启发:VirtualBox virtual drive actual size not increasing

1.在宿主机器扩展硬盘空间。

请参考这个回答:How do I increase the hard disk size of the virtual machine?

这一步,我很早就做过了。

注意:稳妥起见,请务必先给要操作的虚拟磁盘备份。

2.在 Linux 虚拟机里,进一步给分区扩展空间

主要参考这篇文章: How to Extend the Default Ubuntu LVM Partition。建议从 Use Space from Extended Physical (or Virtual) Disk 这里开始往下看。

因为文章后半段缺少 关键shell命令的高亮,并且有1处关键命令拼写错误,所以我概要记录下我的实际操作.

2.1 使用 cfdisk 命令,给扩展 /dev/sda3 Partition 分区扩展空间.

cfdisk_ui

sudo cfdisk

注意: resize 之后,要继续 write,否则不会生效。

2.2 使用 pvresize 命令,扩展 PV.

pv

# 扩展
sudo pvresize /dev/sda3

# 查看
sudo pvdisplay

2.3 使用 lvextend 扩展 LV

lv

# 查看你 LV 的路径
sudo lvdisplay 

# 扩展 LV
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv 

2.4 使用 resize2fs 扩展 File System

resize2fs

注意: 原始博客中给出的路径是 错误 的。实际路径请以自己系统中 df -h 中显示的路径为准。

# 查看路径地址
df -h

# 扩展空间
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

3.概要总结

blog_preview

借用博客中的一张图,我来总结下问题:

  • 操作系统实际判断空间大小是基于 File Systems 这一层的大小来判断的。
  • 为了增大 File Systems, 需要先依次增大 PartitionPVVGLV
  • PV 增大后,VG 会自动变大。

其他补充:

  • JSP:本质上是一个 MVC 框架。JSP 相当于 View, Java 部分相当于 Controller。有点古老了。本身倒是不难, 但是 VSCode 对它的支持不好,并且我这次拿到的 JSP 代码是基于 IDEA 编辑器配置的,所以才来折腾 IDEA。

  • 关于 jetbrains gateway:这次真的是从入门到放弃。它对标的应该是 VSCode 的 remote dev 功能。但是真心不好用。我搞不懂,为什么连最基本的 本地文件拖拽到远端目录,这样最常用的功能,搞了几年都不打算支持。本来想凑合下,想用来写写博客,结果发现预览时,竟然不支持 webp 图片。我有点怀疑,他们的开发团队,是不是现在只专注开发 IDE 本身,已经没有在更真实的开发环境中使用自家的 IDE 了。放弃了。不想折腾了。如果我必须给 VSCode 或 Jetbrains 中的一家支付订阅费,现在我肯定选 VSCode。Jetbrains 对待 “本地文件拖拽” 这么常用的功能支持的意向度,又激起了我被闭源软件支配的应激反应。相关讨论,参见:Provide a way to download/upload files to the remote environment

相关推荐: