GNU/Linux >> Linux Esercitazione >  >> Linux

Impostazioni Readahead per LVM, Device-Mapper, Software Raid e Block Devices:cosa vince?

Soluzione 1:

In che modo l'impostazione RA viene trasmessa alla catena di dispositivi a blocchi virtuali?

Dipende. Supponiamo di essere all'interno di Xen domU e di avere RA=256. Il tuo /dev/xvda1 è il vero LV sul dom0 visibile sotto /dev/dm1. Quindi hai RA(domU(/dev/xvda1)) =256 e RA(dom0(/dev/dm1)) =512 . Avrà un tale effetto che il kernel dom0 accederà a /dev/dm1 con un RA diverso dal kernel di domU. Semplice come quello.

Un'altra situazione si verificherà se assumiamo la situazione /dev/md0(/dev/sda1,/dev/sda2).

blockdev --report | grep sda
rw   **512**   512  4096          0   1500301910016   /dev/sda
rw   **512**   512  4096       2048      1072693248   /dev/sda1
rw   **512**   512  4096    2097152   1499227750400   /dev/sda2
blockdev --setra 256 /dev/sda1
blockdev --report | grep sda
rw   **256**   512  4096          0   1500301910016   /dev/sda
rw   **256**   512  4096       2048      1072693248   /dev/sda1
rw   **256**   512  4096    2097152   1499227750400   /dev/sda2

L'impostazione di /dev/md0 RA non influirà sui dispositivi a blocchi /dev/sdX.

rw   **256**   512  4096       2048      1072693248   /dev/sda1
rw   **256**   512  4096    2097152   1499227750400   /dev/sda2
rw   **512**   512  4096          0      1072627712   /dev/md0

Quindi generalmente, a mio parere, il kernel accede a blockdevice nel modo in cui è effettivamente impostato. È possibile accedere a un volume logico tramite RAID (di cui fa parte) o dispositivo devicemapper e ciascuno con un'altra RA che verrà rispettata.

Quindi la risposta è:l'impostazione RA è IMHO non trasmessa dalla catena di dispositivi a blocchi, ma qualunque sia l'impostazione RA del dispositivo di livello superiore, verrà utilizzata per accedere ai dispositivi costituenti

Dm-0 ha la meglio su tutto perché è il dispositivo di blocco di primo livello a cui stai effettivamente accedendo?

Se intendi propagazione profonda con "trionfo su tutto", come da mio commento precedente, penso che potresti avere RA diversi per dispositivi diversi nel sistema.

Lvchange -r avrebbe un impatto sul dispositivo dm-0 e non verrebbe visualizzato qui?

Sì, ma questo è un caso particolare. Supponiamo di avere /dev/dm0 che è /dev/vg0/blockdevice di LVM. Se lo fai:

lvchange -r 512 /dev/vg0/blockdevice

anche /dev/dm0 cambierà perché /dev/dm0 e /dev/vg0/blockdevice è esattamente lo stesso dispositivo a blocchi quando si tratta di accesso al kernel.

Ma supponiamo che /dev/vg0/blockdevice sia lo stesso di /dev/dm0 e /dev/xvda1 in Xen domU che lo sta utilizzando. L'impostazione della RA di /dev/xvda1 avrà effetto ma dom0 vedrà ancora la propria RA.

Che cosa usi, equivalente alla dimensione del settore di cui sopra per determinare il valore di readahead effettivo per un dispositivo virtuale:

In genere scopro RA sperimentando valori diversi e testandolo con hdparm .

La dimensione dello stripe del RAID (per md0)?

Come sopra.

L'FS gioca un ruolo (sono principalmente interessato a ext4 e XFS)?

Certo, questo è un argomento molto vasto. Ti consiglio di iniziare da qui http://archives.postgresql.org/pgsql-performance/2008-09/msg00141.php

Soluzione 2:

Conosci la risposta più difficile da spiegare, quindi lo farò nell'esempio. Supponiamo che tu abbia 3 dispositivi a blocchi e imposti la tua RA su 4 (4 * 512 byte) assumendo un settore standard. Se dovessi dire di utilizzare uno schema RAID-5 utilizzando i 3 dischi, qualsiasi lettura che abbia anche toccato una striscia su un disco univoco aggraverebbe l'RA in base al fattore su cui inizialmente hai impostato il dispositivo a blocchi RA. Quindi, se la tua lettura si estendesse esattamente su tutti e 3 i dischi, la tua RA effettiva sarebbe 12 * 512 byte. Ciò può essere aggravato impostando RA nei vari livelli, ad esempio MD o LVM. Come regola generale, se la mia app beneficia di RA, la imposto sul livello più alto possibile in modo da non aggravare inutilmente la RA. Quindi avvio il filesystem sul settore 2049 e sfalso l'inizio di ogni settore su un numero divisibile per 8. Potrei essere molto lontano da quello che stai chiedendo, ma questo è il mio 2 ¢.


Linux
  1. Gdomap e a cosa serve?

  2. FreeCAD – Un software di modellazione e progettazione 3D per Linux

  3. Scarso IO a causa dell'ordine LUKS/Software RAID/LVM?

  4. Nastri Linux, cosa sono l a e m alla fine dei dispositivi a nastro in dev?

  5. Creazione di array RAID su file invece di dispositivi a blocchi

4 motivi per scegliere Linux per l'arte e il design

Le peggiori distribuzioni Linux per principianti [e cosa scegliere]

Che cos'è un database distribuito e a cosa servono i sistemi di dati distribuiti?

I 30 migliori software di contabilità e finanza per desktop Linux

20 migliori workstation audio digitali (DAW) e software per DJ per Linux

20 migliori software di crittografia di dischi e file per desktop Linux