LVM Raid 1 + SSD Caching

Ho tre dischi:

  • /dev/sda slow hdd
  • /dev/sdb slow hdd
  • /dev/sdc veloce ssd
  • /dev/vg0 gruppo di volumi costituito /dev/sd{a,b,c}

Ogni volume logico (lv) dovrebbe essere raid1 mirrored e ssd memorizzato nella cache.

Con il seguente command, posso creare un test di nome testato raid1 lv su vg0.

 lvcreate --type raid1 -m 1 -L 1G -n test vg0 
  • Cosa devo cambiare nel command precedente in modo che utilizzi solo i slow hdds per lo specchio raid1? Posso utilizzare il sistema di tag LVMs ( @hdd, @ssd ) per questo?
  • Ho trovato alcuni tutorial che spiegano come utilizzare la funzionalità di cache LVM. Ma sembra che devo creare per each lv una propria cache-pool. È ansible creare una grande cache-pool per l'integer vg0 in modo che tutti i lvs in vg0 verranno memorizzati nella cache? Oppure posso riuscire a utilizzare nuovamente un pool di cache esistente per altri lvs?

  • Sincronizzare SSD con l'unità mandrino utilizzando RAID o DRBD
  • RAID1: un RAID per partizione o partizioni sul dispositivo RAID?
  • Ubuntu: monitorare RAID hardware e notificare l'errore?
  • mdadm - RAID di partizioni o partizioni di RAID?
  • Hot swap ha guastato l'unità RAID del software con Windows Server 2008
  • Perché la mia sostituzione non ha mai finito e cosa posso fare ora?
  • Settore difettoso sul disco, parte di un arrays LVM su RAID1, quali file sono interessati?
  • Prestazioni di scrittura molto lente su Debian 6.0 (AMD64) con DMCRYPT / LVM / RAID1
  • 2 Solutions collect form web for “LVM Raid 1 + SSD Caching”

    Sulla base della pagina man di lvmcache sembra davvero che la memorizzazione nella cache sia interamente una cosa di volume logica e non qualcosa che puoi implementare sul livello del gruppo di volumi. Sembra fastidioso non essere in grado di memorizzare un integer VG ma questo sembra essere una limitazione architettonica.

    Per quanto riguarda l'obbligo di creare un LV utilizzando solo PV specifici, è ansible specificare i PV al termine del command lvcreate .

    Ecco la sinossi dalla pagina uomo con le opzioni estranee rimosse:

     lvcreate <...> [VolumeGroup{Name|Path} [/ExternalOrigin | Origin | Pool}LogicalVolumeName] [PhysicalVolumePath[:PE[-PE]]...] 

    Penso che molte persone lo perdano poiché quella sinossi è abbastanza "coinvolta". Ma questa funzionalità è effettivamente necessaria quando si crea la cache poiché è necessario essere in grado di forzare i LV della cache per essere presenti sui PV SSD.

    Sidenote: una rapida ricerca rivela che il mirroring LVM è generalmente considerato molto più lento del software RAID di Linux. Ma credo di poter recuperare alcune delle performance perse con qualche sintonia.

    Un interessante progetto è bcache: https://bcache.evilpiepirate.org/

    Con bcache è ansible impostare un ssd come una cache veloce di un disco più veloce (rotabile). In questo modo, i blocchi più accessibili verranno letti (e scritti se configurati) dal (a) il più veloce ssd, preservando il file system più grande sui dischi più lenti.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.