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.

  • Raid 1/10: Panico del kernel - non sincronizzazione: tentato di uccidere init
  • Perché una singola unità molto più veloce di 4 in RAID5?
  • IIS memorizza le cose anche quando disattivo la memorizzazione in output
  • Strategia per l'utilizzo di istantanee per eseguire il backup di Ubuntu Linux server?
  • Che tipo di "volume / storage management" ha il più grande supporto / funzionalità impostato in questi giorni?
  • Come posso indossare diversi dischi rigidi SCSI nei loro arrays RAID originali in diversi server?
  • 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?

    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.