【启动openGauss出现No space left on device问题解决方法】

No space left on device问题解决方法

Oracle VM VirtualBox 6.1.32安装了openEuler-20.03-LTS-x86_64-dvd,设置openEuler占有硬盘虚拟空间10G,然后继续安装了openGauss2.1.0,在使用过程中用户日志和数据库数据逐渐增多,待后来执行数据库服务启动时,即:gs_om -t start,出现如下类似问题。

[omm@db1 ~]$ gs_om -t start
[GAUSS-50205] : Failed to write log file /var/log/gaussdb/omm/om/gs_om-2022-02-08_101000.log. Error:
[Errno 28] No space left on device

1、故障分析

根据报错信息“No space left on device”,可以用df -i显示inode信息

[omm@db1 ~]#exit
[root@db1 ~]# df -i
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
devtmpfs       185584    382 185202    1% /dev
tmpfs          189124      1 189123    1% /dev/shm
tmpfs          189124    610 188514    1% /run
tmpfs          189124     17 189107    1% /sys/fs/cgroup
/dev/sda3      524288 118186 406102   23% /
tmpfs          189124     10 189114    1% /tmp
/dev/sda1       65536    343  65193    1% /boot
tmpfs          189124      5 189119    1% /run/user/0

发现空间占用不多,最多的是

/dev/sda3      524288 118186 406102   23% /

没有满,需要去删除数量过多的小文件,需进一步查询。

ps:在df -h 和df -i 显示使用率。
df -h 是去删除比较大无用的文件———–大文件占用大量的磁盘容量。
df -i 则去删除数量过多的小文件———–过多的文件占用了大量的inode号。

通过以下脚本进行检查哪个目录下面的文件最多。

[root@db1 ~]# for i in / * /; do echo $i; find $i | wc -l; done
/
203858
anaconda-ks.cfg
1
gauss_om
1203
postgresql.conf
1
/
204537

2、解决方法

结合前面的错误信息

[GAUSS-50205] : Failed to write log file /var/log/gaussdb/omm/om/gs_om-2022-02-08_101000.log. Error:
[Errno 28] No space left on device

说明日志文件可能占用空间多了,这时通过Xftp对/var/log/gaussdb/目录下面的日志文件进行查阅,如图1所示。继续进入/var/log/gaussdb/omm/pg_audit/dn_6001,里面的超过1M的日志文件选择后,把日期比较早的日志直接删除掉。
图1 通过Xftp查看日志

重启虚拟机后,再执行数据库服务的启动。

[omm@db1 ~]$ gs_om -t start
Starting cluster.
=========================================
[SUCCESS] db1
。。。。。
=========================================
Successfully started.

启动成功了,说明日志占有空间大了,引起

[Errno 28] No space left on device

继续查看下虚拟磁盘情况

[omm@db1 ~]$ exit
logout
[root@db1 ~]# fdisk -l /dev/sda
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VBOX HARDDISK   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x986401e8

Device     Boot   Start      End  Sectors Size Id Type
/dev/sda1  *       2048  2099199  2097152   1G 83 Linux
/dev/sda2       2099200  4196351  2097152   1G 82 Linux swap / Solaris
/dev/sda3       4196352 20971519 16775168   8G 83 Linux

3、进一步调整增加虚拟机的空间

为彻底解决openEuler虚拟机空间可以采用如下方法扩大空间

在Oracle VM VirtualBox的安装目录D:\Program Files\Oracle\VirtualBox下执行:

D:\Program Files\Oracle\VirtualBox>VBoxManage list hdds
UUID:           31836802-98ad-4261-abb2-a0dee41c747f
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       D:\Program Files\VMwork\openEuGau2.1\openEuler.vdi
Storage format: VDI
Capacity:       10240 MBytes
Encryption:     disabled

上面列出所有虚拟机的磁盘及路径信息。找到你需要调整空间的虚拟机,记下 UUID.值,假如为:31836802-98ad-4261-abb2-a0dee41c747f。上面安装的虚拟机openEuler是D:\Program Files\VMwork\openEuGau2.1\openEuler.vdi,占有10240 Mbytes(10G)空间。

(1)、Windows下调整增加虚拟机空间

Oracle VM VirtualBox的安装目录下执行:

D:\Program Files\Oracle\VirtualBox>vBoxManage modifyhd 31836802-98ad-4261-abb2-a0dee41c747f --resize 15240

说明:–resize 15240 单位:M
执行完成后,显示如下:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

(2)、Windows下虚拟机空间已经更新

再次执行VBoxManage list hdds查看,会发现虚拟机空间已经更新了,分配虚拟空间为15240 MBytes。

D:\Program Files\Oracle\VirtualBox>VBoxManage list hdds
UUID:           31836802-98ad-4261-abb2-a0dee41c747f
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       D:\Program Files\VMwork\openEuGau2.1\openEuler.vdi
Storage format: VDI
Capacity:       15240 MBytes
Encryption:     disabled

(3)、在虚拟机里查阅虚拟机存储空间

在虚拟机的存储设置里查看,原存储空间已修改了,从原10GB变成14.88GB,说明修改成功了。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 解决 "no space left on device" 错误的方法有多种,具体取决于你的系统和使用场景。常见的做法有: 1. 删除不必要的文件和文件夹,释放空间。 2. 清理缓存和日志文件。 3. 扩大磁盘容量,如果是虚拟机的话可以增加磁盘大小. 4. 使用磁盘整理工具,如“df”,“du”等。 5. 使用云存储服务,将数据存储在云端。 6. 如果是Docker容器,可以通过增加镜像大小来解决. ### 回答2: “No space left on device” 是一个经常出现的错误信息,这表示您的计算机存储设备没有足够的可用空间来执行所需的操作。通常出现这个问题的原因是您的硬盘已经满了,因为您下载或安装了太多的文件和应用程序。如果您没有采取任何行动,这个问题可能会导致计算机功能受到限制,系统运行缓慢,或数据丢失的风险。 下面是一些解决方案来解决这个问题: 1. 删除不需要的文件和应用程序:通过删除不需要的文件和应用程序,释放一些可用的存储空间。这可以通过手动删除文件、卸载程序或使用优化软件来完成。确保您只删除不必要的文件和应用程序,以避免删除您的重要文件或系统文件。 2. 扩展硬盘容量:如果您的硬盘已经满了,那么最好的解决方案就是扩展硬盘容量。这可以通过添加更大的硬盘或使用外部硬盘来完成。确保您选择的硬盘与您的系统兼容,并遵循正确的安装过程,以避免数据丢失和系统崩溃。 3. 压缩文件:硬盘空间很少时,压缩文件可以节省很多空间。通过使用压缩软件,您可以将文件压缩到更小的空间,以节省硬盘空间。但请注意,压缩文件可能会影响文件的质量和可读性。 4. 清理临时文件:临时文件是操作系统和应用程序在计算机上生成的文件,这些文件通常可以被删除以释放一些硬盘空间。您可以使用系统清理工具或第三方应用程序来清理临时文件。 以上是一些解决 "No space left on device" 的方法。如果问题仍然存在,请参考您的操作系统手册或咨询计算机专业人员。总之,定期检查并管理您的硬盘空间是维护计算机健康的绝佳方式。 ### 回答3: “No space left on device”指的是设备上没有足够的可用空间,无法写入或创建新文件或目录。这种情况通常发生在磁盘分区已满或文件系统已达到上限的情况下。 解决“No space left on device”的方法有以下几种: 1.清理磁盘空间:删除不必要的文件、应用程序或其他数据,以释放空间。通过使用磁盘分析工具,可以了解哪些文件或文件夹占用了大量空间,然后进行删除或移动。 2.扩展分区大小:如果使用的是Linux操作系统,可以使用分区调整工具,扩展现有的分区大小。 3.移动文件到其他存储设备:将文件移动到其他存储设备上,例如外部硬盘驱动器,以释放空间。 4.清理日志文件:许多应用程序创建大量的日志文件,这些文件会占用大量的磁盘空间。可以使用合适的日志清理程序或手动删除这些文件。 5.升级硬盘或添加存储设备:如果以上方法都无效,可以将硬盘升级或添加其他存储设备。 最好的方法是根据自己的具体情况,采取正确的方法解决“No space left on device”的问题。重要的是要记得备份所有重要的数据,以防进行任何更改时出现意外的数据丢失。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值