xenhost上的qos

 

XEN : Network : QoS : 帯域制御 : xenbr1 → Dom0

xenbr1からDomUへのトラフィック制御
  1. 構成詳細確認

    まずは、お約束チックな確認をする

    xen domainの確認から

    # xm list
    Name                                      ID Mem(MiB) VCPUs State   Time(s)
    Domain-0                                   0      200     1 r-----   2178.6
    test2                                      2       32     1 -b----   1637.8
    

    次に仮想スイッチの確認

    # brctl show
    bridge name     bridge id               STP enabled     interfaces
    xenbr0          8000.feffffffffff       no              vif0.0
                                                            peth0
    xenbr1          8000.feffffffffff       no              vif0.1
                                                            vif2.0
    

    仮想スイッチからDom0向けのIFの確認

    # ip link show vif0.1
    6: vif0.1: <BROADCAST,NOARP,UP,10000> mtu 1500 qdisc noqueue
        link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    sv2:#
    

    ついでに、帯域制御の対象となるDomUのip

    # ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 00:16:3E:28:FC:BA
              inet addr:192.168.3.2  Bcast:192.168.3.255  Mask:255.255.255.0
              inet6 addr: fe80::216:3eff:fe28:fcba/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:580955 errors:0 dropped:0 overruns:0 frame:0
              TX packets:390100 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:733333329 (699.3 MiB)  TX bytes:402026984 (383.4 MiB)
    

    図として書くと今回のターゲットは下記の通り

    xenbr1-Dom0.png

    こんかいは、クラスフルなqdiscのHTBを使う。帯域制限だけが目的なので、2層構造でいく

    OPNW-Tech-HTB-0.1-20071130.png
  2. 設定

    サンプルとして、上記の図にも記載している通り
    デフォルトでclass 3:ff0に流れる。ここでは、10Mbit/secで帯域制御。
    あとは、filterを使ってソースIPにマッチしたのか、それぞれのclassに入っていく。1Mbit/secだ

    tc qdisc add dev vif0.1 root handle 3: htb default ff0
    tc class add dev vif0.1 parent 3: classid 3:ff0 htb rate 10Mbit ceil 10Mbit
    tc class add dev vif0.1 parent 3: classid 3:ff1 htb rate 1Mbit ceil 1Mbit
    tc class add dev vif0.1 parent 3: classid 3:ff2 htb rate 1Mbit ceil 1Mbit
    tc class add dev vif0.1 parent 3: classid 3:ff3 htb rate 1Mbit ceil 1Mbit
    tc filter add dev vif0.1 protocol ip parent 3: u32 match ip src 192.168.3.1 flowid 3:ff1
    tc filter add dev vif0.1 protocol ip parent 3: u32 match ip src 192.168.3.2 flowid 3:ff2
    tc filter add dev vif0.1 protocol ip parent 3: u32 match ip src 192.168.3.3 flowid 3:ff3
    
  3. 設定を確認

    ip コマンドで確認。qdiscがhtbになっている

    # ip link show vif0.1
    6: vif0.1:  mtu 1500 qdisc htb
        link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
    

    tc コマンドでqdiscを確認。それっぽくなっている。

    # tc -s -d qdisc ls
    qdisc htb 3: dev vif0.1 r2q 10 default ff0 direct_packets_stat 0 ver 3.17
     Sent 54 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
     rate 0bit 0pps backlog 0b 0p requeues 0
    

    tcコマンドでclassを確認。それっぽくなっている。

    # tc class show dev vif0.1
    class htb 3:ff0 root prio 0 rate 10000Kbit ceil 10000Kbit burst 6598b cburst 6598b
    class htb 3:ff1 root prio 0 rate 1000Kbit ceil 1000Kbit burst 2099b cburst 2099b
    class htb 3:ff2 root prio 0 rate 1000Kbit ceil 1000Kbit burst 2099b cburst 2099b
    class htb 3:ff3 root prio 0 rate 1000Kbit ceil 1000Kbit burst 2099b cburst 2099b
    

    tc コマンドでfilterを確認。ずらずらと出てくる。ipが16進数で表現されているっぽい

    # tc filter show dev vif0.1
    filter parent 3: protocol ip pref 49151 u32
    filter parent 3: protocol ip pref 49151 u32 fh 802: ht divisor 1
    filter parent 3: protocol ip pref 49151 u32 fh 802::800 order 2048 key ht 802 bkt 0 flowid 3:ff3
      match c0a80303/ffffffff at 12
    filter parent 3: protocol ip pref 49151 u32
    filter parent 3: protocol ip pref 49151 u32 fh 801: ht divisor 1
    filter parent 3: protocol ip pref 49151 u32 fh 801::800 order 2048 key ht 801 bkt 0 flowid 3:ff2
      match c0a80302/ffffffff at 12
    filter parent 3: protocol ip pref 49152 u32
    filter parent 3: protocol ip pref 49152 u32 fh 800: ht divisor 1
    filter parent 3: protocol ip pref 49152 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 3:ff1
      match c0a80301/ffffffff at 12
    
  4. 疎通確認

    今回は、DomUが1つしかないので、帯域制限されていることだけ確認。他のホストからFTPでダウンロードしてみる。
    ちょっとオーバー気味な気がするが、まぁいいだろう。

    ftp< mget 1MB
    mget 1MB? y
    200 PORT command successful
    150 Opening BINARY mode data connection for 1MB (1000000 bytes)
    226 Transfer complete.
    1000000 bytes received in 7.46 secs (130.9 kB/s)
    ftp< mget 1MB
    mget 1MB? y
    200 PORT command successful
    150 Opening BINARY mode data connection for 1MB (1000000 bytes)
    226 Transfer complete.
    1000000 bytes received in 7.46 secs (130.9 kB/s)
    ftp< mget 1MB
    mget 1MB? y
    200 PORT command successful
    150 Opening BINARY mode data connection for 1MB (1000000 bytes)
    226 Transfer complete.
    1000000 bytes received in 7.46 secs (131.0 kB/s)
引自:
http://yorunoseikatsu.com/archives/2007/11/xen-network-qos-xenbr1-dom0.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值