[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

lvm cache writeback/writethrough kann ich nicht ändern




Hallo,

vermutlich habe ich nur ein Verständnisproblem.

Ich habe 2 Festplatten und 2 SSDs.
Jeweils auf den FP und auf den SSDs ist ein Raid-1 Eingerichtet
und dann mit luks verschlüsselt worden.
Vor längerem habe ich das verschlüsselte LUKS Device
unter lvm eingerichtet und der VG datadg zugeordnet.
Auf dem datadg gibt es bisher nur eine lv home.

Ich habe nun versucht nach dieser Anleitung hier ein Cache-Device
dem datadg/home einzurichten und zuzuordnen:


http://man7.org/linux/man-pages/man7/lvmcache.7.html

Ausgangslage (gekürzte Ausgaben):

root@myhost:~# pvs
  PV                      VG     Fmt  Attr PSize   PFree
  /dev/mapper/md140_crypt datadg lvm2 a--   63,93g   3,87g
  /dev/mapper/md40_crypt  datadg lvm2 a--  780,38g  80,32g

md40_crypt ist das device von den Festplatten,
md140_crypt das von den SSDs.

root@myhost:~# vgs datadg
  VG     #PV #LV #SN Attr   VSize   VFree
  datadg   2   2   0 wz--n- 844,32g 84,19g

root@myhost:~# lvs -a datadg
  LV              VG     Attr       LSize   Pool    Origin       Data%  Meta%  Move Log Cpy%Sync Convert
  home            datadg Cwi-aoC--- 700,00g home_dc [home_corig]
  [home_corig]    datadg owi-aoC--- 700,00g
  home_dc         datadg Cwi---C---  60,00g
  [home_dc_cdata] datadg Cwi-ao----  60,00g
  [home_dc_cmeta] datadg ewi-ao----  64,00m
  [lvol0_pmspare] datadg ewi-------  64,00m

Ursprünglich war nur home anwesend. Ausgeführte Befehle nun um da hin zu kommen:

# SSD Device für LVM vorbereiten:
vgextend datadg /dev/mapper/md140_crypt
# SSD Device der vg hinzufügen:
vgextend datadg /dev/mapper/md140_crypt
# Cache Data volume erstellen als home_dc
lvcreate -n home_dc -L 60g datadg /dev/mapper/md140_crypt
# Metacache volume erstellen (ca. 1/1000tel) als home_mc
lvcreate -n home_mc -L 64m datadg /dev/mapper/md140_crypt
# Cachedevice erzeugen wird dann home_dc
lvconvert --type cache-pool --poolmetadata datadg/home_mc datadg/home_dc
# Cachedevice dem home zuordnen wobei aus home home_corig wird und home erzeugt wird.
lvconvert --type cache --cachepool datadg/home_dc datadg/home

Soweit so gut. Um nun die Schreibperformance zu erhöhen wollte ich
nun den Cache auf Writeback schalten, bekomme das aber nicht hin.
Dazu habe ich aus der Anleitung folgenden Absatz verwendet:

"  The cache mode can be changed on an existing LV with the command:

       lvconvert --cachemode writethrough|writeback VG/CacheLV"

Weiter oben beim zusammenführen des cache pools mit dem home steht:

" 4. create CacheLV
       Create a cache LV by linking the cache pool LV to the origin LV.  The
       user accessible cache LV takes the name of the origin LV, while the
       origin LV becomes a hidden LV with the name OriginLV_corig.  This can
       be done while the origin LV is in use.
       CacheLV takes the name of OriginLV.
       OriginLV is renamed OriginLV_corig and becomes hidden.

       lvconvert --type cache --cachepool VG/CachePoolLV VG/OriginLV"

Eigentlich sollte es in meinen Augen damit gehen:
root@myhost:~# lvconvert --cachemode writeback datadg/home
  --cachemode is valid only with cache pools.
  Run `lvconvert --help' for more information.

Da das nicht funktioniert hat dachte ich das home_dc der Cachepool ist.
Immerhin wird home_dc auch unter lvs unter der Spalte Pool des LV home angezeigt.
Aber ein Versuch mit home_dc ist auch fehl geschlagen:

root@myhost:~# lvconvert --cachemode writeback datadg/home_dc
  --cachemode is valid only with cache pools.
  Run `lvconvert --help' for more information.

Ich hatte es dann auch noch mit home, home_corig versucht, aber dort
erwartungsgemäß keinen Erfolg. Die Meldungen sind jedenfalls die gleichen.

Hat jemand eine Idee an welcher Stelle ich blind bin und mich über meinem
Irrtum aufklären?

System ist ein Debian Jessie mit Kernel 4.1 (backports) und noch sehr wenig testing und unstable
Paketen, dafür ein wenig mehr aus dem Backports-Bereich. Wegen GPU Problemen ließ es sich leider
nicht vermeiden die fglrx-Sachen aus dem testing Zweig zu nutzen (Ich sehe gerade sie sind jetzt
auch im backports angekommen, dann mal die Pakete downgraden ;-)

root@myhost:~# uname -a
Linux myhost 4.1.0-0.bpo.2-amd64 #1 SMP Debian 4.1.6-1~bpo8+1 (2015-09-09) x86_64 GNU/Linux

Wenn gar nichts geht kann ich ja nochmal den cache abhängen und gleich neu mit writeback
modus anlegen, aber ein nachträgliches Ändern wäre mir lieber.

MfG...
Pierre



Reply to: