WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: Utility tool for dm-ioband.

Hi,

This is iobandctl usage examples


EXAMPLE 1

This example shows how to create ioband devices, set weight values, 
create groups, and delete the ioband devices. The following is 
the typical case iobandctl expects.

           sdb
     +--------------+     +-------+------+-------+ 
50%  |     sdb1     | <-- |default|root  |user1  | ioband-sdb1
     |              |     | 60%   | 30%  | 10%   |
     +--------------+     +-------+----- +-------+
30%  |     sdb2     | <-- |default|root  |user1  | ioband-sdb2
     |              |     | 60%   | 30%  | 10%   |
     +--------------+     +-------+------+-------+
20%  |     sdb3     | <-- |default|root  |user1  | ioband-sdb3
     |              |     | 60%   | 30%  | 10%   |
     +--------------+     +-------+------+-------+

(1) Create ioband devices

# iobandctl create /dev/sdb

3 ioband devices − /dev/mapper/ioband−sdb1, 
/dev/mapper/ioband−sdb2, 
/dev/mapper/ioband−sdb3 − are created.
    
(2) Set weight values
    
# iobandctl weight /dev/sdb1:50 /dev/sdb2:30 /dev/sdb3:20

Allocate 50% of I/O bandwidth to /dev/sdb1, 30% to /dev/sdb2, 
20% to /dev/sdb3. Now, you will be able to receive the benefit of 
bandwidth control using /dev/mapper/ioband-sdb[1-3] instead of 
/dev/sdb[1-3].

(3) Create groups

# iobandctl group /dev/sdb uid root:30 user1:10 default:60

Create groups. Group "root" and group "user1" are created on all 
ioband devices which have been mapped to the partitions contained 
in /dev/sdb. The processes whose uid is "root" are allocated 30% of 
I/O bandwidth. As a result, processes doing I/O to ioband−sdb1 and 
whose uid is "root" can use 15% (50% for ioband-sdb1, 30% for root. 
50% x 30% = 15%) of I/O bandwidth which /dev/sdb has. 
default means all processes whose uid is not "root" or "user1".

(4) Delete ioband devices

# iobandctl destroy /dev/sdb

Delete ioband devices. ioband-sdb1, ioband-sdb2, and ioband-sdb3 are 
deleted.

EXAMPLE 2

/dev/sdb1 is an extended partition, which you don’t need I/O bandwidth 
control. /dev/sdb5 and /dev/sdb6 are intended to be controlled by uids, 
/dev/sdb7 by gids.

           sdb
     +--------------+     +-------+------+-------+
 0%  |     sdb1     | <-- |       |      |       | ioband-sdb1
     +--------------+     +-------+----- +-------+
40%  |     sdb5     | <-- |default|root  |user1  | ioband-sdb5
     |              |     | 60%   | 30%  | 10%   | (controlled by uid)
     +--------------+     +-------+----- +-------+
30%  |     sdb6     | <-- |default|root  |user1  | ioband-sdb6
     |              |     | 60%   | 30%  | 10%   | (controlled by uid)
     +--------------+     +-------+------+-------+
30%  |     sdb7     | <-- |default|wheel |users  | ioband-sdb7
     |              |     | 50%   | 40%  | 10%   | (controlled by gid)
     +--------------+     +-------+------+-------+

(1) Create ioband devices

# iobandctl create /dev/sdb

The same as EXAMPLE 1 (1).

(2) Set weight values

# iobandctl weight /dev/sdb5:40 /dev/sdb6:30 /dev/sdb7:30

The weight value of the device not specified (/dev/sdb1) is set to 0 
automatically.

(3) Create groups

# iobandctl group /dev/sdb uid root:30 user1:10 default:60 <-- (a)
# iobandctl group /dev/sdb7 gid wheel:40 users:10 default:50 <-- (b)

The (a) sets type "uid" and creates groups for /dev/sdb5 and /dev/sdb6, 
although it sets the same settings to /dev/sdb7.
The (b) changes the settings of /dev/sdb7 only.


On Thu, Apr 24, 2008 at 08:55:27PM +0900, KAIZUKA Hiroyuki wrote:
> Hi everyone,
> 
> I made a utility tool for dm-ioband version 0.0.4, named iobandctl.
> 
> It enables you to easily apply I/O bandwidth control to an entire disk,
> and manage it. It helps you set the percentage of bandwidth
> to give each partition, and each user, process, group, or cgroup.
> (You are not able to use cgroup support yet, because the dm-ioband
> patch to enable cgroup support (http://lwn.net/Articles/273802/)
> is not ported to linux-2.6.25, but it will be soon.)
> 
> You can download it and find the manual at
> http://people.valinux.co.jp/~kaizuka/dm-ioband/iobandctl/
> 
> This is a prototype code.
> So, I'd like to hear your requests.
> Feature fixed, it is going to be re-written in C.
> 
> Thanks,
> KAIZUKA Hiroyuki
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>