mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2024-12-19 20:54:33 -05:00
161 lines
4.7 KiB
ReStructuredText
161 lines
4.7 KiB
ReStructuredText
=================
|
||
Resize disk image
|
||
=================
|
||
|
||
|
||
Resizing Disk Images
|
||
--------------------
|
||
|
||
|
||
By default Qubes uses thin volumes for the disk images. This means that
|
||
space is not actually allocated for the volume until it is used. So a
|
||
2GB private volume with 100M of files will only use 100M. This explains
|
||
how you can have *many* qubes with large private volumes on quite a
|
||
small disk. This is called over provisioning. You should keep an eye on
|
||
the disk-space widget to see how much free space you actually have.
|
||
|
||
It is easy to increase the size of disk images. There are risks attached
|
||
to reducing the size of an image, and in general you should not need to
|
||
do this.
|
||
|
||
Increasing the size of Disk Images
|
||
----------------------------------
|
||
|
||
|
||
There are several disk images which can be easily extended, but pay
|
||
attention to the overall consumed space of your sparse/thin disk images.
|
||
In most cases, the GUI tool Qube Settings (available for every qube from
|
||
the Start menu, and also in the Qube Manager) will allow you to easily
|
||
increase maximum disk image size.
|
||
|
||
.. figure:: /attachment/doc/r4.0-vm-settings-disk-image.png
|
||
:alt: vm-settings-disk-image.png
|
||
|
||
vm-settings-disk-image.png
|
||
|
||
In case of standalone qubes and templates, just change the Disk Storage
|
||
settings above. In case of template-based qubes, the private storage
|
||
(the /home directory and user files) can be changed in the qube’s own
|
||
settings, but the system root image is :doc:`inherited from the template </introduction/getting-started>`, and so it must be changed in the
|
||
template settings. If you are increasing the disk image size for
|
||
Linux-based qubes installed from Qubes OS repositories in Qubes 4.0 or
|
||
later, changing the settings above is all you need to do - in other
|
||
cases, you may need to do more, according to instructions below. See
|
||
also the OS-specific follow-up instructions below.
|
||
|
||
.. _increasing-the-size-of-disk-images-1:
|
||
|
||
|
||
Increasing the size of Disk Images
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
|
||
|
||
|
||
Use either GUI tool Qube Settings (``qubes-vm-settings``) or the CLI
|
||
tool ``qvm-volume``. Maximum size which can be assigned through Qube
|
||
Settings is 1048576 MiB - if you need more, use ``qvm-volume``:
|
||
|
||
.. code:: bash
|
||
|
||
qvm-volume extend <vm_name>:root <size>
|
||
|
||
|
||
|
||
OR
|
||
|
||
.. code:: bash
|
||
|
||
qvm-volume extend <vm_name>:private <size>
|
||
|
||
|
||
|
||
Note: Size is the target size (i.e. 4096MB or 16GB, …), not the size to
|
||
add to the existing disk.
|
||
|
||
If you have run out of space for software in your Template, you need to
|
||
increase *root image* of the Template (not private storage!). **Make sure changes in the Template between reboots don’t exceed 10G.** It is
|
||
recommended that you restart (or start and then shutdown, if it is not
|
||
running) the template after resizing the root image.
|
||
|
||
If you are **not** using Linux in the qube, you will also need to:
|
||
|
||
1. Start the template.
|
||
|
||
2. Resize the filesystem using OS appropriate tools.
|
||
|
||
3. Verify available space in the template using ``df -h`` or OS specific
|
||
tools.
|
||
|
||
4. Shutdown the template.
|
||
|
||
|
||
|
||
Windows 7
|
||
^^^^^^^^^
|
||
|
||
|
||
1. Click Start
|
||
|
||
2. type “diskmgmt.msc” - this takes you to Disk Management
|
||
|
||
3. Right-click on your existing volume, select “Extend Volume…”
|
||
|
||
4. Click through the wizard.
|
||
|
||
|
||
|
||
No reboot required.
|
||
|
||
FreeBSD
|
||
^^^^^^^
|
||
|
||
|
||
.. code:: bash
|
||
|
||
gpart recover ada0
|
||
sysctl kern.geom.debugflags=0x10
|
||
gpart resize -i index ada0
|
||
zpool online -e poolname ada0
|
||
|
||
|
||
|
||
Linux
|
||
^^^^^
|
||
|
||
|
||
Qubes will automatically grow the filesystem for you on all app qubes
|
||
with Qubes packages installed (which are all app qubes installed from
|
||
templates, cloned from templates etc. - if you have not created an empty
|
||
HVM and installed a Linux distribution in it, without using Qubes
|
||
repositories, you are almost certainly safe). Otherwise, you will see
|
||
that there is unallocated free space at the end of your primary disk.
|
||
You can use standard linux tools like ``fdisk`` and ``resize2fs`` to
|
||
make this space available.
|
||
|
||
Decreasing the size of Disk Images
|
||
----------------------------------
|
||
|
||
|
||
The number shown for “storage max size” does not mean that the storage
|
||
is really using that amount. In most cases you need not worry about the
|
||
size shown. If you have increased the max size, and do not need it, then
|
||
you *can* reduce the allocated size, but there is a risk of data loss.
|
||
Remember you really dont need to do this.
|
||
|
||
You can create a new qube, copy your files in to the new qube, and
|
||
delete the old qube. (Simple and effective.)
|
||
|
||
Or you can take the risk of reducing the size of the disk. For example,
|
||
to reduce the private storage of qube1 to 1GiB: Open a terminal in dom0:
|
||
|
||
.. code:: bash
|
||
|
||
qvm-shutdown qube1
|
||
sudo lvresize --size 1024M /dev/qubes_dom0/vm-qube1-private
|
||
|
||
|
||
|
||
If you have a SSD see :doc:`here <https://forum.qubes-os.org/t/19054>` for information on using
|
||
fstrim.
|