Summary
Sub-menu: /disk
This menu will list all attached storage devices, presuming that they are supported and in working condition. This is especially useful for RouterBOARD devices with SD/CF/USB/SATA/NVMe 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 usages. 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 are made easy!
Note: Starting from RouterOS 7.7 disks will carry names (slots) where they are physically connected.
Properties
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. |
format-drive () | Command to initiate disk formatting process. Contains additional properties of its own. Such as "file-system" and "label".
|
monitor-traffic | Monitors inbound and outbound disk traffic |
reset-counters | resets /interface print stats counters |
Examples
Formatting attached storage unit - Simple
1. Disk is attached, and already mounted automatically by the system.
[admin@MikroTik] > /disk print # NAME LABEL TYPE DISK FREE SIZE 0 disk1 usb-flash ext4 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 (ext4 or fat32).
[admin@MikroTik] > /disk format-drive 0 file-system=ext4 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 # NAME LABEL TYPE DISK FREE SIZE 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 # NAME TYPE SIZE CREATION-TIME 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 (ext4 or fat32), we can also assign label to device as I did in this example.
[admin@MikroTik] > /disk format-drive 0 file-system=ext4 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
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 or save data in RAM folder
Allocate RAM to folder
Starting from 7.7 it is possible to add folders linked to RAM. Folders will be emptied on reboot or power loss.
RAM will be filled up to tmpfs-max-size and if this variable in not provided - up to 1/2 from available RAM.
[admin@MikroTik] > /disk add type=tmpfs tmpfs-max-size=100M slot=RAM [admin@MikroTik] > file print Columns: NAME, TYPE, SIZE, CREATION-TIME # NAME TYPE SIZE CREATION-TIME 0 RAM disk dec/12/2022 11:01:48