1

I have a Debian server.

I have the following situation in my server. In the root I have Apache server running. I noticed that the disk is full but I can see that in /dev/sda2 there is still 50 gb available.

Is there a way to merge them, or increase the disk space of root?

enter image description here

Disk /dev/sda: 74.5 GiB, 80026361856 bytes, 156301488 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7db7aa90

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         4096  40962047  40957952 19.5G 83 Linux
/dev/sda2        40962048 155246591 114284544 54.5G 83 Linux
/dev/sda3       155246592 156293119   1046528  511M 82 Linux swap / Solaris
Rui F Ribeiro
  • 56,709
  • 26
  • 150
  • 232
Vannian
  • 111
  • Is this a local machine or a remote server? – Alxs Apr 08 '17 at 14:31
  • You can repartition but you will need to unmount your root filesystem, which is considerably easier if you're physically at the machine. – Alxs Apr 08 '17 at 14:38

1 Answers1

0

An easier solution than re-installing your OS with a different partition layout, or booting from a rescue disk and resizing existing partitions, may be to use a bind mount.

There is an excellent answer about bind mounts here:

Let's say for the sake of the discussion that your Apache server was talking up all the space, and it was rooted in /var/www.

Using a bind mount, you could create a directory in /home, which is where /dev/sda2 is mounted, like /home/www, move everything from /var/www into /home/www, and then bind mount /home/www at /var/www.

bash-# mkdir /home/www
bash-# mv /var/www/* /home/www/
bash-# chown -R $owner:$group /home/www   <-- this step may be optional
bash-# mount --bind /home/www /var/www

This would allow you to consume space from /dev/sda as if it were part of /, without having to resize any partitions, or even reboot the server.

It also means you don't need to configure anything that is expecting things in /var/www to look for them in /home/www ( startup scripts, applications that use the webserver, cron jobs, etc ).

Just don't forget to add it to /etc/fstab:

/home/www /var/www none defaults,bind 0 0

Otherwise it won't persist after a reboot.

Tim Kennedy
  • 19,697