如何管理 /dev/root 和 /dev/sda1 之间的存储

如何管理 /dev/root 和 /dev/sda1 之间的存储

我目前正在租用一台具有 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。磁盘的布局是什么:运行lsblksudo 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.

相关内容