From MikroTik Wiki
Jump to: navigation, search

Applies to RouterOS: v6.20 < v6.xx


Sub-menu: /disk

Since v6.20 release, attached storage is now managed in "/disk" sub-menu, instead of previous "/store disk" menu.

  • This menu will list all attached storage devices, presuming that they are supported and in working condition.
  • As a note, Webproxy and User manager stores as now shown as directories in "/files menu". When configuring webproxy cache or usermanager database you will now be asked to write in the actual full path of the directory where you want these stores to be created.

This is especially useful for RouterBOARD devices with SD/CF/USB slots and x86 systems with additional dedicated storage drives - as the built-in storage is quite small, an external drive comes in very handy when you want a big User Manager database, proxy cache or possibly SMB shares on your router.

You can add as many external or secondary drives as you want, and select any number of them for each of the mentioned feature usage. For example User Manager could be used on 3 disks, one of them would be the active database, and the rest would be backups. You can then add a fourth disk, copy the active data to it - unmount - unplug it - and move to another server, to keep using the actual database. This means migration and backup made easy!


Note: If you are still running older release than v6.20 please check this article: article for more info on Stores in v6.19 and older releases.


Note: Max supported partition size in RouterOS is 2TB and larger hard disk drives will not work. Except on CCR routers (Tile architecture) it is possible to use larger HDD in RouterOS if it is formatted with multiple partitions each smaller than 2TB.


Formatting attached storage unit - Simple

1. Disk is attached, and already mounted automatically by system.

[admin@MikroTik]  > /disk print
 0 disk1 usb-flash 	 ext3   00     7.1GiB     7.2GiB
[admin@MikroTik] > /file print
 # NAME                        TYPE          SIZE CREATION-TIME
 2 skins                       directory          jan/01/1970 03:00:01
 3 pub                         directory          feb/04/1970 21:31:40
 4 disk1                       disk               apr/20/2015 14:05:16

2. Unmounting storage drive in order to format it.

[admin@MikroTik] > /disk eject-drive 0

3. Formatting the disk, in either of two supported file-systems (ext3 or fat32).

[admin@MikroTik] > /disk format-drive 0 file-system=ext3 label=flashdrive
  formatted: 100%

4. It's done! Drive is formatted and should be automatically mounted after formatting process is finished.

Formatting attached storage unit - Detailed

Let us presume that you have added a storage device to your device that is running RouterOS. System will try to automatically mount it and in such case if storage is formatted in a supported file-system and partition record, it will be found in "/files" menu moments after you plugged it in to the host device.

If not, here is what you have to do.

1. Do a quick print of disk menu, to make sure that router sees the attached storage.

[admin@MikroTik] > disk print
 0 disk1        NO NAME fat32   00     6.6GiB     7.2GiB

We can here see that system sees one storage drive and also that it is formatted with a known file-system type.

When running file menu print-out we also see that is mounted.

[admin@MikroTik] > file print
 0 disk1    disk         apr/20/2015 13:44:11
 1 skins    directory    jan/01/1970 03:00:01
 2 pub      directory    feb/04/1970 21:31:40

2. Now to format it we must first unmount it. To do that we need to issue the command that is pasted below. Note that you can use disk "id" or "name" for this task. ID number is usable only after the print command on the specific menu has been issued and presuming that the order or count has not changed, as that would also possibly change the id. OR this disk name identifier which in this example case would be
"NO NAME". Name can be used without issuing print as that is a static value and should not change unless changed manually by you.

In short: using the ID number of the disk is easy, but printout of this menu must be done first.

[admin@MikroTik] > disk eject-drive 0

In short: using name, quicker if you know the device name. But "" needs to be added if this value contains spaces or some symbols that might confuse console.

[admin@MikroTik] > disk eject-drive "NO NAME"

3. Formatting drive now that it is unmounted. We issue command with previously know id or name and with desired file-system (ext3 or fat32), we can also assign label to device as I did in this example.

[admin@MikroTik] > /disk format-drive 0 file-system=ext3 label=usb-flash
  formatted: 100%

Note: In printout you can see that there is progress percentage counter in formatting process. For larger storage drives it might take longer for this process to finish, so be patient. For this 8GB flash that I used it took about half a minute to finish formatting it on RB2011 router model. On some other devices with different cpu model it might take shorter or longer time to finish this process.


Note: For really large storage drives we recommend (if possible) to use some pc in order to format them prior to attaching them to your RouterOS based device.

Web-Proxy cache configuration example

Enter proxy cache path under IP -> Proxy menu and web proxy store is automatically created in files menu. If a non-existent directory path is used, an additional sub-directory is also created automatically.

[admin@MikroTik] >  /ip proxy set cache-path=disk3/cache-n-db/proxy/


[admin@MikroTik] >  /file print
 # NAME                                              TYPE                             SIZE CREATION-TIME       
 0 skins                                             directory                             mar/02/2015 18:56:23
 1 sys-note.txt                                      .txt file                        23   jul/03/2015 11:40:48
 2 disk3                                             disk                                  jul/03/2015 11:35:05
 3 disk3/lost+found                                  directory                             jul/03/2015 11:34:56
 4 disk3/cache-n-db                                  directory                             jul/03/2015 11:41:54
 4 disk3/cache-n-db/proxy                            web-proxy store                       jul/03/2015 11:42:09

User manager database path configuration example

Example is made presuming that rest of configuration is in place and you are just changing/setting user-man database path. If a non-existent directory path is used, an additional sub-directory is also created automatically.

[admin@MikroTik] >  /tool user-manager database set db-path=disk3/cache-n-db/user-manager/


[admin@MikroTik] >  /file print where name~"user-manager"
 #  NAME                                              TYPE                             SIZE CREATION-TIME       
 0 disk3/cache-n-db/user-manager/                     directory                             jul/03/2015 12:17:38
 1 disk3/cache-n-db/user-manager/sqldb                file                         367.0KiB jul/03/2015 12:17:38
 2 disk3/cache-n-db/user-manager/logsqldb             file                          29.0KiB jul/03/2015 11:00:42

User manager moving database example

In this example, the User Manager instance has been installed on the System Drive and is required to be moved to a typical external USB drive (called 'disk1'). (It is recommended USB Drives are formatted to ext3 instead of FAT32). The database is backed up, data base path changed and finally database restored. Once User Manager is proven to be working correctly, the original 'user-manager' folder and associated files on the system drive could then be deleted.

[admin@MikroTik] >  /tool user-manager database save name=/disk1/UMBackup
[admin@MikroTik] >  /tool user-manager database set db-path=disk1/user-manager/
[admin@MikroTik] >  /tool user-manager database load name=/disk1/UMBackup

Log on disk configuration example

When configuring logging on disk make sure that you create directories in which you want to store the log files manually, as non-existent directories will NOT be automatically created in this case.

[admin@MikroTik] >  /system logging action set disk disk-file-name=/disk3/log/syslog


[admin@MikroTik] >  /file print where name~"disk3/log"
 # NAME                                              TYPE                             SIZE CREATION-TIME       
 0 disk3/log                                         directory                             jul/03/2015 12:44:09
 1 disk3/log/syslog.0.txt                            .txt file                         160 jul/03/2015 12:44:11


Note: Logging topics such as firewall, web-proxy and some other topics that tend to save a large amount or rapid printing of logs on system nand disk might cause it to wear out faster, so using some attached storage or remote logging is recommended in this case.


Property Description
eject-drive (Integer; Default: ) Safely unmounts (ejects) drive of your selection by using drive ID or NAME that is assigned to it. After issuing this command it can be removed from host device. If drive is sata/etc on x86, device must be previously also shut down or hot-plug for sata interfaces must be enabled in bios if such feature is supported.
format-drive () Command to initiate disk formatting process. Contains additional properties of its own. Such as "file-system" and "label".
  • file
  • file-system ('fat32' or 'ext3') - Format disk with type FAT32 or EXT3
  • interval
  • label - Label to be assigned to disk