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 $B!](B /dev/mapper/ioband$B!](Bsdb1,
/dev/mapper/ioband$B!](Bsdb2,
/dev/mapper/ioband$B!](Bsdb3 $B!](B 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$B!](Bsdb1 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$B!G(Bt 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@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel