今天我的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, pv的输出命令以及关于操作系统的一般信息。您很可能需要将可用空间(从xvda1分区)添加到根vg (/dev/root仍然只有7.7G)。
p。老实说,我不知道命令<growpart>
,但不是growpart /dev/root
,我会使用growpart /dev/xvda 1
-与指令对齐(/dev/xvda
是附加磁盘的名称)
在扩展分区之后,您还需要调整文件系统的大小:
resize2fs /dev/xvda1