Added blkdiscard blog article

This commit is contained in:
Julien Dessaux 2021-08-04 16:47:48 +02:00
parent 6086696db0
commit 9b7ce54671
2 changed files with 33 additions and 1 deletions

View file

@ -0,0 +1,32 @@
---
title: How to discard a whole ssd
date: 2021-08-04
description: How to discard ssd partitions, and not just mounted devices
tags:
- linux
---
## Introduction
You are probably aware already that Solid State Drives are affected by wear and tear. One of the mechanisms to manage this is to make sure your operating system properly discards unused sectors when deleting files.
## Automatic discards
There are multiple ways to do this automatically, for example :
- cryptsetup has the `--allow-discards` flag
- lvm has an `issue_discards` option in lvm.conf
- standard partition can be mounted with the `discard` mount option
The root partition is a special case when encrypted, for example on Gentoo the cryptsetup flag is passed by genkernel with the non standard `root_trim=yes` on the grub's kernel command line. Other linux distributions will differ in this regard.
## Manual discards
If some of your ssd's discards were not issued for one reason or another, you can run a manual discard job on your mounted filesystems with :
```
fstrim -a
```
But what if you need to do this for a drive or partition that is not mounted? That's what I discovered today and triggered me writing this post : enter `blkdiscard` which like its name suggests, manipulates block devices :
```
blkdiscard /dev/sda
```

View file

@ -156,7 +156,7 @@ emerge gentoo-sources genkernel -q
# /etc/fstab: static file system information. # /etc/fstab: static file system information.
# #
#<fs> <mountpoint> <type> <opts> <dump/pass> #<fs> <mountpoint> <type> <opts> <dump/pass>
/dev/vda3 / ext4 noatime 0 1 /dev/vda3 / ext4 noatime,discard 0 1
/dev/vda2 /boot vfat noatime 1 2 /dev/vda2 /boot vfat noatime 1 2
/portage.img /usr/portage ext2 noatime,nodev,loop 0 0 /portage.img /usr/portage ext2 noatime,nodev,loop 0 0
{{< /highlight >}} {{< /highlight >}}