Tin Tức

Nếu bạn đang có kế hoạch chuẩn bị xây dựng một web site thì hãy đăng ký ngay tên miền cho web site của mình. Đừng chần chừ và do dự bởi vì mỗi ngày có trên

Quản lý Disk I/O cho VM/CT trên Virtuozzo


Quản lý Disk I/O cho VM/CT trên Virtuozzo

PCS cho phép cấu hình độ ưu tiên về I/O giữa các Container và VM. Có thể thay đổi giá trị ưu tiên về I/O bằng tham số “ioprio.”

#prlctl set MyVM --ioprio 6

#prlctl set 101 --ioprio 6

Tham số –ioprio có giá trị từ 0 đến 7, mặc định ioprio là 4 cho tất cả VM và Container. VM và Container nào có ioprio cao hơn thì được ưu tiên hơn I/O từ hệ thống.  Kiểm tra giá trị ioprio hiện tại trên VM hoặc Container.

Container :

# grep IOPRIO /etc/vz/conf/101.conf

IOPRIO=”6″

VM :

# prlctl list --info | grep ioprio

cpu 2 VT-x accl=high mode=32 cpuunits=1000 ioprio=6 iolimit=0

Giới hạn băng thông I/O cho VM và CT.

Tham số –iolimit : Giới hạn bandwidth mà VM/CT có thể sử dụng tối đa khi tranfer data trên mạng, nếu không giới hạnVM/CT có thể sử dụng băng thông đĩa cứng tối đa từ hệ thống.

VD: Giới hạn bandwidth tranfer là 10MB/s

# prlctl set MyVM --iolimit 10

Set up iolimit: 10485760

The VM has been successfully configured.

Mặc định limit bandwidth ở mức MB, nhưng có thể limit ở các mức khác như gigabyte ( VD : 1G ), kilobyte ( VD: 1K ), bytes ( 1B ).

Để kiểm tra mức iolimit hiện tại của VM hoặc Container.

# prlctl list MyVM -o iolimit

110485760

# prlctl list 101 -o iolimit

IOLIMIT

10485760

Xóa iolimit của VM hoặc Container.

# prlctl set MyVM --iolimit 0

Set up iolimit: 0

The VM has been successfully configured.

# prlctl set 101 --iolimit 0

Set up iolimit: 0

Saved parameters for Container 101

IOPS : Input/Ouput Per Second . Giới hạn IOPS tối đa mà 1 VM/CT có thể sử dụng. Để cấu hình iops limit ta dùng tham số –iopslimit .

Giới hạn 100 iops cho CT 101 và myvm

# prlctl set 101 --iopslimit 100

# prlctl set MyVM --iopslimit 100

Để kiểm tra lại iops đã giới hạn ta dùng

# pstat –A

ST IOUSED IOWAIT IO IOPS NAME

OK 0.00 0.00 0.0/—KB/s 0.0/100/s MyVM

OK 0.00 0.00 0.0/—KB/s 0.0/100/s 101

Để xóa iops limit ta dùng

# prlctl set 101 --iopslimit 0

# prlctl set MyVM --iopslimit 0

Thống kê số lượng Disk I/O hiện tại.

Để thống kê số lượng I/O của các VM/CT ta sử dụng command pstat với option –a.

# pstat -a

7:18pm, up 1 day, 1:29, 2 users, load average: 0.00, 0.01, 0.00
CTNum 1, procs 127: R 2, S 125, D 0, Z 0, T 0, X 0
CPU [ OK ]: CTs 0%, CT0 1%, user 0%, sys 2%, idle 98%, lat(ms) 12/0
Mem [ OK ]: total 1560MB, free 627MB/402MB (low/high), lat(ms) 0/0
ZONE0 (DMA): size 16MB, act 0MB, inact 0MB, free 11MB (0/0/0)
ZONE1 (Normal): size 880MB, act 76MB, inact 104MB, free 616MB (3/4/5)
ZONE2 (HighMem): size 684MB, act 116MB, inact 153MB, free 402MB (0/1/1)
Mem lat (ms): A0 0, K0 0, U0 0, K1 0, U1 0
Slab pages: 65MB/65MB (ino 43MB, de 9MB, bh 2MB, pb 0MB)
Swap [ OK ]: tot 2502MB, free 2502MB, in 0.000MB/s, out 0.000MB/s
Net [ OK ]: tot: in 0.005MB/s 45pkt/s, out 0.000MB/s 1pkt/s
lo: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s
eth0: in 0.005MB/s 45pkt/s, out 0.000MB/s 1pkt/s
br0: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s
br1: in 0.000MB/s 0pkt/s, out 0.000MB/s 0pkt/s
Disks [ OK ]: in 0.000MB/s, out 0.000MB/s
ST IOUSED IOWAIT IO IOPS NAME
OK 0.00 0.00 0.0/—KB/s 0.0/–/s 101
OK 0.00 0.00 0.0/—KB/s 0.0/–/s MyVM

IOUSED% : phần trăm thời gian disk mà các vm/ct đã sử dụng.

IOWAIT% : thời gian chờ các i/o trong hàng đợi hoàn thành để tiếp tục thực hiện i/o các tiếp theo.

IO : I/O có thể áp dụng ở mức bytes, kilobytes, megabytes, hoặc gigabytes theo giây.

IOPS :             mức IOPS đang bị giới hạn trên vm/ct theo giây.

Cấu hình Limit Disk I/O Container trong quá trình migrations và backups.

. Để giới hạn cho tất cả các container trên hệ thống chỉ cần edit file /etc/vz/vz.conf.

# VZ Tools IO limit

# To enable – uncomment next line, check the value – there should not be CT with the

same ID

# VZ_TOOLS_BCID=2

# Uncomment next line to specify required disk IO bandwidth in Bps (10485760 – 10MBps)

# VZ_TOOLS_IOLIMIT=10485760

Bỏ dấu thăng trước dòng VZ_TOOLS_BCID để mở chức năng limit

Bỏ dấu thăng trước dòng VZ_TOOLS_IOLIMIT để set giá trị limit cho các ct.