{"id":144,"date":"2007-10-22T14:56:07","date_gmt":"2007-10-22T12:56:07","guid":{"rendered":"http:\/\/self.mestrona.net\/blog\/2007\/performance-von-lvm-snapshots\/"},"modified":"2007-10-22T14:56:07","modified_gmt":"2007-10-22T12:56:07","slug":"performance-von-lvm-snapshots","status":"publish","type":"post","link":"https:\/\/s3lf.de\/blog\/2007\/performance-von-lvm-snapshots\/","title":{"rendered":"Performance von LVM Snapshots"},"content":{"rendered":"<p>LVM Snapshots sind eine M&#246;glichkeit ein Dateisystem zu einem bestimmten Zeitpunkt &#8222;kosteng&#252;nstig&#8220; einzufrieren. Das bedeutet, dass der Snapshot an sich ersteinmal garkeinen Platz verbraucht (ganz im Gegenteil zur der Vorgehensweise einfach alle Dateien einmal zu kopieren) &#8211; allerdings der vom Snapshot beanspruchte Platz zunimmt, je mehr man an den urspr&#252;nglichen Daten &#228;ndert. Beim anlegen des Snapshots muss man somit eine Grenze an geben &#8211; z.B. 1 GB. Werden mehr Daten als diese Grenze ver&#228;ndert, ist das Abbild unbrauchbar.<\/p>\n<p>N&#252;tzlich kann das ganze daf&#252;r sein, Benutzern zu erm&#246;glichen alte Dateien aus diesen Abbildern wieder herzustellen, falls Sie diese versehentlich &#252;berschrieben hatten.<\/p>\n<p>Das ganze hatte ich so eingerichtet und w&#228;hrend dem testen sind so einige Test-Snapshots entstanden. Beim Kopieren des Ubuntu-DVD-Images  ist dann aber leider aufgefallen, dass dies ca. 5 Minuten auf einem ansonsten eigentlich relativ hochperformanten System dauert.<\/p>\n<p>Also habe ich mal eine Testreihe gestartet. Die Idee ist, in einem Dateisystem jeweils eine 100MB gro&#223;e Testdatei zu erzeugen und die Zeit zu messen die dies ben&#246;tigt &#8211; in Abh&#228;ngigkeit der jeweils existierenden Snapshot-Versionen von diesem Dateisystem. Es ist zu beachten, dass man das Dateisystem nach dem Schreiben der Datei schlie&#223;en (unmounten) sollte, um die Daten wirklich aus dem Speicher auf die Festplatte zu schreiben.<\/p>\n<p><em><strong>Testablauf: <\/strong><\/em><\/p>\n<ol>\n<li>Erzeugen eines Test-Volumes: <strong>lvcreate &#8211;name perftest -L10G \/dev\/smet01<\/strong><\/li>\n<li>Dateisystem: <strong>mkfs.ext3 \/dev\/smet01\/perftest <\/strong><\/li>\n<li>Mountpoint erstellen: <strong>mkdir \/tmp\/perftest<\/strong><\/li>\n<li>Gemessen wird mit: <strong>time (mount \/dev\/$HOSTNAME\/perftest; dd if=\/dev\/zero of=\/tmp\/perftest\/100M bs=1M count=250;umount \/tmp\/perftest)<\/strong><\/li>\n<li>Snapshot erzeugen mit <strong>lvcreate &#8211;snapshot &#8211;name snap-perftest-1 -L1G \/dev\/smet01\/perftest<\/strong><\/li>\n<li>neu messen, ggf 4. und 5. sinngem&#228;&#223; wiederholen<\/li>\n<\/ol>\n<p><strong>Ergebnisse:<\/strong>100 MB Datei erzeugen<\/p>\n<ul>\n<li>kein Snapshot: Dauer 0m0.425s<\/li>\n<li>1 Snapshot: Dauer 0m4.483s<\/li>\n<li>2 Snapshot: real    0m13.129s<\/li>\n<li>3 Snapshot:  real    0m13.909s<\/li>\n<li>4 Snapshot: real    0m19.292s<\/li>\n<\/ul>\n<p>Die Performanceeinbu&#223;en haben vermutlich die Ursache, dass alle f&#252;r Snapshots die alten Daten gespeichert werden m&#252;ssen. Man sollte das also im Hinterkopf behalten, wenn man diese verwendet. Falls sich von relativ gro&#223;en Datenmengen &#252;blicherweise nur wenige &#196;ndern, sollte das aber nicht ins Gewicht fallen.<\/p>\n<p>Die genaue Funktionsweise von Snapshots und ein Indiz f&#252;r die Performanceverschlechterung ist hier erkl&#228;rt: <a href=\"http:\/\/tldp.org\/HOWTO\/LVM-HOWTO\/snapshotintro.html\">Anatomy of LVM<\/a><\/p>\n<p>Kennt jemand Performancetests f&#252;r die <a href=\"http:\/\/www.wintotal.de\/Artikel\/schattenkopie\/schattenkopie.php\" target=\"_blank\">Windows 2003 Schattenkopien<\/a>?<\/p>\n<p>Anmerkung: Es ist evtl. m&#246;glich das die obigen Testergebnisse durch Speicher-Caches doch irgendwie verf&#228;lscht wurden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>LVM Snapshots sind eine M&#246;glichkeit ein Dateisystem zu einem bestimmten Zeitpunkt &#8222;kosteng&#252;nstig&#8220; einzufrieren. Das bedeutet, dass der Snapshot an sich ersteinmal garkeinen Platz verbraucht (ganz im Gegenteil zur der Vorgehensweise einfach alle Dateien einmal zu kopieren) &#8211; allerdings der vom Snapshot beanspruchte Platz zunimmt, je mehr man an den urspr&#252;nglichen Daten &#228;ndert. Beim anlegen des [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-144","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/comments?post=144"}],"version-history":[{"count":0,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/posts\/144\/revisions"}],"wp:attachment":[{"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/media?parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/categories?post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/tags?post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}