Quality of Service (QOS) pada libvirt berguna untuk mengelola atau mengontrol trafik VM agar terbagi rata serta tidak mengganggu trafik VM lainnya.
Fitur ini tidak didukung untuk mode forward passthrough
, private
, atau hostdev
.
Untuk konfigurasinya menggunakan element <bandwidth>
yang bisa Anda terapkan pada virtual network atau dengan mengedit element <interface>
pada VM secara langsung.
Contoh network XML untuk implementasi QOS
<network>
<name>backup</name>
<forward mode='open'/>
<bridge name='br0' stp='on' delay='0' macTableManager='libvirt'/>
<bandwidth>
<inbound average='12500' peak='12500' burst='16000'/>
<outbound average='12500' peak='12500' burst='16000'/>
</bandwidth>
<ip address='10.10.100.1' netmask='255.255.255.0'>
<dhcp>
<range start='10.10.100.128' end='10.10.100.200'/>
</dhcp>
</ip>
</network>
average
: menentukan kecepatan rata rata dalam kilobytes/second.
peak
: menentukan kecepatan maksimum dalam kilobytes/second.
burst
: menentukan jumlah kibibyte yang dapat ditransmisikan dalam satu burst setelah mencapai kecepatan maksimum.
Jika 1 kilobytes = 8 kilobit. Maka dari penjelasan diatas dapat diartikan jika konfigurasi network tersebut melimit trafik keluar dan masuk dengan rata-rata 100Mb, maksimum 100Mb, dan burst 128Mb.
Apabila ingin melimit bandwidth per VM dengan pengaturan yang berbeda, Anda bisa menggunakan perintah virsh
virsh attach-interface --domain cirros-p1 --type network --source backup \
--model virtio \
--inbound 12500,12500,16000 \
--outbound 12500,12500,16000