Skip to main content

Flash (SSD) Initialization

These instructions assume that you have already done the basic installation for the flash drive (SSD).

Erasing the device

caution

Any pre-existing data on the disk will be lost during this process. Be sure that you do not do this to the drive containing the operating system because it will erase the OS.

In order to erase the device, it must be either trimmed or wiped (zeroized) before use. Devices can be erased concurrently.

Newly provisioned devices should be erased and their header (the initial 8MiB) must be wiped (zeroized). Older devices that previously had Aerospike data on them should be entirely wiped (zeroized) before being reused.

Trimming the device

Trimming with blkdiscard (or a similar utility) is significantly faster than wiping (zeroizing) the entire device. Many drives support TRIM (for example, all modern Amazon EC2 instances support TRIM).

blkdiscard /dev/<device-id>

Now wipe (zeroize) the Aerospike device header.


# use blkdiscard to zeroize the header
blkdiscard -z --length 8MiB /dev/<device-id>

# alternatively use dd to zeroize the header
dd if=/dev/zero of=/dev/<device-id> bs=1024 count=8192 oflag=direct

If you need to erase a device that previously held Aerospike data, you need to be sure that the drive deterministically returns zeros after TRIM (RZAT). You should check with your hardware provider or cloud provider. If you are unsure, it is safer to wipe (zeroize) the device.

Wiping the device

Wiping raw drives is similar to formatting a conventional drive and may take an hour or more depending on the drive.


# using blkdiscard to zeroize the device
blkdiscard -z /dev/<device-id>

Using dd to wipe (zeroize) the device

Alternatively, use dd to wipe (zeroize) the device.


dd if=/dev/zero of=/dev/<device-id> bs=1M &

Once the disk is completely zeroized, dd will finish with the message No space left on device or an out of space error. This shows that dd has successfully completed writing to the entire disk and there is no more space left for dd to continue.

To monitor the progress of dd, you can use:


bash$ while [ 1 ]
do kill -USR1 (pid_of_dd)
sleep 60
done