amazon-web-services - AWS Jenkins 设备上没有剩余空间
问题描述
今天,由于以下错误,我的 Jenkins 开始失败并阻止访问:
java.io.IOException: No space left on device
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.FileDispatcherImpl.write(FileDispatcherImpl.java:60)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:211)
at hudson.util.FileChannelWriter.write(FileChannelWriter.java:73)
at java.io.Writer.write(Writer.java:192)
at hudson.util.AtomicFileWriter.write(AtomicFileWriter.java:163)
at java.io.Writer.write(Writer.java:157)
at hudson.XmlFile.write(XmlFile.java:191)
at jenkins.model.Jenkins.save(Jenkins.java:3474)
at jenkins.model.Jenkins.<init>(Jenkins.java:1012)
at hudson.model.Hudson.<init>(Hudson.java:86)
at hudson.model.Hudson.<init>(Hudson.java:82)
at hudson.WebAppMain$3.run(WebAppMain.java:298)
Caused: hudson.util.HudsonFailedToLoad
at hudson.WebAppMain$3.run(WebAppMain.java:315)
事实上,我的 Jenkins 存储空间已满。根据 aws 文档,我将存储大小从门户增加到 24Gb。之后,我从终端访问我的 ec2 实例。
按照这些步骤: https ://aws.amazon.com/premiumsupport/knowledge-center/ebs-volume-size-increase/
我能够按如下方式增加存储量
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 33.3M 1 loop /snap/amazon-ssm-agent/3552
loop1 7:1 0 55.5M 1 loop /snap/core18/1997
loop2 7:2 0 32.3M 1 loop /snap/snapd/13170
loop3 7:3 0 61.9M 1 loop /snap/core20/1169
loop4 7:4 0 32.3M 1 loop /snap/snapd/12883
loop5 7:5 0 55.4M 1 loop /snap/core18/2128
loop6 7:6 0 25M 1 loop /snap/amazon-ssm-agent/4046
loop7 7:7 0 70.3M 1 loop /snap/lxd/21029
loop8 7:8 0 61.8M 1 loop /snap/core20/1081
loop9 7:9 0 67.3M 1 loop /snap/lxd/21545
xvda 202:0 0 24G 0 disk
└─xvda1 202:1 0 24G 0 part /
xvda
已经升级到24G了,很完美,可以启动Jenkins服务了。但是当我尝试登录时,我再次遇到上述相同的错误。为了仔细检查一切是否正确,我运行了命令df -hT
,结果是这样的
Filesystem Type Size Used Avail Use% Mounted on
/dev/root ext4 7.7G 7.7G 0 100% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 394M 41M 354M 11% /run
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/loop0 squashfs 34M 34M 0 100% /snap/amazon-ssm-agent/3552
/dev/loop1 squashfs 56M 56M 0 100% /snap/core18/1997
/dev/loop4 squashfs 33M 33M 0 100% /snap/snapd/12883
/dev/loop5 squashfs 56M 56M 0 100% /snap/core18/2128
/dev/loop6 squashfs 25M 25M 0 100% /snap/amazon-ssm-agent/4046
/dev/loop7 squashfs 71M 71M 0 100% /snap/lxd/21029
/dev/loop8 squashfs 62M 62M 0 100% /snap/core20/1081
/dev/loop9 squashfs 68M 68M 0 100% /snap/lxd/21545
/dev/loop2 squashfs 33M 33M 0 100% /snap/snapd/13170
/dev/loop3 squashfs 62M 62M 0 100% /snap/core20/1169
tmpfs tmpfs 394M 0 394M 0% /run/user/1000
tmpfs tmpfs 10M 3.2M 6.9M 32% /tmp
tmpfs tmpfs 394M 0 394M 0% /run/user/113
我看到这/dev/root
是 100% 使用的。但我无法升级它的大小,也找不到任何关于如何升级卷的文档。如果我尝试运行命令:
sudo growpart /dev/root 1
我收到此错误:
WARN: unknown label
failed [sfd_dump:1] sfdisk --unit=S --dump /dev/root
sfdisk: /dev/root: does not contain a recognized partition table
FAILED: failed to dump sfdisk info for /dev/root
对不起,我是这里的新手,这是我第一次遇到这个问题。
请任何人解释我如何解决这个错误
非常感谢您的时间和帮助
解决方案
即使您添加了一些存储空间并扩大了 xvda1 分区,您也没有扩大主文件系统(根卷组)。我很高兴看到lsblk、vgs、pvs命令的输出以及有关您的操作系统的一般信息。您很可能需要将可用空间(来自 xvda1 分区)添加到根 vg(/dev/root 仍然只有 7.7G)。
PS。老实说,我不知道命令<growpart>
,但growpart /dev/root
我不会使用growpart /dev/xvda 1
- 与指令对齐(/dev/xvda
是附加磁盘的名称)