Discussion:
fstrim auf RAID?
(zu alt für eine Antwort)
Ulli Horlacher
2024-10-12 10:02:06 UTC
Permalink
Ich hab ein btrfs Filesystem auf einem mdadm RAID5 mit 4 SSDs.
Frueher konnte ich da mal fstrim durchfuehren, inzwischen geht das nicht
mehr (warum?):

***@juhu:~/bin# df -TH /local/
Filesystem Type Size Used Avail Use% Mounted on
/dev/md127 btrfs 4.4T 1.9T 2.6T 42% /local

***@juhu:~/bin# fstrim -v /local
fstrim: /local: the discard operation is not supported

***@juhu:~/bin# lshd
Device Size Type Label Mountpoint
sda 1490G SCSI:DOS/MBR "NETAPP_X439_TPM3V1T6AMD"
sda1 64G btrfs "tmp" /tmp
sda2 32G Linux
sda3 32G swap "swap1" [swap]
sda4 1362G linux_raid "mux:nts1"
md127 4086G btrfs "local" /local
sdb 1490G SCSI:DOS/MBR "NETAPP_X439_TPM3V1T6AMD"
sdb1 64G btrfs "U18b"
sdb2 32G Linux
sdb3 32G swap "swap2"
sdb4 1362G linux_raid "mux:nts1"
md127 4086G btrfs "local" /local
sdc 1490G SCSI:DOS/MBR "NETAPP_X439_TPM3V1T6AMD"
sdc1 64G btrfs "M21" /
sdc2 32G Linux
sdc3 32G Linux
sdc4 1362G linux_raid "mux:nts1"
md127 4086G btrfs "local" /local
sdd 1490G SCSI:DOS/MBR "NETAPP_X439_TPM3V1T6AMD"
sdd1 64G btrfs "M21b"
sdd2 32G Linux
sdd3 32G Linux
sdd4 1362G linux_raid "mux:nts1"
md127 4086G btrfs "local" /local

***@juhu:~/bin# diskcheck -v sda
Device: /dev/sda
Vendor: NETAPP
Product: X439_TPM3V1T6AMD
Serial number: 86J0A007TWJC
User Capacity: 1,600,321,314,816 bytes [1.60 TB]
Rotation Rate: Solid State Device
Total_GB_written: 256,745
Used_Lifetime: 4%
Temperature: 35 C
Temperature: 64 C
Defect list: 0
SMART Health Status: OK

***@juhu:~/bin# mdadm --detail /dev/md127
/dev/md127:
Version : 1.2
Creation Time : Thu Feb 10 09:38:22 2022
Raid Level : raid5
Array Size : 4285387776 (3.99 TiB 4.39 TB)
Used Dev Size : 1428462592 (1362.29 GiB 1462.75 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Sat Oct 12 11:51:54 2024
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Consistency Policy : bitmap

Name : mux:nts1
UUID : 74388db3:3c3b30c3:e1295cc5:46f23ff7
Events : 18499

Number Major Minor RaidDevice State
0 8 20 0 active sync /dev/sdb4
1 8 4 1 active sync /dev/sda4
2 8 52 2 active sync /dev/sdd4
4 8 36 3 active sync /dev/sdc4


Auf nicht-RAID Partition funktioniertt es dagegen:

***@juhu:~/bin# df -TH /tmp
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 btrfs 69G 9.6M 67G 1% /tmp

***@juhu:~/bin# time fstrim -v /tmp
/tmp: 62 GiB (66583433216 bytes) trimmed

real 0m4.920s
user 0m0.000s
sys 0m0.019s
--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: ***@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
Friedemann Stoyan
2024-10-12 10:24:15 UTC
Permalink
Post by Ulli Horlacher
Ich hab ein btrfs Filesystem auf einem mdadm RAID5 mit 4 SSDs.
Frueher konnte ich da mal fstrim durchfuehren, inzwischen geht das nicht
Was zeigt denn 'lsblk --discard' an?

mfg Friedemann
Ulli Horlacher
2024-10-12 10:40:12 UTC
Permalink
Post by Friedemann Stoyan
Post by Ulli Horlacher
Ich hab ein btrfs Filesystem auf einem mdadm RAID5 mit 4 SSDs.
Frueher konnte ich da mal fstrim durchfuehren, inzwischen geht das nicht
Was zeigt denn 'lsblk --discard' an?
***@juhu:~# lsblk --discard
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda 0 4K 32M 0
|-sda1 0 4K 32M 0
|-sda2 0 4K 32M 0
|-sda3 0 4K 32M 0
`-sda4 0 4K 32M 0
`-md127 0 2M 0B 0
sdb 0 4K 32M 0
|-sdb1 0 4K 32M 0
|-sdb2 0 4K 32M 0
|-sdb3 0 4K 32M 0
`-sdb4 0 4K 32M 0
`-md127 0 2M 0B 0
sdc 0 4K 32M 0
|-sdc1 0 4K 32M 0
|-sdc2 0 4K 32M 0
|-sdc3 0 4K 32M 0
`-sdc4 0 4K 32M 0
`-md127 0 2M 0B 0
sdd 0 4K 32M 0
|-sdd1 0 4K 32M 0
|-sdd2 0 4K 32M 0
|-sdd3 0 4K 32M 0
`-sdd4 0 4K 32M 0
`-md127 0 2M 0B 0
--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: ***@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
Friedemann Stoyan
2024-10-12 10:57:51 UTC
Permalink
Post by Ulli Horlacher
Post by Friedemann Stoyan
Post by Ulli Horlacher
Ich hab ein btrfs Filesystem auf einem mdadm RAID5 mit 4 SSDs.
Frueher konnte ich da mal fstrim durchfuehren, inzwischen geht das nicht
Was zeigt denn 'lsblk --discard' an?
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda 0 4K 32M 0
|-sda1 0 4K 32M 0
|-sda2 0 4K 32M 0
|-sda3 0 4K 32M 0
`-sda4 0 4K 32M 0
`-md127 0 2M 0B 0
Der md Treiber scheint das Discard kaputt zu machen. Wenn Du mit:
'raid456.devices_handle_discards_safely=y' bootest, klappte es denn
dann?

Siehe auch https://www.kernel.org/doc/html/v5.8/admin-guide/device-mapper/dm-raid.html

Since the behavior of storage devices is unreliable in this respect, even
when reporting ‘discard_zeroes_data’, by default RAID 4/5/6 discard support
is disabled – this ensures data integrity at the expense of losing some performance.

Storage devices that properly support ‘discard_zeroes_data’ are increasingly
whitelisted in the kernel and can thus be trusted.

For trusted devices, the following dm-raid module parameter can be set to safely
enable discard support for RAID 4/5/6:

‘devices_handle_discards_safely’

mfg Friedemann
Ulli Horlacher
2024-10-12 11:32:12 UTC
Permalink
Post by Friedemann Stoyan
Post by Ulli Horlacher
Post by Friedemann Stoyan
Post by Ulli Horlacher
Ich hab ein btrfs Filesystem auf einem mdadm RAID5 mit 4 SSDs.
Frueher konnte ich da mal fstrim durchfuehren, inzwischen geht das nicht
Was zeigt denn 'lsblk --discard' an?
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda 0 4K 32M 0
|-sda1 0 4K 32M 0
|-sda2 0 4K 32M 0
|-sda3 0 4K 32M 0
`-sda4 0 4K 32M 0
`-md127 0 2M 0B 0
Der md Treiber scheint das Discard kaputt zu machen.
So was in der Art hab ich schon vermutet, denn frueher funktionierte noch
das fstrim

Ich ruf fsttrim nur selten und auch nur manuell durch, weil dann das
System fuer laengere Zeit unbenutzbar wird, ist dann in einem Art
fsfreeze.
Post by Friedemann Stoyan
'raid456.devices_handle_discards_safely=y' bootest, klappte es denn
dann?
Siehe auch https://www.kernel.org/doc/html/v5.8/admin-guide/device-mapper/dm-raid.html
Since the behavior of storage devices is unreliable in this respect, even
when reporting ?discard_zeroes_data?, by default RAID 4/5/6 discard support
is disabled ? this ensures data integrity at the expense of losing some performance.
^^^^^^^^^^^^^^^^^^^^^^^^^^^

Wenn ich das nun forciere mit raid456.devices_handle_discards_safely hab
ich u.U. Datenverlust zu befuerchten?
Dann lass ich es lieber mit dem fstrim, da die SSDs zudem noch melden:

Used_Lifetime: 4%
--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: ***@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: https://www.tik.uni-stuttgart.de/
Guni
2024-10-12 19:23:53 UTC
Permalink
Hi,
Post by Ulli Horlacher
Ich hab ein btrfs Filesystem auf einem mdadm RAID5 mit 4 SSDs.
Frueher konnte ich da mal fstrim durchfuehren, inzwischen geht das nicht
Lt. Handbuch sollte btrfs das automatisch machen.

https://btrfs.readthedocs.io/en/latest/Trim.html

Sollte auch einen Systemctl Eintrag geben.
fstrim.timer

Allerdings ist deine Raidkonfiguration fehlerhaft.
Post by Ulli Horlacher
sda4 1362G linux_raid "mux:nts1"
md127 4086G btrfs "local" /local
Ein md127 sollte nicht sein.

https://ctaas.de/software-raid.htm#mdadm.conf

HTH

Guni
Post by Ulli Horlacher
sdb 1490G SCSI:DOS/MBR "NETAPP_X439_TPM3V1T6AMD"
sdb1 64G btrfs "U18b"
sdb2 32G Linux sdb3 32G swap "swap2"
sdb4 1362G linux_raid "mux:nts1"
md127 4086G btrfs "local" /local
sdc 1490G SCSI:DOS/MBR "NETAPP_X439_TPM3V1T6AMD"
sdc1 64G btrfs "M21" / sdc2
32G Linux sdc3 32G Linux sdc4 1362G linux_raid "mux:nts1"
md127 4086G btrfs "local" /local
sdd 1490G SCSI:DOS/MBR "NETAPP_X439_TPM3V1T6AMD"
sdd1 64G btrfs "M21b"
sdd2 32G Linux sdd3 32G Linux sdd4 1362G linux_raid
"mux:nts1"
md127 4086G btrfs "local" /local
1,600,321,314,816 bytes [1.60 TB]
Rotation Rate: Solid State Device Total_GB_written: 256,745
Used_Lifetime: 4%
OK
Version : 1.2
Creation Time : Thu Feb 10 09:38:22 2022
Raid Level : raid5 Array Size : 4285387776 (3.99 TiB 4.39 TB)
Used Dev Size : 1428462592 (1362.29 GiB 1462.75 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sat Oct 12 11:51:54 2024
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Name : mux:nts1 UUID : 74388db3:3c3b30c3:e1295cc5:46f23ff7
Events : 18499
Number Major Minor RaidDevice State
0 8 20 0 active sync /dev/sdb4 1
8 4 1 active sync /dev/sda4 2 8
52 2 active sync /dev/sdd4 4 8 36
3 active sync /dev/sdc4
Mounted on /dev/sda1 btrfs 69G 9.6M 67G 1% /tmp
trimmed
real 0m4.920s user 0m0.000s sys 0m0.019s
Lesen Sie weiter auf narkive:
Loading...