How do fstrim and BTRFS SSD optimizations work for both SSD's in a RAID1?
0
votes
0
answers
379
views
First apologies if this has been asked before, but I could not find any link with any combination of keywords.
My question is - How do SSD optimisations work in BTRFS in a RAID1 where both devices are SSDs?
Also fstrim does not seem to pick up /dev/sdb1. See output at the end of this post.
I have /dev/sda1 and /dev/sdb1 (both partitions on SSDs) in a RAID1 configuration. But I see no message for sdb1 in the following dmesg output.
pi@testpi:~ $ dmesg | grep btrfs
[Thu Apr 20 00:35:06 2023] Btrfs loaded, crc32c=crc32c-generic, zoned=no, fsverity=no
[Thu Apr 20 00:35:06 2023] BTRFS: device label nasdisk_01 devid 1 transid 200 /dev/sdd1 scanned by systemd-udevd (209)
[Thu Apr 20 00:35:06 2023] BTRFS: device fsid 69f422a2-fea7-424c-886b-f291068dae9f devid 4 transid 73286 /dev/sdb1 scanned by systemd-udevd (205)
[Thu Apr 20 00:35:06 2023] BTRFS: device fsid 69f422a2-fea7-424c-886b-f291068dae9f devid 3 transid 73286 /dev/sda1 scanned by systemd-udevd (204)
[Thu Apr 20 00:35:06 2023] BTRFS info (device sdd1): using crc32c (crc32c-generic) checksum algorithm
[Thu Apr 20 00:35:06 2023] BTRFS info (device sdd1): setting nodatacow, compression disabled
[Thu Apr 20 00:35:06 2023] BTRFS info (device sdd1): disk space caching is enabled
[Thu Apr 20 00:35:06 2023] BTRFS info (device sda1): using crc32c (crc32c-generic) checksum algorithm
[Thu Apr 20 00:35:06 2023] BTRFS info (device sda1): disk space caching is enabled
[Thu Apr 20 00:35:07 2023] BTRFS info (device sdd1): enabling ssd optimizations
[Thu Apr 20 00:35:07 2023] BTRFS info (device sda1): enabling ssd optimizations
My fstab (partial - non-btrfs entries are removed here) is
PARTUUID=9c860f91-01 /mnt/raid1_01 btrfs defaults,noatime,nodiratime 0 2
PARTUUID=9c860f91-01 /mnt/media btrfs defaults,noatime,nodiratime,subvol=@media 0 2
PARTUUID=9c860f91-01 /mnt/docker-containers btrfs defaults,noatime,nodiratime,subvol=@docker-containers 0 2
PARTUUID=9c860f91-01 /mnt/shared-samba btrfs defaults,noatime,nodiratime,subvol=@shared-samba 0 2
PARTUUID=9c860f91-01 /mnt/shared-onedrive btrfs defaults,noatime,nodiratime,subvol=@shared-onedrive 0 2
PARTUUID=9c860f91-01 /mnt/docker-containers-databases btrfs defaults,noatime,nodiratime,subvol=@docker-containers-databases 0 2
PARTUUID=9c860f91-01 /mnt/work btrfs defaults,noatime,nodiratime,subvol=@work 0 2
Output of mount command is as following
pi@testpi:~ $ mount | grep btrfs
/dev/sdd1 on /mnt/nasdisk_01 type btrfs (rw,noatime,nodiratime,nodatasum,nodatacow,ssd,space_cache,subvolid=5,subvol=/)
/dev/sda1 on /mnt/docker-containers-databases type btrfs (rw,noatime,nodiratime,ssd,space_cache,subvolid=394,subvol=/@docker-containers-databases)
/dev/sda1 on /mnt/shared-samba type btrfs (rw,noatime,nodiratime,ssd,space_cache,subvolid=363,subvol=/@shared-samba)
/dev/sda1 on /mnt/shared-onedrive type btrfs (rw,noatime,nodiratime,ssd,space_cache,subvolid=391,subvol=/@shared-onedrive)
/dev/sda1 on /mnt/work type btrfs (rw,noatime,nodiratime,ssd,space_cache,subvolid=397,subvol=/@work)
/dev/sda1 on /mnt/docker-containers type btrfs (rw,noatime,nodiratime,ssd,space_cache,subvolid=362,subvol=/@docker-containers)
/dev/sda1 on /mnt/media type btrfs (rw,noatime,nodiratime,ssd,space_cache,subvolid=398,subvol=/@media)
/dev/sda1 on /mnt/raid1_01 type btrfs (rw,noatime,nodiratime,ssd,space_cache,subvolid=5,subvol=/)
Output of fstrim which shows that /dev/sdb1 is ignored.
pi@testpi:~ $ sudo fstrim -vA
/mnt/nasdisk_01: 2.2 GiB (2363473920 bytes) trimmed on /dev/sdd1
/mnt/raid1_01: 5 GiB (5337776128 bytes) trimmed on /dev/sda1
/: 2.9 GiB (3139751936 bytes) trimmed on /dev/sdc2
/boot: 201.8 MiB (211645952 bytes) trimmed on /dev/sdc1
Asked by Vijay Gill
(101 rep)
Apr 20, 2023, 02:24 PM