Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[eis1] Kernel 2.6.>29 SSD ATA TRIM - (online) Discard

38 views
Skip to first unread message

Fabian Törner

unread,
Nov 14, 2011, 11:05:14 AM11/14/11
to
Hallo zusammen,
Hallo tom,

ich überlege meine betagte 2,5" HDD durch eine SSD (mir ist aus einem
Umbau eine SSD in die Hände gefallen) zu ersetzen. Die 2,5" HDD hat auch
bald ihre Verschleißgrenze erreicht :)
Nun zum Betreff. Ich habe unter [1] gelesen, dass bestimmte Funktionen
erst ab bestimmter Kernelversion enthalten sind.

Mein System (eisfair1) läuft bereits unter aktuellem 2.6er Kernel
(2.6.32-eisfair-1 Non-SMP).
Dummerweise habe ich ausgerechnet zu diesem Kernel 2.6.32 einen "negativ
Beitrag" [2] zur Performance gefunden

In wie weit sind die, sagen wir Optimierungen bezgl. SSD, in den
eiskernel eingeflossen? Manche "Optimierungen" wie Online Discard sind
laut [1] erst ab 2.6.33 verfügbar.

@tom planst Du demnächst einen Kernel >2.6.32 für eisfair1 zur Verfügung
zu stellen?

Wie sollte ich die SSD auf den Einsatz in meinem Server vorbereiten -
Formatierung mit ext4 und Option discard? Gibt es dazu irgendwelche
Einwände sonst würde ich nach diesem HowTo [3] hier vorgehen.
Ich vermute das unter [1] genannte Btrfs ist momentan nicht unter
eisfair1 vorgesehen - richtig?

Ich würde aus momentaner Sicht lieber mit online discard arbeiten
(lassen) wenn denn möglich bzw. unterstützt :)

Auf der momentanen Systemplatte ( ide HDD 2,5" 40 GB Hitachi) ist /boot,
Swap und / (als /dev/hda3) mit insgesamt ca. 20 GB die restlichen 20 GB
als /dev/hda4 habe ich separat eingebunden u.a. für email accounts.
Die SSD würde ich gern genauso einrichten nur würde ich die zusätzlichen
24 GB von der SSD /dev/hda4 zuordnen /boot, Swap und / (dev/hda3) würde
ich so belassen wollen.

Vielen Dank für die Unterstützung & viele Grüße
Fabian

[1] http://www.thomas-krenn.com/de/wiki/ATA_Trim
[2]
http://www.ocztechnologyforum.com/forum/showthread.php?96017-SOLVED-Bad-SSD-performance-on-Linux-kernel-2.6.32
[3]
http://sites.google.com/site/lightrush/random-1/howtoconfigureext4toenabletrimforssdsonubuntu

Thomas Bork

unread,
Nov 14, 2011, 3:14:38 PM11/14/11
to
Am 14.11.2011 17:05, schrieb Fabian Törner:

> Nun zum Betreff. Ich habe unter [1] gelesen, dass bestimmte Funktionen
> erst ab bestimmter Kernelversion enthalten sind.

Korrekt.

> Mein System (eisfair1) läuft bereits unter aktuellem 2.6er Kernel
> (2.6.32-eisfair-1 Non-SMP).
> Dummerweise habe ich ausgerechnet zu diesem Kernel 2.6.32 einen "negativ
> Beitrag" [2] zur Performance gefunden

Es ist fraglich, ob dieser Effekt mit der jetzigen Kernel-Version noch
auftritt. Es ist von "frühen" 2.6.32er Versionen die Rede und es wurden
zahlreiche Änderungen nach dem besagten Patch vorgenommen, siehe

http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=history;f=block/blk-core.c;h=cffd73792633e1cbc1f4d2816cda53374de3a9ec;hb=350f6cb41bfba103222b6de79deb642f4efd2a33

> In wie weit sind die, sagen wir Optimierungen bezgl. SSD, in den
> eiskernel eingeflossen? Manche "Optimierungen" wie Online Discard sind
> laut [1] erst ab 2.6.33 verfügbar.

Es handelt sich beim eisfair-Kernel um einen puren Vanilla-2.6.32er
Kernel, lediglich angereichert mit dem eisfair-Logo, einem Patch für
MPPE/MPPC, kleineren Korrekturen im Bereich der ISDN-Treiber und bei
einem SCSI-Treiber.

> @tom planst Du demnächst einen Kernel >2.6.32 für eisfair1 zur Verfügung
> zu stellen?

Nein. Ich habe bisher keinen Patch für MPPE/MPPC bei Kerneln >2.6.32
gefunden. Ausserdem wurde von mir bewusst diese Version ausgewählt, um
noch bestimmte ISDN-Treiber zur Verfügung stellen zu können.

Ein Umstieg kommt also erst dann in Frage, wenn der 2.6.32-longterm
offiziell abgekündigt (also nicht mehr weiter gepflegt) wird.

> Wie sollte ich die SSD auf den Einsatz in meinem Server vorbereiten -
> Formatierung mit ext4 und Option discard? Gibt es dazu irgendwelche
> Einwände sonst würde ich nach diesem HowTo [3] hier vorgehen.

Ich habe leider keine Erfahrung mit diesem Thema.

> Ich vermute das unter [1] genannte Btrfs ist momentan nicht unter
> eisfair1 vorgesehen - richtig?

Nicht für die Bootplatte (und damit verfügbar im Installer).

--
der tom
[eisfair-team]

Fabian Törner

unread,
Nov 14, 2011, 3:46:01 PM11/14/11
to
Hi tom,
ok, dann geht wohl nur testen :)
werde mir mal im Testeis ne Probeinstallation machen und den TRIM testen...


Vielen Dank fᅵr Deine Erlᅵuterungen - ich nehme diese fᅵr einen Test zum
Anlass :)

Viele Grᅵᅵe
Fabian

Thomas Bork

unread,
Nov 14, 2011, 4:16:08 PM11/14/11
to
Am 14.11.2011 21:46, schrieb Fabian Törner:

> ok, dann geht wohl nur testen :)
> werde mir mal im Testeis ne Probeinstallation machen und den TRIM testen...

Wenn Du beim Test *tatsächlich* schlechte Werte erhältst, kann man
darüber nachdenken, den besagten Patch wieder herauszunehmen, so wie das
in 2.6.33 gemacht wurde:

http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdiff;h=79da0644a8e0838522828f106e4049639eea6baf

Ich verstehe sowieso nicht, warum die Änderung nicht in 2.6.32-longterm
angekommen ist...

--
der tom
[eisfair-team]

Fabian Törner

unread,
Nov 15, 2011, 3:07:10 PM11/15/11
to
Hi tom,

Am 14.11.2011 22:16, schrieb Thomas Bork:
> Am 14.11.2011 21:46, schrieb Fabian Törner:
>
>> ok, dann geht wohl nur testen :)
>> werde mir mal im Testeis ne Probeinstallation machen und den TRIM
>> testen...
>

die Platte wird nichtmal gefunden :(
leider auch nicht bei der Installation.
Habe dann auf ner alten 80gb ide Platte von usb eis
"eisfair-1.7.6-2.0.13-cd-image" neu aufgesetzt.

Nach dem Start versucht einiges an modulen zu laden hat was gebracht :)

eis-test # lsmod
Module Size Used by
sata_nv 15611 0
sata_sil 5700 0
libata 113454 2 sata_nv,sata_sil
sd_mod 20103 0
scsi_mod 63281 2 libata,sd_mod
forcedeth 40426 0
usbhid 18022 0
hid 28832 1 usbhid
xhci 28939 0
ohci_hcd 17532 0
ssb 25788 1 ohci_hcd
uhci_hcd 15270 0
ehci_hcd 27194 0
usbcore 94317 6 usbhid,xhci,ohci_hcd,uhci_hcd,ehci_hcd
psmouse 33065 0


modprobe sata_nv und sd_mod waren glaube ich die fehlenden Module :)
da war sie nun:

eis-test # fdisk -l

Disk /dev/hda: 80.1 GB, 80060424192 bytes
255 heads, 63 sectors/track, 9733 cylinders, total 156368016 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd53d826f

Device Boot Start End Blocks Id System
/dev/hda1 * 63 273104 136521 83 Linux
/dev/hda2 273105 2281229 1004062+ 82 Linux swap / Solaris
/dev/hda3 2281230 32290649 15004710 83 Linux
/dev/hda4 32290650 78140159 22924755 83 Linux

Disk /dev/sda: 64.0 GB, 64023257088 bytes
255 heads, 63 sectors/track, 7783 cylinders, total 125045424 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sda doesn't contain a valid partition table
eis-test #

nach dem Partitionieren:

eis-test # fdisk -l

Disk /dev/hda: 80.1 GB, 80060424192 bytes
255 heads, 63 sectors/track, 9733 cylinders, total 156368016 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd53d826f

Device Boot Start End Blocks Id System
/dev/hda1 * 63 273104 136521 83 Linux
/dev/hda2 273105 2281229 1004062+ 82 Linux swap / Solaris
/dev/hda3 2281230 32290649 15004710 83 Linux
/dev/hda4 32290650 78140159 22924755 83 Linux

Disk /dev/sda: 64.0 GB, 64023257088 bytes
183 heads, 63 sectors/track, 10846 cylinders, total 125045424 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x42ed0845

Device Boot Start End Blocks Id System
/dev/sda1 2048 125045423 62521688 83 Linux

Dateisystem anlegen:

eis-test # mkfs.ext4 /dev/sda1
mke2fs 1.41.14 (22-Dec-2010)
warning: 86 blocks unused.

Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3915216 inodes, 15630336 blocks
781521 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
477 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
2654208,
4096000, 7962624, 11239424

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

so nun zum Test:

eis-test # mount -o discard /dev/sda1 /mnt
eis-test # mount
/dev/hda3 on / type ext3 (rw,errors=remount-ro,acl,user_xattr)
/dev/hda1 on /boot type ext3 (rw,errors=remount-ro)
/dev/hda4 on /data type ext3 (rw,acl,user_xattr)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/sys on /sys type sysfs (rw)
/dev/sda1 on /mnt type ext4 (rw,discard)
eis-test # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda3 15G 326M 14G 3% /
/dev/hda1 130M 12M 111M 10% /boot
/dev/hda4 22G 3.6G 17G 18% /data
/dev/sda1 59G 180M 56G 1% /mnt
eis-test # cd /mnt
eis-test # dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
100+0 records in
100+0 records out
52428800 bytes (52 MB) copied, 13.1495 s, 4.0 MB/s
eis-test # hdparm --fibmap tempfile

tempfile:
filesystem blocksize 4096, begins at LBA 2048; assuming 512 byte sectors.
byte_offset begin_LBA end_LBA sectors
0 273408 375807 102400
eis-test # hdparm --read-sector 273408 /dev/sda

/dev/sda:
reading sector 273408: succeeded
f0c7 e296 aa93 74cf aebc 611b ac22 ebd2
61ac 9a7b ffb4 1f7e eff9 422d 9c3f aa23
57eb b322 45be 1124 53ee 12e3 714a 839c
acbb fa96 610d 3e14 0c22 550e fcaf 2f79
1748 69b4 2846 5e29 8641 7646 5a7e e2f8
9036 48d1 9589 5923 4081 f747 49d4 b60a
9a5a 366a e82f 50a9 b225 69cc 0813 bdee
c3f0 8639 91cd e9a7 91cf 516b b4e6 ba45
7250 4893 82b2 f0ec d728 cb0d b35e 1954
229b 8f5d 913c a33c 31c8 ad6d 818b 357c
7187 8886 a7cc 5330 8b59 f773 b2b1 75d4
a497 4dcb 44ae bac2 42c7 97cd 3177 aa49
0ba7 00fd 7e39 10ed 2588 042e 4037 530b
924f e3d2 1d4d 24f2 dd27 060b 5104 035e
fc3b fef1 6f08 cdf9 71df a659 2b16 78da
d857 4d92 8aa4 d90c 8acb 0a86 2e2b b199
33c2 4759 4690 2ae7 fd83 e2fb d1c1 b21e
80f1 f2fd 3de5 7a50 0b88 6854 cd2f a829
fc75 1d47 24bd 6920 ddf8 875f 7076 c038
1185 fa79 7c14 a7f4 5195 fa24 f35b 0603
3d7b cd98 b8ba e99c f7a5 12dc 9e8f a101
5635 c395 a5d9 2f7d dbe7 1fce 20b1 a8f7
129a e670 5ade 9476 1583 8c3b fdc6 b363
e0ae f970 946d 3490 011d 6084 f756 fa01
eefe 5431 0bb0 c547 dd71 17e6 5457 57b3
3b1e cfb7 bdcd b131 22ce f989 5d62 cbb2
4513 cd17 6dcb 7670 f4b3 0a0d 4f50 f7ea
a116 a9ff 6999 37cf eea4 c27c ef58 e2cd
4184 d5d9 1265 93b4 87cb e864 8df8 13d0
3bd0 9287 1df2 624d 9662 69b2 b450 7759
8185 e52a 182f 404d ee00 ecf4 e470 0675
1fc4 76ad 759b 9446 98e1 0462 a7c3 c94c
eis-test # rm tempfile
eis-test # sync
eis-test # hdparm --read-sector 273408 /dev/sda

/dev/sda:
reading sector 273408: succeeded
f0c7 e296 aa93 74cf aebc 611b ac22 ebd2
61ac 9a7b ffb4 1f7e eff9 422d 9c3f aa23
57eb b322 45be 1124 53ee 12e3 714a 839c
acbb fa96 610d 3e14 0c22 550e fcaf 2f79
1748 69b4 2846 5e29 8641 7646 5a7e e2f8
9036 48d1 9589 5923 4081 f747 49d4 b60a
9a5a 366a e82f 50a9 b225 69cc 0813 bdee
c3f0 8639 91cd e9a7 91cf 516b b4e6 ba45
7250 4893 82b2 f0ec d728 cb0d b35e 1954
229b 8f5d 913c a33c 31c8 ad6d 818b 357c
7187 8886 a7cc 5330 8b59 f773 b2b1 75d4
a497 4dcb 44ae bac2 42c7 97cd 3177 aa49
0ba7 00fd 7e39 10ed 2588 042e 4037 530b
924f e3d2 1d4d 24f2 dd27 060b 5104 035e
fc3b fef1 6f08 cdf9 71df a659 2b16 78da
d857 4d92 8aa4 d90c 8acb 0a86 2e2b b199
33c2 4759 4690 2ae7 fd83 e2fb d1c1 b21e
80f1 f2fd 3de5 7a50 0b88 6854 cd2f a829
fc75 1d47 24bd 6920 ddf8 875f 7076 c038
1185 fa79 7c14 a7f4 5195 fa24 f35b 0603
3d7b cd98 b8ba e99c f7a5 12dc 9e8f a101
5635 c395 a5d9 2f7d dbe7 1fce 20b1 a8f7
129a e670 5ade 9476 1583 8c3b fdc6 b363
e0ae f970 946d 3490 011d 6084 f756 fa01
eefe 5431 0bb0 c547 dd71 17e6 5457 57b3
3b1e cfb7 bdcd b131 22ce f989 5d62 cbb2
4513 cd17 6dcb 7670 f4b3 0a0d 4f50 f7ea
a116 a9ff 6999 37cf eea4 c27c ef58 e2cd
4184 d5d9 1265 93b4 87cb e864 8df8 13d0
3bd0 9287 1df2 624d 9662 69b2 b450 7759
8185 e52a 182f 404d ee00 ecf4 e470 0675
1fc4 76ad 759b 9446 98e1 0462 a7c3 c94c
eis-test #


mhh sieht nicht gut aus :(
OK, erstmal die benötigten Module in die initrd verfrachtet - am
einfachsten gehts ja mit nem Kernelupdate ;)
Dann die fstab entsprechend aktualisiert:

/dev/sda1 /mnt ext4 defaults,errors=remount-ro,discard 0 1

und neu gestartet.

Test nochmal:

Welcome to eisfair!
base : 1.7.6
eiskernel: 2.0.14 (2.6.32-eisfair-1)

eis-test # cd /mnt
eis-test # dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
100+0 records in
100+0 records out
52428800 bytes (52 MB) copied, 13.9493 s, 3.8 MB/s
eis-test # hdparm --fibmap tempfile

tempfile:
filesystem blocksize 4096, begins at LBA 2048; assuming 512 byte sectors.
byte_offset begin_LBA end_LBA sectors
0 273408 375807 102400
eis-test # hdparm --read-sector 273408 /dev/sda

/dev/sda:
reading sector 273408: succeeded
5d97 0208 d5eb de9b 8635 50b4 b252 35d7
93b7 619f f9d4 1575 c092 13b2 af7c 34c7
2505 6df5 93ad cc12 17ef 587f 672d ad22
0171 ae6a 6086 4b4f 141e df48 9d26 7d5e
31c6 cd3a dcde 9775 519f c0ef e4ec f64e
f130 bc3a 230c 68d9 ef25 45e0 560f 6a3e
fb5f 2d16 21fe 7277 ba4d 8cc1 8cb3 1ac5
d22d 95d5 d3c7 6764 fc48 710c 4d24 7f0d
a93b 813f 0dcc bdd7 c177 f14a 948b 6a41
1fc6 43da d548 1b74 1e70 7932 c145 eb6b
8c76 9bb9 b144 66fc ada2 ace2 609d 7b45
7a1b 085e 367d e1c7 1ce8 fe2f 0ea1 2414
9e83 12b7 ea40 7349 ea7e e219 2aae 922b
c236 3603 db3b 35db 9f5d 2dc7 ea66 6910
d689 85fd af07 071b face d26b 9a52 a9a4
1dd4 db3d 6d10 73ef 25b8 68a6 8b17 b127
5229 3402 e9a0 99af 121c e5d6 59e2 ab9a
9c25 068b d032 af10 2be7 da0b bf9a 4229
d14e 0315 bbac b91b f76a ce64 87b9 ac00
1c82 f8bb d531 2506 464b 4151 6327 f4b2
a049 3fab 44b7 24df 8c1b 687f d4af 2d54
b65a d676 f04c 25b8 a733 0f90 2ad2 4d2e
56b5 e350 4301 7f10 2e8e d372 1168 0379
05f6 d976 9590 0513 8b14 5453 ed88 53e1
6c10 c034 8fcc 473d 206d 5f77 a35f 1eb9
e8eb 6d53 5b58 bfa0 76e0 6e9b 2343 1289
65c8 0df9 7241 bfed 8aac e52a f6b3 78f5
51e6 6913 3837 e055 7b52 9fb8 ae53 b4c1
5f50 25d7 c659 38ea 1906 b513 8a65 6347
2bda 80e6 7eb1 6d38 7a84 28f5 bc95 ce22
3aa2 daf4 0957 1013 6786 49c6 f89f cabf
cf79 4359 3bfa 26f9 6670 36b6 9e7d 7271
eis-test # rm tempfile
eis-test # sync
eis-test # hdparm --read-sector 273408 /dev/sda

/dev/sda:
reading sector 273408: succeeded
5d97 0208 d5eb de9b 8635 50b4 b252 35d7
93b7 619f f9d4 1575 c092 13b2 af7c 34c7
2505 6df5 93ad cc12 17ef 587f 672d ad22
0171 ae6a 6086 4b4f 141e df48 9d26 7d5e
31c6 cd3a dcde 9775 519f c0ef e4ec f64e
f130 bc3a 230c 68d9 ef25 45e0 560f 6a3e
fb5f 2d16 21fe 7277 ba4d 8cc1 8cb3 1ac5
d22d 95d5 d3c7 6764 fc48 710c 4d24 7f0d
a93b 813f 0dcc bdd7 c177 f14a 948b 6a41
1fc6 43da d548 1b74 1e70 7932 c145 eb6b
8c76 9bb9 b144 66fc ada2 ace2 609d 7b45
7a1b 085e 367d e1c7 1ce8 fe2f 0ea1 2414
9e83 12b7 ea40 7349 ea7e e219 2aae 922b
c236 3603 db3b 35db 9f5d 2dc7 ea66 6910
d689 85fd af07 071b face d26b 9a52 a9a4
1dd4 db3d 6d10 73ef 25b8 68a6 8b17 b127
5229 3402 e9a0 99af 121c e5d6 59e2 ab9a
9c25 068b d032 af10 2be7 da0b bf9a 4229
d14e 0315 bbac b91b f76a ce64 87b9 ac00
1c82 f8bb d531 2506 464b 4151 6327 f4b2
a049 3fab 44b7 24df 8c1b 687f d4af 2d54
b65a d676 f04c 25b8 a733 0f90 2ad2 4d2e
56b5 e350 4301 7f10 2e8e d372 1168 0379
05f6 d976 9590 0513 8b14 5453 ed88 53e1
6c10 c034 8fcc 473d 206d 5f77 a35f 1eb9
e8eb 6d53 5b58 bfa0 76e0 6e9b 2343 1289
65c8 0df9 7241 bfed 8aac e52a f6b3 78f5
51e6 6913 3837 e055 7b52 9fb8 ae53 b4c1
5f50 25d7 c659 38ea 1906 b513 8a65 6347
2bda 80e6 7eb1 6d38 7a84 28f5 bc95 ce22
3aa2 daf4 0957 1013 6786 49c6 f89f cabf
cf79 4359 3bfa 26f9 6670 36b6 9e7d 7271
eis-test #


immer noch. Heißt also momentan kein TRIM ...
Kann man das irgendwo noch aktivieren?

Vielen Dank & viele Grüße
Fabian

Fabian Törner

unread,
Nov 15, 2011, 3:32:02 PM11/15/11
to
Am 15.11.2011 21:07, schrieb Fabian Törner:
>>> werde mir mal im Testeis ne Probeinstallation machen und den TRIM
>>> testen...

eis-test # hdparm -I /dev/sda | grep -i trim
* Data Set Management TRIM supported (limit unknown)

also prinzipiell unterstützen tut sie es ja :)
habs dann manuell versucht mit wiper [1]

eis-test # cd /tmp/wiper-3.3
eis-test # ls -l
total 76
-rw-r--r-- 1 root root 1680 Jan 24 2011 Changelog
-rw-r--r-- 1 root root 18012 Jul 29 2009 GPLv2.txt
-rw-r--r-- 1 root root 4317 Nov 7 2010 README.txt
drwxr-xr-x 2 root root 4096 Jan 16 2011 contrib
-rw-r--r-- 1 root root 3274 Nov 11 2010 diffs-3.1plus.patch
-rw-r--r-- 1 root root 1350 Aug 1 2009 fiemap_compat_ioctl.patch
-rw-r--r-- 1 root root 1406 Jul 30 2009 sil24_trim_protocol_fix.patch
-rwxr-xr-x 1 root root 27518 Jan 16 2011 wiper.sh
eis-test # ./wiper.sh /dev/sda1

wiper.sh: Linux SATA SSD TRIM utility, version 3.3, by Mark Lord.
Preparing for online TRIM of free space on /dev/sda1 (ext4 mounted
read-write at /mnt).
This will be a DRY-RUN only. Use --commit to do it for real.
Creating temporary file (57645962 KB).. Error: this copy of hdparm was
built without WIPER_TMPFILE.4053 support
/dev/sda1: this kernel may not support 'fallocate' on a ext4 filesystem,
aborting.
eis-test #

leider auch ohne Erfolg.

Also im Moment kein TRIM online wie offline möglich :(
Bin für alle Anregungen etc. offen :)

Viele Grüße
Fabian


[1] http://sourceforge.net/projects/hdparm/files/

Thomas Bork

unread,
Nov 15, 2011, 3:48:05 PM11/15/11
to
Am 15.11.2011 21:07, schrieb Fabian Törner:

> immer noch. Heißt also momentan kein TRIM ...
> Kann man das irgendwo noch aktivieren?

Da unter

http://www.thomas-krenn.com/de/wiki/ATA_Trim

schon steht, das online-discard erst ab Kernel 2.6.33 möglich ist, wohl
nicht.

Bleibt das manuelle Trimmen mit wiper.sh von hdparm.
Das müsste aber zyklisch (z.B. über cron) aufgerufen werden, da es eben
kein *online*-discard ist...

--
der tom
[eisfair-team]

Fabian Törner

unread,
Nov 15, 2011, 4:41:22 PM11/15/11
to
Hi tom,

Am 15.11.2011 21:48, schrieb Thomas Bork:
> Da unter
>
> http://www.thomas-krenn.com/de/wiki/ATA_Trim
>
> schon steht, das online-discard erst ab Kernel 2.6.33 möglich ist, wohl
> nicht.

meintest Du nicht, dass diese "Neuerung" evtl. auch schon in den 2.6.32
eingeflossen sein könnte, sei es drum gehn tuts nicht.

> Bleibt das manuelle Trimmen mit wiper.sh von hdparm.
> Das müsste aber zyklisch (z.B. über cron) aufgerufen werden, da es eben
> kein *online*-discard ist...

würde ich auch mit leben können, leider klappt dieses ja auch nicht -
siehe anderes Posting von mir um 21:32 Uhr.

Thomas Bork

unread,
Nov 15, 2011, 5:39:15 PM11/15/11
to
Am 15.11.2011 21:32, schrieb Fabian Törner:

> Creating temporary file (57645962 KB).. Error: this copy of hdparm was
> built without WIPER_TMPFILE.4053 support
> /dev/sda1: this kernel may not support 'fallocate' on a ext4 filesystem,
> aborting.

Dann hast Du wirklich Pech. Das liegt an unserer alten libc, die wir
nicht erneuern können, ohne zum 2.4er Kernel inkompatibel zu werden :(

fallocate.c von hdparm includiert /usr/include/sys/syscall.h, welches
/usr/include/bits/syscall.h konsultiert, welches zur Build-Zeit unserer
libc mit dem alten 2.4er Kernel erzeugt wurde...

--
der tom
[eisfair-team]

Thomas Bork

unread,
Nov 15, 2011, 6:06:16 PM11/15/11
to
Am 15.11.2011 22:41, schrieb Fabian Törner:

> meintest Du nicht, dass diese "Neuerung" evtl. auch schon in den 2.6.32
> eingeflossen sein könnte, sei es drum gehn tuts nicht.

Nein. Ich meinte, das Performance-Problem sei eventuell schon gelöst
worden...

--
der tom
[eisfair-team]

Fabian Törner

unread,
Nov 16, 2011, 1:19:04 PM11/16/11
to
Hi tom,

Am 15.11.2011 23:39, schrieb Thomas Bork:
> Dann hast Du wirklich Pech.

sieht so aus :(
aber Holger möchte in eine der nächsten Base-Versionen die util-linux
updaten - da gibts dann auch fstrim :)

noch was anderes am Rande, ich habe heute nochmal direkt auf der ssd
eisfair neu installiert - diesmal mit Angabe des Moduls, danach hat er,
wie zu erwarten, die ssd auch gefunden.
Dabei ist mir aufgefallen, dass leider die Partitionen aus meiner Sicht
nicht aligned sind und leider auch im ext3 Format.

eis-test # mount
/dev/sda3 on / type ext3 (rw,errors=remount-ro,acl,user_xattr)
/dev/sda1 on /boot type ext3 (rw,errors=remount-ro)
/dev/sda4 on /data type ext3 (rw,acl,user_xattr)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/sys on /sys type sysfs (rw)
eis-test #


Sehe ich es richtig, dass wenn ich, da ssd, diese aligned und mit ext4
eingerichtet haben möchte dieses über den "normalen" Installer nicht geht?
Alternativ müsste ich dann die ssd auf meiner Testmaschine vorbereiten,
sprich manuell partitionieren und mit ext4 formatieren.

Unter [1] habe ich gefunden, dass swap ab 2.6.29 automatisch trimmt per
discard. Ich vermute das dieses auch nicht im eiskernel ist, richtig?

eis-test # swapon -s
Filename Type Size Used
Priority
/dev/sda2 partition 136544 0 -1
eis-test # swapon -h

Usage:
swapon -a [-e] [-v] [-f] enable all swaps from /etc/fstab
swapon [-p priority] [-v] [-f] <special> enable given swap
swapon -s display swap usage summary
swapon -h display help
swapon -V display version

The <special> parameter:
{-L label | LABEL=label} LABEL of device to be used
{-U uuid | UUID=uuid} UUID of device to be used
<device> name of device to be used
<file> name of file to be used

eis-test #

Wenn doch, kann ich irgendwie prüfen ob es das tut was es soll :) ?

Vielen Dank & viele Grüße
Fabian

[1]
http://www.thomas-krenn.com/de/wiki/ATA_Trim#ATA_Trim_bei_Linux_Swap_Devices

Thomas Bork

unread,
Nov 16, 2011, 4:03:43 PM11/16/11
to
Am 16.11.2011 19:19, schrieb Fabian Törner:

> aber Holger möchte in eine der nächsten Base-Versionen die util-linux
> updaten - da gibts dann auch fstrim :)

Na hoffentlich ist das nicht auf fallocate angewiesen...

> Dabei ist mir aufgefallen, dass leider die Partitionen aus meiner Sicht
> nicht aligned sind und leider auch im ext3 Format.

Aligning passiert im Installer nur ab einer bestimmten Grösse und nach
Nachfrage.

Man könnte darüber nachdenken, die erste Partition immer bei einem durch
8 teilbaren Sektor beginnen zu lasse - egal bei welcher Grösse des
Datenträgers.
Aber es gab damit aus der Erinnerung heraus Probleme bei der
Installation auf USB-Sticks.

ext3 ist das Standard-Format im Installer - andere Formate sind zur Zeit
nicht eingebaut.

> Sehe ich es richtig, dass wenn ich, da ssd, diese aligned und mit ext4
> eingerichtet haben möchte dieses über den "normalen" Installer nicht geht?

Genau.

> Unter [1] habe ich gefunden, dass swap ab 2.6.29 automatisch trimmt per
> discard. Ich vermute das dieses auch nicht im eiskernel ist, richtig?

2.6.32.47 ist grösser als 2.6.29.

> Wenn doch, kann ich irgendwie prüfen ob es das tut was es soll :) ?

Da muss ich genauso eine Suchmaschine bemühen wie Du ;)

--
der tom
[eisfair-team]

Fabian Törner

unread,
Nov 17, 2011, 12:26:57 PM11/17/11
to
Hi tom,

Am 16.11.2011 22:03, schrieb Thomas Bork:

> Man könnte darüber nachdenken, die erste Partition immer bei einem durch
> 8 teilbaren Sektor beginnen zu lasse - egal bei welcher Grösse des
> Datenträgers.
> Aber es gab damit aus der Erinnerung heraus Probleme bei der
> Installation auf USB-Sticks.

Meiner Meinung nach würde wenn nur eine Abfrage Sinn machen ob auf das
zu installierende Medium alligned ausgerichtet werden soll oder nicht.
Muss aber auch nicht - wie gesagt solche Besonderheiten müssen aus
meiner Sicht nicht unbedingt eisfair mäßig abgedeckt sein.
Man kann sich ja auch behelfen s.u. :)

Mehr zu dem Thema [1-4]

>> Wenn doch, kann ich irgendwie prüfen ob es das tut was es soll :) ?
>
> Da muss ich genauso eine Suchmaschine bemühen wie Du ;)

Kein Thema - ich hatte gehofft Du würdest das eben aus dem Arm schütteln ;)
Nach momentanen Erkenntnissen (anders gesagt meine Suche hat ergeben)
werde ich swap ebenso wie die anderen Partitionen mit fstrim bereinigen.
Wenn es denn bald verfügbar sein wird ;)

Vielen Dank & viele Grüße
Fabian


[1] http://www.nuclex.org/blog/personal/80-aligning-an-ssd-on-linux
[2]
http://www.thomas-krenn.com/de/wiki/Linux_Software_RAID#Alignment_.C3.BCberpr.C3.BCfen
[3] http://www.thomas-krenn.com/de/wiki/Solid_State_Drive#Spare_Area
[4] http://www.thomas-krenn.com/de/wiki/SSD_Secure_Erase

Fabian Törner

unread,
Jan 26, 2012, 12:13:59 PM1/26/12
to
Der Vollständigkeithalber fürs Archiv - die Antowrt von Holger auf
util-linux:

Am 16.11.2011 22:03, schrieb Thomas Bork:
> Am 16.11.2011 19:19, schrieb Fabian Törner:
>
>> aber Holger möchte in eine der nächsten Base-Versionen die util-linux
>> updaten - da gibts dann auch fstrim :)
>
> Na hoffentlich ist das nicht auf fallocate angewiesen...

hier die Mail von Holger:

--- [Mail] ---

Hallo Fabian

Am 2011-11-16 11:54, schrieb Fabian Toerner:

> ich hätte da noch ein Base-update Feature Request für "util-linux" Ver.
> 2.19. [1] besser 2.20 [2]. Ab Version 2.19. wird der Befehl fstrim
> unterstützt

Das wird so leider nichts, dafuer benoetigt es ein libc update

util-linux-2.20.1

../libblkid/src/.libs/libblkid.so: undefined reference to `fdopendir'
../libblkid/src/.libs/libblkid.so: undefined reference to `faccessat'
collect2: ld returned 1 exit status



fdopendir() is available in glibc since version 2.4.

faccessat() was added to Linux in kernel 2.6.16.


ohne libblkid

configure: error: libblkid is needed to build util-linux mount

--- [/Mail] ---

Also erstmal Essig mit trimmen der ssd unter eisfair...
Es sei denn jemand findet eine andere Lösung die ich noch nicht kenne...

Viele Grüße
Fabian




Thomas Bork

unread,
Jan 26, 2012, 4:30:25 PM1/26/12
to
Am 26.01.2012 18:13, schrieb Fabian Törner:

> fdopendir() is available in glibc since version 2.4.

So ist es...

--
der tom
[eisfair-team]
0 new messages