Additional mounts can be specified as part of your cloud-config. These mounts are applied within the console container. Here’s a simple example that mounts /dev/vdb to /mnt/s.

#cloud-config
mounts:
- ["/dev/vdb", "/mnt/s", "ext4", ""]

Important: Be aware, the 4th parameter is mandatory and cannot be omitted (server crashes). It also yet cannot be defaults

As you will use the ros cli most probably, it would look like this:

ros config set mounts '[["/dev/vdb","/mnt/s","ext4",""]]'

hint: You need to pre-format the disks, rancher-os will not do this for you. The mount will not work (silently) until you formatted the disk, e.g. using:

mkfs.ext4 /dev/vdb


The four arguments for each mount are the same as those given for cloud-init. Only the first four arguments are currently supported. The mount_default_fields key is not yet implemented.

RancherOS uses the mount syscall rather than the mount command behind the scenes. This means that auto cannot be used as the filesystem type (third argument) and defaults cannot be used for the options (forth argument).

With rancher 1.1.1+ you do no longer need to create the mount-point folder, it will be created automatically.

Shared Mounts

By default, /media and /mnt are mounted as shared in the console container. This means that mounts within these directories will propagate to the host as well as other system services that mount these folders as shared.

See here for a more detailed overview of shared mounts and their properties.