zfs ashift. Wechsel von 512b zu 4k Platten.

08734031c152fb64f70dc38a4f632cee?s=47 fraosug
August 20, 2013

zfs ashift. Wechsel von 512b zu 4k Platten.

Was passiert mit einem zpool, wenn er aus 512b Platten besteht und eine neue 4k Platte dazu kommt? Geht das? Der Vortrag versucht das zu klären.

08734031c152fb64f70dc38a4f632cee?s=128

fraosug

August 20, 2013
Tweet

Transcript

  1. © 2013 stefan.husch@qutic.com zfs ashift - Wechsel von 512b zu

    4k
  2. Stefan Husch ‣ Inhaber ‚qutic development‘ : Consulting, Programmierung und

    Hosting ‣ Software-Entwicklung seit 1983 ‣ Start mit Basic und Assembler auf dem C64 ‣ Seit 1993 MacOS, ab 2000 MacOS X: C, Objective-C ‣ Web-Development mit Ruby seit 2005 ‣ OpenSolaris seit 2009 wegen ZFS, fraosug seit 2010.05
  3. Ausgangssituation ‣ HP N40L Microserver ‣ OpenIndiana 151a8 (aktuellste Version)

    ‣ rpool mit 2 x 250 GB SATA Platten, gespiegelt (Raid 1) ‣ storage pool mit 2 x 2 TB SATA Platten, gespiegelt (Raid 1)
  4. Problem

  5. TODO ‣ Defekte SATA-Platte offline stellen ‣ SATA-Port herauskonfigurieren ‣

    Defekte SATA-Platte ausbauen ‣ Neue SATA-Platte einbauen ‣ SATA-Port konfigurieren ‣ SATA-Platte formatieren und partionieren ‣ SATA-Platte dem rpool hinzufügen
  6. TODO ‣ zpool offline rpool c2t1d0s0 ‣ cfgadm -c unconfigure

    sata0/1 ‣ # Defekte SATA-Platte ausbauen ‣ # Neue SATA-Platte einbauen ‣ cfgadm -c configure sata0/1 ‣ format> fdisk ‣ prtvtoc /dev/rdsk/c2t0d0s2 | \ fmthard -s - /dev/rdsk/c2t1d0s2 ‣ zpool replace -f rpool c2t1d0s0
  7. Was ist passiert?

  8. Etwas Theorie Magnetische Festplatten organisieren ihre Daten in Datenblöcken (wie

    z. B. 512, 2048 oder 4096 Byte), weshalb dieses Verfahren blockbasierte Adressierung genannt wird. Dabei können seitens der Hardware immer nur ganze Datenblöcke oder Sektoren gelesen und geschrieben werden. http://de.wikipedia.org/wiki/Festplattenlaufwerk
  9. Etwas Theorie Festplattenmodelle verwenden seit 2010 zunehmend ein Sektorierungsschema mit

    größeren Sektoren mit fast ausschließlich 4096 Bytes („4K“). http://de.wikipedia.org/wiki/Festplattenlaufwerk
  10. Etwas Theorie Um nach einer jahrzehntelangen, (fast) ausschließlichen Verwendung von

    Blöcken mit 512 Byte Kompatibilitätsprobleme zu vermeiden, emulieren die meisten Laufwerke an ihrer Schnittstelle eine Blockgröße von 512 Byte („512e“) http://de.wikipedia.org/wiki/Festplattenlaufwerk
  11. Etwas Theorie Inside ZFS, the kernel variable that describes the

    physical sector size in bytes is ashift, or the log2(physical sector size): 512 byte physical sector disks (ashift = 9) 4KB physical sector size disks (ashift = 12) 8KB byte physical sector disks (ashift = 13) ... http://wiki.illumos.org/display/illumos/ZFS+and+Advanced+Format+disks
  12. Analyse

  13. Analyse

  14. ? Und was nun

  15. Migration von alten Pools auf neue Platten In short: if

    the old pool was created with 512B- sectored drives, it is best not to replace its disks with 4KB-sectored ones, but create a new pool with those disks and proper alignment, and copy over the data. http://wiki.illumos.org/display/illumos/ZFS+and+Advanced+Format+disks
  16. Migration von alten Pools auf neue Platten

  17. 512b Platten in einem pool mit ashift=12

  18. Quellen ‣ http://wiki.illumos.org/display/illumos/ZFS+and+Advanced+Format+disks ‣ http://blog.delphix.com/gwilson/2012/11/15/4k-sectors-and-zfs/ ‣ http://docs.oracle.com/cd/E19082-01/817-2271/ghzvx/ ‣ http://waddles.org/content/replicating-zfs-root-disks ‣

    http://docs.oracle.com/cd/E19253-01/820-2313/gfwqb/index.html ‣ http://docs.oracle.com/cd/E19253-01/819-5461/ghzur/index.html ‣ http://docs.oracle.com/cd/E23823_01/html/817-5093/disksxadd-50.html ‣ http://de.wikipedia.org/wiki/Festplattenlaufwerk