[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.