flashmemory_plugin_for_omv6

This is an old revision of the document!





FlashMemory Plugin For OMV6

FlashMemory Plugin For OMV6



This document can be converted to a PDF file, in the user's language of choice (see the following), on Windows, Mac's and popular Linux desktop platforms. Simply select the printer icon on the upper right corner of this web page. When prompted at the client, select “print to PDF”, name and save the file.

Google Translate kann Wiki-Dokumente in Ihre Sprache übersetzen. Fügen Sie die Wiki-URL in das linke Fenster ein und öffnen Sie den übersetzten Link rechts.
Google Translate puede traducir documentos wiki a su idioma. Pegue la URL de la wiki en la ventana izquierda y abra el enlace traducido a la derecha.
Google Translate peut traduire des documents wiki dans votre langue. Collez l'url du wiki dans la fenêtre de gauche et ouvrez le lien traduit sur la droite.
Google翻訳はwikiドキュメントをあなたの言語に翻訳することができます。 左側のウィンドウにwikiのURLを貼り付け、右側の翻訳されたリンクを開きます。


The FlashMemory Plugin was designed to make booting from USB thumbdrives and SD-cards feasible and a practical alternative to booting from a hard drive or SSD. In addition to the relative low cost, using USB thumbdrives enable easy OS backup 1) options, quick recovery from boot drive failure and it saves a SATA port for a data storage drive.

This plugin is REQUIRED or a flash boot drive will have a short life. For an in-depth explanation see; Why is the FlashMemory Plugin Required?

  • This procedure applies to amd64 ISO installations only. The FlashMemory Plugin is installed by default, during scripted installs. (R-PI's, Armbian Boards, the 32bit install, and the Alternate 64bit install.)
  • OMV-Extras must be installed.

For OMV6, installing OMV-Extras is accomplished by copying and pasting the following wget command, on your server's command line, as root:
(Highlight the following line and hit Ctrl+C. In an SSH client like PuTTY, a right mouse click will paste the line in.)

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

Note: If you're unsure of how to get on the command line, see this reference for → installing and using PuTTY.

When the script is complete, OMV-Extra's and the Flashmemory plugin will be installed and activated.




Wear Leveling

While modern flash media drive is solid state, it’s life is limited by the number of write cycles it can withstand before it goes “read-only”. When an OEM specified number of flash memory blocks refuse to erase, the device’s controller will set it “read only”. At that point, the device’s useful life is over.

To extend the life of flash media, most modern flash devices have “wear leveling” built into their controllers. If blocks are written, but not erased, they experience no wear. If blocks are erased, the next new write is set on adjacent blocks that have never been written before. As data is erased and written, blocks are used starting at the beginning of the device’s available storage address range and proceeding, in sequence, working toward the end. When the end of the range is reached, the process starts at the beginning and cycles through again. This wear leveling process avoids writing a single location to failure, and spreads wear evenly throughout.

With wear leveling and using two drives of the same type, a drive that is twice the size will last roughly two times longer than the smaller drive. This may seem like is a strong vote for using a larger flash drive. However, when backups are considered, drives of twice the size also take twice as long to image and their image files are twice as large. (When using flash media as a boot drive, a practical trade-off should be considered in the 16 to 32GB range.)

The Purpose of the Plugin

Most writes to OMV's boot drive are entries being appended to log files. While log file entries are very small writes, that may be as little at 80 bytes, they occur on a regular basis. A write operation to a flash device is done in writable “blocks” that are, typically, 2KB or 4KB minimum regardless of how small the write may be. This results in what is called “write amplification” where numerous large segments (2 to 4KB) of the drive are written to record very small amounts of data (+/- 80 bytes). The end result is writing all of the available blocks of the flash device rapidly, to exhaustion, where it will go read-only.

The primary purpose of the Flash Memory Plugin is to reduce the frequency of writes to flash media by consolidating very small writes into one, larger, bulk write that is flushed to the boot drive on shutdown. This dramatically reduces the number of blocks physically written to the Flash Device. The plugin can reduce the number of blocks written to the Flash drive by, potentially, an order of magnitude or 1/10th the amount that would otherwise be written. By extension, a drive of a given size might last up to 10 times longer than it would without the Flash Media plugin.

It's worth noting that SSD's would benefit from the FlashMemory plugin as well.


1)
Update to link OMV6 New User Guide
  • flashmemory_plugin_for_omv6.1637790103.txt.gz
  • Last modified: 2021/11/24 21:41
  • by crashtest