本文以Ubuntu 22.04.4服务器版为例子
以VMware Workstation来实践操作,VM虚拟机下载地址:Search Results (vmware.com)
用到连接SSH的软件是FinalShell:FinalShell官网 (hostbuf.com)
安装虚拟机跟系统这些就不多说了,只要记得新装的系统记得装上openssh软件(这个在装系统的时候会有提示让你装)
下面直接进入正题
检查现有硬盘情况
输入以下命令进行查看:
lsblk
这上面有很多信息,咱们只要看我们的需要的内容就好了
上面显示的 sda 有15G容量,便是我现在的用虚拟机分配给这个系统的硬盘
找到 ubuntu–vg-ubuntu–lv 后面所对应的目录是个斜杠 / 便是我们现在需要扩容的根目录
我们也可以看到FinalShell展示的信息:
当然这里显示的信息会与命令输出的稍有偏差,把这里的大小加起来也大差不差了
插硬盘!
现在我们打开虚拟机,编辑当前虚拟机设置,进行添加硬盘
这里我们选择SCSI(当然也可以选择SATA,不过还是推荐用SCSI)
创建新虚拟磁盘即可
我就给它25G,直接下一步即可
后面就直接完成,然后记得点确定,就不展示了。添加完成后虚拟机会多一个硬盘出来
重新扫描硬盘
如果上面你是添加的SCSI硬盘,就使用下面这条命令进行扫描SCSI总线
echo "- - -" | sudo tee /sys/class/scsi_host/host*/scan
如果你是添加的SATA硬盘,就用这条命令重新扫描SATA总线:
echo 1 | sudo tee /sys/class/scsi_device/device/rescan
我们按照上面的命令输入后不会返回内容(就只会输出– – –)
现在我们来查看可用磁盘及分区
lsblk
lsblk -f
如图所示,已经识别到新增加的25G的硬盘了 图中 sdb 为我们刚添加的硬盘名 注意一下需要扩容的文件系统类型是 ext4 还是 xfs
创建物理卷
现在我们来创建物理卷,将硬盘设置为物理卷
命令写法:pvcreate /dev/<硬盘名/分区名>
sudo pvcreate /dev/sdb
这样就成功创建了
将物理卷添加至卷组
首先获取逻辑卷组名称(VG Name)与逻辑卷路径(LV Path)
sudo lvdisplay
需要注意图上标记的内容
然后将刚刚我们创建的物理卷添加至逻辑卷组
命令写法:vgextend <目标逻辑卷卷组名称(VG Name)> /dev/<硬盘名/分区名>
sudo vgextend ubuntu-vg /dev/sdb
扩展逻辑卷
做完以上这些,这个时候新硬盘空间是还没有分配过来的,我们输入以下命令:
命令写法:sudo lvextend -l +100%FREE <目标逻辑卷路径(LV Path)>
+100%FREE的意思是全部扩展过来
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
调整文件系统大小
最后一步,上面我们知道了对应的文件系统类型为 ext4
输入以下命令来调整 ext4 类型的文件系统大小:
命令写法:sudo resize2fs <目标逻辑卷路径(LV Path)>
这条命令如果不带参数则自动调整为最大
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
如果是xfs类型的文件系统
命令写法:sudo xfs_growfs <目标逻辑卷路径(LV Path)>
现在我们输入本文最开始的命令来查看现在的磁盘容量:lsblk
我们可以看到我们的新硬盘容量已经被分配到对应文件系统了,也就是我们的系统根目录 / 下
在FinalShell中我们也可以看到有变化:
(ps:话说这工具显示的信息还是有一点点误差,不过也大差不差了)
(ps:还有,重启这个容量还是会在的,不是临时的)