我目前正在租用一台具有 2TB 存储空间的专用服务器,并且我是服务器管理的初学者。
我用它来托管网站。所有网站源都位于 /var/www/html 目录中。
当检查我还有多少空间时,我得到这个:
Filesystem Size Used Avail Use% Mounted on
/dev/root 20G 20G 0 100% /
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 19M 7.9G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/sda2 487M 23M 435M 5% /boot
/dev/sda4 1.8T 31G 1.7T 2% /home
tmpfs 1.6G 0 1.6G 0% /run/user/0
我的 /dev/sda4 上有很多可用空间,但 /dev/root 已满,当尝试通过 FTP 将文件传输到我的服务器时,我收到错误消息,提示磁盘空间已满。如何将文件存储在 /dev/sda4 磁盘上?或者我如何扩展我的 /dev/root 磁盘?
预先感谢您的任何帮助
答案1
首先几个问题:
Q1.是什么占用了根 ( /dev/root
) 分区中的所有磁盘空间?要找到这一点,请du
在几个地方运行命令,例如:
sudo du -sch /var/www/html
sudo du -sch /var/*
sudo du -sch /usr/*
- 您可能希望
du
在 下的所有顶级目录/
(例如/bin /etc /lib /usr /var
其他目录)上运行,目的是了解根分区中的磁盘空间的使用情况。
Q2。磁盘的布局是什么:运行lsblk
和sudo fdisk -l /dev/sda
.
如果您的问题是 /var/www/html 目录填满了根分区,那么解决此问题的最简单方法是将其移动到另一个分区,例如 /home。
解决方案:将所有文件和目录从/var/www/html/
移至/home/web
(您可能需要创建/home/web
。)然后将对象符号链接/var/www/html
到新/home/web
目录。
mkdir -p /home/web
mv -v /var/www/html/* /home/web
cd /var/www
rmdir -i html/
ln -s /home/web html
您的 Web 服务器不会关心 /var/www/html 现在是一个符号链接。
注意:在执行所有这些操作之前,您应该 1) 关闭 Web 服务器(apache/nginx/etc)并 2) 备份数据以防万一。
现在您的网页存储在 /home 分区中,该分区要大得多。
或者,如果您不想使用上面的符号链接,您可以更改 Web 服务器配置以/home/web
从/var/www/html
.
从长远来看,我会考虑重新镜像服务器并更改分区布局。假设您可以备份配置文件和数据,我会考虑重新镜像服务器。如果这台计算机用于服务器网页,那么确实没有理由有一个单独的/home
分区。
我将按以下方式设置 2 TB 硬盘,请注意数字 1、2、3 是任意的:
/dev/sda1
- 启动分区,500 MB 就可以了,/dev/sda2
- 如果需要交换分区,如果服务器有足够的 RAM,则跳过,/dev/sda3
- 一个大的根分区。
然后我只需将所有文件存储在根分区中,该分区可能位于/var/www/html
.