这里发现一个很坑的问题,欧拉系统在系统分区之后,额外划过去的硬盘本来想扩容到根目录的,结果倒腾了好久,发现这玩意好像不行,不能扩容到根目录,这里只能先给挂载到 /data
目录下了。
在搜了很多资料之后发现,虚拟机里面的 Linux 系统正常会有一个默认卷组 centos
,后面扩容的时候,默认都是在这个硬盘下面扩容的。比如 ESXi 里面新建的虚拟机系统,后面再扩容的时候,没处理之前,使用 df -h
是看不到新增加的硬盘容量的,但是 使用 lsblk
命令,却可以看到,新增加的硬盘容量,是跟当前分区是在同一个维度的。
这里贴一台虚拟机上面的硬盘使用情况:
可以看到,最上层是 sda
,其他分区都是基于这个往下延伸的。这里如果在 ESXI 后台扩容了硬盘,也最多会出现一个 sda3
这样可以直接扩容到 根目录下,因为他们其实还是属于同一块磁盘的。
但是现在客户环境的欧拉系统却是这样:
原系统硬盘是 40G,后面新扩容了 500G,却是 vdb,一块新的独立的硬盘空间。
不知道是我技术太渣的问题,还是这玩意本来就不支持把 vdb 的容量直接扩容到 vda 下面的根目录下。
在折腾了几天之后,我躺平了,不扩容到根目录了,直接挂载到 /data 下面用。
这里先使用命令 vgdisplay
看下 是不存在卷组的:
如果不存在 pvdisplay
命令 则安装下
yum install -y lvm2 --releasever=7
可以看到,这里什么都没有。
接着新建磁盘分区:fdisk /dev/vdb
这里根据实际情况选择新的磁盘名称即可,从 lsblk
命令里面可以看到,我这里是 /dev/vdb
输入 m
可以看到说明列表:
接着输入 n
新建分区
接着输入 p
选择主分区,默认也可,后面可以直接回车,等提示新建分区成功后,最后输入 w
写入分区表。
此时再用 lsblk 命令查看,可以看到 已经多了一块 vdb1
的磁盘分区了。
这时直接挂载还是会失败的,会提示 mount:/data: unknown filesystem type
接着格式化分区。
最后挂载到 /data
下面,这里需要注意一点,如果挂在前 /data 目录下面有文件,这里需要先备份下,否则挂载之后,文件内容就找不到了,应该是被隐藏了。
这里对比下挂载前后的文件夹内容,挂载前有个 logs 文件夹,挂载后 只有 lost+found 文件夹了,卸载挂载之后,文件又回来了。
接着重启下,看下挂载的 /data 还在不在。
果然 重启之后,挂载的硬盘又不显示了。然后查了下还需要一步,将挂载的信息,写入到/etc/fstab
文件中:
echo '/dev/vdb1 /data ext4 defaults 0 0' >> /etc/fstab
这里根据实际情况配置,我这里磁盘分区为 /dev/vdb1
挂载的路径为: /data
磁盘格式为:ext4
再次重启测试,挂载的硬盘还在。