{"id":847,"date":"2015-05-08T13:59:28","date_gmt":"2015-05-08T13:59:28","guid":{"rendered":"https:\/\/www.taywa.ch\/blog\/?p=847"},"modified":"2015-05-08T14:07:35","modified_gmt":"2015-05-08T14:07:35","slug":"zfs-ashift-testing","status":"publish","type":"post","link":"https:\/\/www.taywa.ch\/blog\/allgemein\/zfs-ashift-testing\/","title":{"rendered":"ZFS ashift testing"},"content":{"rendered":"<p>F\u00fcr neue Server testen wir ZFS als Storage Option. Einige Dinge muss man bei ZFS beim erstellen des zpools festlegen, die sich sp\u00e4ter ohne l\u00f6schen der Daten nicht \u00e4ndern lassen.<\/p>\n<p>Ein Parameter davon ist ashift, damit legt man die Blockgr\u00f6sse fest. Je kleiner die Blockgr\u00f6sse desto weniger Platz brauchen ganz kleine Dateien. Je gr\u00f6sser die Blockgr\u00f6sse desto schnell lassen sich viel Daten auf einmal lesen.<\/p>\n<p>Heutzutage wird oft ashift=12 empfohlen f\u00fcr Festplatten, die meisten Festplatten haben heute 4096 bytes (ashift=12, 2^12) Sektorgr\u00f6ssen. Im Netz wird oft auch ashift=13 f\u00fcr SSD&#8217;s empfohlen.<\/p>\n<p>Hier einige Beispiele wie verschiedene ashift Werte den Platzverbrauch beeinflussen.<\/p>\n<p>Getestet wurde:<\/p>\n<p>&#8211; ashift 9, 512 bytes block size<br \/>\n&#8211; ashift 12, 2048 bytes block size<br \/>\n&#8211; ashift 13, 4096 bytes block size<\/p>\n<p>This post in english is <a title=\"here\" href=\"http:\/\/http:\/\/yas.ch\/blog\/2015\/05\/06\/playing-around-with-zfs-ashift\/\" target=\"_blank\">here<\/a>.<\/p>\n<h2>Testdaten<\/h2>\n<h3>linux source code<\/h3>\n<p>Hier wird als Beispiel der linux source code bentutzt. Ich benutze drei Kopien des source codes.<\/p>\n<pre>tar xf \/tmp\/linux-4.0.tar.xz\r\ncp -Ra linux-4.0\/ linux-4.0.1\r\ncp -Ra linux-4.0\/ linux-4.0.2<\/pre>\n<pre># ashift 9\r\n$ zfs list\r\nNAME USED AVAIL REFER MOUNTPOINT\r\ntank 742M 324G 741M \/tank<\/pre>\n<pre>#\u00a0ashift 12\r\n$ zfs list\r\nNAME USED AVAIL REFER MOUNTPOINT\r\ntank 1.08G 324G 1.08G \/tank<\/pre>\n<pre># ashirt 13\r\n$ zfs list\r\nNAME USED AVAIL REFER MOUNTPOINT\r\ntank 1.54G 323G 1.54G \/tank<\/pre>\n<p>Mit sehr vielen kleinen Files spart man wesentlich Platz mit ashift=9. Mit ashift=13 braucht man doppelt soviel Platz gegen\u00fcber ashift=9.<\/p>\n<h3>RAW Imagefile<\/h3>\n<p>Hier findet der Test mit\u00a0einem qemu raw image file statt.<\/p>\n<pre>$ zfs list\r\nNAME USED AVAIL REFER MOUNTPOINT\r\ntank 2.82G 322G 2.82G \/tank<\/pre>\n<pre># ashift 12\r\nzfs list\r\nNAME USED AVAIL REFER MOUNTPOINT\r\ntank 2.88G 322G 2.88G \/tank<\/pre>\n<pre># ashift 13\r\nzfs list\r\nNAME USED AVAIL REFER MOUNTPOINT\r\ntank 2.94G 322G 2.94G \/tank<\/pre>\n<h3>Beispiel Daten aus dem Betrieb<\/h3>\n<p>Die Testdaten bestehen aus einigen Django Projekten, typo3 Projekten und linux binaries.<\/p>\n<pre># ashift 9\r\nroot@nara \/tank # zfs list\r\nNAME USED AVAIL REFER MOUNTPOINT\r\ntank 5.28G 320G 5.28G \/tank<\/pre>\n<pre># ashift 12\r\nzfs list\r\nNAME USED AVAIL REFER MOUNTPOINT\r\ntank 5.67G 319G 5.67G \/tank<\/pre>\n<pre># ashift 13\r\nzfs list\r\nNAME USED AVAIL REFER MOUNTPOINT\r\ntank 6.13G 319G 6.13G \/tank<\/pre>\n<h2>Fazit<\/h2>\n<p>Ich werde auch ashift=12 f\u00fcr SSDs benutzen. Mit ashift=13 verliert man zuviel Platz auf dem eher knappen Platz einer SSD.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcr neue Server testen wir ZFS als Storage Option. Einige Dinge muss man bei ZFS beim erstellen des zpools festlegen, die sich sp\u00e4ter ohne l\u00f6schen der Daten nicht \u00e4ndern lassen. Ein Parameter davon ist ashift, damit legt man die Blockgr\u00f6sse fest. Je kleiner die Blockgr\u00f6sse desto weniger Platz brauchen ganz kleine Dateien. Je gr\u00f6sser die<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,57,21],"tags":[],"class_list":["post-847","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-server","category-ubuntu"],"_links":{"self":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts\/847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/comments?post=847"}],"version-history":[{"count":4,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts\/847\/revisions"}],"predecessor-version":[{"id":851,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts\/847\/revisions\/851"}],"wp:attachment":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/media?parent=847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/categories?post=847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/tags?post=847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}