How to expand your DAppNode filesystem space

Context

From core version v0.2.49 there will be a new feature to allow expanding the filesystem space of DAppNodes directly from the UI, once the new storage device has been added to the corresponding slot.

Requirements

To be able to expand the filesystem of your DAppNode, you must fullfill a list of requirements:

  • Your DAppNode must have LVM. DAppNodes purchased before 2019 may not have it. This requirement can be checked direclty from the UI.

  • You must have a storage device to insert in your DAppNode. It is recommended that before doing the expansion you check the name of current available storage devices so you will identify the new one once inserted. You can get the current hard disks in your DAppNode by click on any expansion method and reading the storage devices available from the drop-down menu.

  • Your DAppNode must have a free slot for a storage device.

When to expand the filesystem of my DAppNode?

When your disk usage is high and you don’t want to delete any packages! You can check the free space of your DAppNode on the dashboard disk usage card.

Your DAppNode will stop working properly when storage is >95% full.

1. Insert a storage device in your DAppNode

Please refer to your hardware provider’s documentation on how to add storage. This process is unique for each hardware model.
Remember to write down the current storage devices’ names before inserting the new one so you will be able to identify the new one!

2. How to expand the filesystem of your DAppNode

Once the storage has been properly installed in your hardware, the UI will guide you to get the storage device recognized and included in the logical volume.

Go to System > Hardware. There are two options, automatic and manual:

  • Automatic: recommended for non-technical users.

    1. Select the storage device to be used to expand the filesystem from the drop-down menu

    2. Get default values: DAppNode will attemp to get default values for the Logical volume and Volume group. If this action fails, you may need to use the manual option and select the options yourself.

    3. Expand: expand the filesystem with the options selected.

  • Manual: select all the options yourself. It may require tecincal knowledge.

    1. Select the storage device to be used to expand the filesystem from the drop-down menu

    2. Select the volume group where the physical volume will be included.

    3. Select the logical volume where the volume group will be included

    4. Expand: expand the filesystem with the options selected.

4 Likes

Any release ETA ( via dappnode automatic update) for new version v0.2.49 ?

The release is on its final stage of testing, it should be published in the next few days

How do I check to see if my DAppNode supports LVM? The post mentions that I can check this in the UI, but I’m not sure where?

Thanks!

3 Likes

Hey! right now there is not a direct way of checking this. It will be implemented in the next release.

The current way of checking it is by starting the process of extending the host filesystem, you will not be allowed to get to the final step unless you fulfill the requirements.

I’m getting an error. Doing a manual expansion because the automatic wouldn’t work. Using an external USB SSD.
Options selected:

  • Storage device: sda
  • Volume Group: dappnode-vg
  • Logical Volume: root

Error: Command failed: docker run --rm --privileged --pid=host -t alpine:3.8 nsenter -t 1 -m -u -n -i /bin/bash /usr/src/dappnode/DNCORE/scripts/host/lvm.sh – --extend sda dappnode-vg root

at /usr/src/app/webpack:/@dappnode/dappmanager/src/utils/shell.ts:35:16
at Generator.throw (<anonymous>)
at rejected (/usr/src/app/index.js:284572:65)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:95:5)

Error: Command failed: docker run --rm --privileged --pid=host -t alpine:3.8 nsenter -t 1 -m -u -n -i /bin/bash /usr/src/dappnode/DNCORE/scripts/host/lvm.sh – --extend sda dappnode-vg root

at http://my.dappnode/static/js/main.0215af51.chunk.js:1:382869
at c (http://my.dappnode/static/js/2.89040732.chunk.js:2:623226)
at Generator._invoke (http://my.dappnode/static/js/2.89040732.chunk.js:2:622979)
at Generator.next (http://my.dappnode/static/js/2.89040732.chunk.js:2:623585)
at n (http://my.dappnode/static/js/2.89040732.chunk.js:2:2296)
at s (http://my.dappnode/static/js/2.89040732.chunk.js:2:2499)
at http://my.dappnode/static/js/2.89040732.chunk.js:2:2558
at new Promise (<anonymous>)
at http://my.dappnode/static/js/2.89040732.chunk.js:2:2439
at d (http://my.dappnode/static/js/main.0215af51.chunk.js:1:382682)

Any suggestions?

1 Like

Hello I have a Dappnode extreme with 4Tb but only 2Tb shows up - I can use this method to see the available drives (Get Storage Devices) and 2 options come up nvme0n1 and nvme1n1 - of course one of the drives is in use and I am guessing it is nvme0n1 but can I check for sure which one I should select? thank you

hey! not an option right now but you could remove it check the available disks and finally add it again.

If you are able to get into the linux terminal, should be possible to determine which one to select

Not recommended at all to use an external USB to extend your filesystem! that would be really dangerous

There should be a longer error, could you go to support > activity and check for this action an copy paste the error log?

If I jus try one will it fail and give me an error? What do I remove? If i remove the drive and it is in use won’t this be an issue? sorry

If the expansion was not success you will have to remove the one you added. If the expansion was success you will not be able to remove the drive since now it becomes part of the filesystem

Hi,
I found a way to check whether LVM is on.
cat /etc/fstab

Type this into CLI via SSH if you have it setup. Mine says “None” as I haven’t fitted one yet…but the /dev/mapper is there to I assume it’s ready.

Source below.

Hey,

I acquired a DAppNodeAdvanced last year. Can you point me to the best SSD hardware options that I should buy to extend my NUC storage?

Hello,

If external disk by usb is not recommended, what do you recommend and which format of disk (ext4 ?)?

Thanks

I have same error. support>activity:

Command failed: docker run --rm --privileged --pid=host -t alpine:3.8 nsenter -t 1 -m -u -n -i /bin/bash /usr/src/dappnode/DNCORE/scripts/host/lvm.sh – --extend sdb dappnode-vg root
Error: Command failed: docker run --rm --privileged --pid=host -t alpine:3.8 nsenter -t 1 -m -u -n -i /bin/bash /usr/src/dappnode/DNCORE/scripts/host/lvm.sh – --extend sdb dappnode-vg root

at /usr/src/app/webpack:/@dappnode/dappmanager/src/utils/shell.ts:35:16
at Generator.throw (<anonymous>)
at rejected (/usr/src/app/index.js:250628:65)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)

{
“disk”: “sdb”,
“volumeGroup”: “dappnode-vg”,
“logicalVolume”: “root”
}

Hello,
I’m getting an error when trying to expand storage. It does not matter which option (automatic or manual) I choose, the error is the same. Any ideas how to fix it?

Unexpected token '/', "/usr/src/d"... is not valid JSON
SyntaxError: Unexpected token '/', "/usr/src/d"... is not valid JSON
    at JSON.parse (<anonymous>)
    at memoize.promise (file:///usr/src/app/packages/dappmanager/src/modules/hostScripts/scripts/lvm.ts:31:12)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
Error: Unexpected token '/', "/usr/src/d"... is not valid JSON
    at http://dappnode.local/static/js/main.fc43bc8a.js:2:568083
    at d (http://dappnode.local/static/js/main.fc43bc8a.js:2:536844)
    at Generator.<anonymous> (http://dappnode.local/static/js/main.fc43bc8a.js:2:538187)
    at Generator.next (http://dappnode.local/static/js/main.fc43bc8a.js:2:537207)
    at n (http://dappnode.local/static/js/main.fc43bc8a.js:2:531886)
    at s (http://dappnode.local/static/js/main.fc43bc8a.js:2:532089)
    at http://dappnode.local/static/js/main.fc43bc8a.js:2:532148
    at new Promise (<anonymous>)
    at http://dappnode.local/static/js/main.fc43bc8a.js:2:532029
    at w (http://dappnode.local/static/js/main.fc43bc8a.js:2:567889)

Do I understand correctly that I can expand an NVME disc with a SATA SSD?
Are there any disadvantages?

1 Like

I’m just curious why using an external USB connected drive would be “really dangerous”, I would really appreciate an explanation of this, thanks in advance.