我正在使用基于云的 Linux 服务器:
Linux seller-huge.novalocal 3.10.0-862.11.6.el7.x86_64 #1 SMP Tue Aug 14 21:49:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
。
我用它来进行数据抓取,过去它运行良好,但今天我所有的 python3 脚本都崩溃了,并出现以下错误:
Traceback (most recent call last):
File "feedback_1.py", line 82, in main
scrape_wr.writerow(result_scrape)
OSError: [Errno 28] No space left on device
During handling of the above exception, another exception occurred:
OSError: [Errno 28] No space left on device
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "feedback_1.py", line 85, in <module>
main(0, 200000, 0)
我认为这应该是由于磁盘空间不可用引起的,所以我在网上搜索并想出了如何将新卷挂载到我的实例:
[gaojia@seller-huge feedback_scrape]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 20G 20K 100% /
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 33M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
tmpfs 6.3G 0 6.3G 0% /run/user/1000
/dev/vdc 197G 61M 187G 1% /myspace3
/dev/vdb 50G 53M 47G 1% /myspace2
vdc
和vdb
是新添加的卷,从结果来看df-h
,我认为它们安装正确,但是我怎么使用它们呢?我的意思是如何将数据放入这些卷中?
答案1
/myspace2
您可以正常将数据写入这些卷/myspace3
。
问题在于/dev/vda
,安装/
并包含操作系统本身的 已完全满。
你需要先清理空间,/
否则你会遇到很多问题。例如,您将无法使用包管理器安装任何软件,因为它需要写入/
.您的日志通常位于/var/log
和 有很多软件需要写入诸如/var/lib
和的子目录之类的位置/opt
。 20GB确实不够用/
。至于运行数据抓取,您需要修改它们以写入/myspace2
和/myspace3
。
答案2
通过说“将数据放入这些卷”,我猜您只是希望脚本将数据写入这些新添加的磁盘。在这种情况下,您需要编辑脚本以将目标目录指向安装这些磁盘的安装点。从“df -h”的输出来看,/dev/vdc 安装在 /myspace3 上,/dev/vdb 安装在 /myspace2 上。
/myspace{2,3} 就像 Linux 文件系统上的任何其他目录一样。
$ cp 某事.txt /myspace3
将在“/myspace3”目录中复制“something.txt”文件;和
cp 某事1.txt /myspace2
将在 /myspace2 目录中复制“something1.txt”。
答案3
如果您的提供商允许您增加 vda 的大小,请执行此操作(~50G),然后重新启动。
用于fdisk /dev/vda
删除 vda1 并从同一扇区开始创建新分区(应该是默认的),占用整个磁盘。
然后假设根文件系统是 ext3 或 ext4 resize2fs /dev/vda1
,.