[Bug 228359] rebuild gmirror + ufs + ssd +trim

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat May 19 11:15:14 UTC 2018


            Bug ID: 228359
           Summary: rebuild gmirror + ufs + ssd +trim
           Product: Base System
           Version: 11.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: freebsd at ihead.ru

Assume the situation.

Have gmirror with 2 ssd components (ada0, ada1). UFS over gmirror.
One component (e.g., ada1) becomes broken and should be replaced.
gmirror forget gm0
replace broken drive with new one
gmirror insert gm0 ada1
gmirror rebuid gm0 ada1 (if autosync was disabled)

Wait some time until synchronization done.

Now what we have?
ada0 fine, but ada1 is fully dd'ed. From drive side ada1 is fully written.
Now we start write large volume of data to fs, and see (systat -vmstat) that
ada1 performs poorly (low write speed, high busy percentage).
When we remove large file from fs, TRIM is sent to ada1 and it begin perform
better (on new big write, hight write speed, less busy percentage).

Now the question.

Is there a way to send TRIM commands to ada1 after rebuild according UFS state
to allow drive know what "regions" should be considered as currently unused?

The way I found: is to create a large file and to delete it, but it is not
good, because of low overall performance during creation of a file.

You are receiving this mail because:
You are the assignee for the bug.

More information about the freebsd-bugs mailing list