Tài nguyên tham số điều khiển là gì?

Một phần của tài liệu LUẬN VĂN:NGHIÊN CỨU HỆ THỐNG MÁY ẢO MÃ NGUỒN MỞ OPENVZ potx (Trang 41 - 97)

Quản trị hệ thống kiểm soát các tài nguyên có sẵn của VPS thông qua một bộ các thông số quản lý tài nguyên. Tất cả các tham số đƣợc định nghĩa trong tệp tin cấu hình toàn cục của OpenVZ (/etc/sysconfig/vz) hoặc trong tệp tin cấu hình VPS tƣơng ứng (/etc/sysconfig/vz-scripsts/VPS_ID.conf) hoặc cả hai. Ta có thể thiết lập chúng bằng cách chỉnh sửa tệp tin cấu hình tƣơng ứng một cách thủ công hoặc sử dụng các tiện ích của OpenVZ. Các tham số này có thể đƣợc phân loại thành nhóm: ổ đĩa, CPU, mạng, và loại hệ thống. Bảng 1 dƣới đây sẽ tóm tắt các nhóm này:

30

Bảng 1. Các tham số điều khiển

Nhóm Mô tả Tên tham số Giải thích

Đĩa

Nhóm này của các tham số xác định hạn ngạch đĩa trong OpenVZ. Hạn ngạch đĩa đƣợc thực hiện ở 2 cấp độ: các VPS ở cấp độ một và các tài khoản ngƣời dùng, nhóm ngƣời dùng ở cấp độ hai. DISK_QUOTA, DISKSPACE, DISKNODES, QUOTATIME Quản lý hạn ngạch đĩa CPU

Nhóm này của các tham số xách định thời gian CPU khác nhau mà các VPS đƣợc đảm bảo nhận đƣợc VE0CPUUNITS, CPUUNITS Quản lý tài nguyên CPU Hệ thống

Nhóm này của các tham số cho phép dễ dàng và hiệu quả để kiểm soát và cấu hình tất cả các bộ nhớ liên quan đến các thông số bên trong VPS

avnumproc, numproc, numtcpsock, numothersock, vmguarpages, kmemsize, tcpsndbuf, tcprcvbuf, othersockbuf, dgramrcvbuf, oomguarpages, lockedpages, shmpages, privvmpages, physpages, numfile, numflock, numpty, numsiginfo, dcachesize, numiptent Quản lý tham số hệ thống 3.4.2. Quản lý hạn ngạch đĩa a.Hạn ngạch đĩa là gì?

Hạn ngạch đĩa cho phép quản trị viên hệ thống kiểm soát kích thƣớc của tập tin hệ thống Linux bằng cách hạn chế số lƣợng không gian đĩa và số inodes mà một VPS

31

có thể sử dụng. Hạn ngạch đƣợc biết đến nhƣ là mỗi VPS hạn ngạch hoặc hạn ngạch cấp một trong OpenVZ. Ngoài ra, OpenVZ cho phép quản trị viên VPS giới hạn không gian đĩa và số inodes mà ngƣời dùng cá nhân và các nhóm trong VPS có thể sử dụng. Có hạn ngạch ngƣời dùng và hạn ngạch nhóm ngƣời dùng hoặc hạn ngạch cấp thứ hai trong OpenVZ.

Mặc định, OpenVZ đã kích hoạt hạn ngạch cấp một (đƣợc định nghĩa trong tệp tin cấu hình OpenVZ toàn cục), trong khi hạn ngạch cấp hai phải đƣợc bật cho mỗi VPS riêng (trong tập tin cấu hình VPS tƣơng ứng). Không thể bật hạn ngạch đĩa cấp hai cho một VPS nếu hạn ngạch đĩa cấp một cho VPS đó đang tắt.

Kích thƣớc của khối hạn ngạch đĩa trong OpenVZ luôn là 1024 byte, nó có thể khác với kích thƣớc khối của hệ thống tệp tin bên dƣới.

OpenVZ giữ thống kê sử dụng hạn ngạch và giới hạn trong /var/vzquota/quota.vpsid - một tập tin hạn ngạch đặc biệt. Các tập tin hạn ngạch có một lá cờ đặc biệt chỉ ra cho dù tập tin là “bẩn”. Các tập tin trở nên “bẩn” khi nội dung của nó trở nên không phù hợp với việc sử dụng VPS thực. Điều này có nghĩa là khi không gian đĩa hoặc inodes thay đổi cách sử dụng trong quá trình hoạt động VPS, những thống kê này không đƣợc tự động đồng bộ hóa với các tập tin hạn ngạch, tập tin đƣợc gán cờ “bẩn”. Chúng chỉ đƣợc đồng bộ hóa khi VPS đƣợc ngừng lại hoặc khi máy chủ vật lý gốc tắt. Sau khi đồng bộ hóa, cờ “bẩn” đƣợc gỡ bỏ. Nếu máy chủ vật lý gốc bị gỡ xuống không chính xác (ví dụ, bị tắt nguồn), tập tin vẫn còn “bẩn”, và hạn ngạch đƣợc tái khởi tạo vào lần khởi động tiếp theo của VPS. Điều này có thể làm tăng thời gian khởi động máy chủ một cách đáng kể. Vì vậy, phải thật sự chú ý khi tắt máy chủ vật lý gốc.

b.Các tham số hạn ngạch đĩa

Bảng 2 dƣới đây tóm tắt các thông số hạn ngạch đĩa có thể đƣợc kiểm soát. Cột File chỉ ra các tham số đƣợc định nghĩa trong file cấu hình OpenVZ toàn cục (G), trong tập tin cấu hình VPS (V), hoặc nó đƣợc định nghĩa trong file cấu hình toàn cục nhƣng có thể đƣợc ghi đè vào một tập tin cấu hình riêng biệt VPS (GV).

32

Bảng 2. Các tham số hạn ngạch đĩa

Tham số Mô tả Tệp

disk_quota Cho biết hạn ngạch đĩa đầu tiên đƣợc cấp cho tất cả các

VPS hoặc một VPS riêng biệt. GV

diskspace Tổng kích thƣớc của không gian đĩa VPS có thể tiêu thụ,

trong 1-Kb khối. V

diskinodes Tổng số inodes đĩa (tập tin, thƣ mục, và các liên kết

tƣợng trƣng) các VPS có thể phân bổ. V

quotatime

Thời gian thêm cho việc vƣợt quá hạn ngạch đĩa đƣợc xác định trong vài giây, các VPS đƣợc cho phép tạm thời vƣợt qua giới hạn mềm với thời gian không nhiều hơn QUOTATIME.

V

quotaugidlimit

Tham số này xác định số lƣợng tối đa các tài khoản ngƣời dùng và nhóm ngƣời dùng mà hạn ngạch đĩa bên trong VPS cho trƣớc sẽ hạch toán. Nếu đặt thành 0, UID và GID hạn ngạch sẽ bị vô hiệu.

V

c.Bật, tắt hạn ngạch đĩa cho mỗi VPS

Tham số định nghĩa hạn ngạch đĩa cấp một là DISK_QUOTA trong file cấu hình toàn cục của OpenVZ ( /etc/sysconfig/vz ). Thiết lập nó thành “no”, sẽ vô hiệu hoá hạn ngạch trên OpenVZ hoàn toàn.

Tham số này có thể đƣợc xác định trong tệp tin cấu hình VPS (/etc/sysconfig/vz- scripts/vps_id.conf ). Trong trƣờng hợp này, giá trị của nó sẽ đƣợc ƣu tiên trong tệp tin cấu hình toàn cục của OpenVZ trƣớc. Nếu dự định sử dụng hỗn hợp các VPS có hạn ngạch và VPS không hạn ngạch thì nên thiết lập giá trị của nó trong file cấu hình toàn cục là “yes” và trong file cấu hình của VPS nào đó là “no” nếu nó không cần hạn ngạch.

Các ví dụ dƣới đây minh hoạ VPS 101 đƣợc bật mặc định hạn ngạch cấp một và sau đó bị tắt đi:

[Kiểm tra hạn ngạch đĩa đang bật] # grep DISK_QUOTA /etc/sysconfig/vz DISK_QUOTA=yes

33

[kiểm tra không gian trống hiện có của phân vùng /vz] # df /vz

Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 15351456 623396 13935656 5% /vz

[Sửa file cấu hình VPS, thêm DISK_QUOTA=no] # vi /etc/sysconfig/vz-scripts/101.conf

[Kiểm tra hạn ngạch đĩa đối với VPS 101]

# grep DISK_QUOTA /etc/sysconfig/vz-scripts/101.conf DISK_QUOTA=no

# vzctl restart 101 Restarting container Stopping container ... Container was stopped Container is unmounted Starting container ... Container is mounted

Adding IP address(es): 192.168.1.30 Setting CPU units: 1000

Configure meminfo: 65536 Set hostname: vps101.my.org # vzctl exec 101 df

Filesystem 1K-blocks Used Available Use% Mounted on /dev/simfs 15351456 623396 13935656 5% /

Rõ ràng không gian đĩa trống của VPS bằng không gian trống của phân vùng /vz nghĩa là nó không bị giới hạn khi tắt hạn ngạch đĩa của VPS.

34

d.Thiết lập thông số hạn ngạch đĩa cho từng VPS

Ba tham số xác định không gian trống của đĩa là bao nhiêu, số inode có thể sử dụng, các tham số này có trong file cấu hình VPS và đƣợc thể hiện cụ thể ở bảng 3.

Bảng 3. Thông số hạn ngạch đĩa cho từng VPS

DISKSPACE

Kích thƣớc tổng cộng của không gian đĩa có thể đƣợc sử dụng bởi VPS trong 1Kb-blocks. Khi không gian sử dụng đĩa bởi VPS đạt tới giới hạn mềm, các VPS có thể đƣợc cấp phát thêm không gian đĩa lên tới giới hạn cứng trong thời gian gia hạn xác định QUOTATIME

DISKINODES

Tổng số inode trên đĩa (tập tin, thƣ mục và các liên kết tƣợng trƣng) mà VPS đƣợc cấp phát. Khi số lƣợng inode đƣợc sử dụng đạt tới giới hạn mềm, các VPS có thể tạo thêm các file entry để bổ sung lên tới giới hạn cứng trong thời gian gia hạn xác định QUOTATIME

QUOTATIME

Thời gian gia hạn các hạn ngạch đĩa đƣợc chỉ định trong vài giây. VPS đƣợc phép tạm thời vƣợt qua giới hạn mềm cho không gian đĩa và số inode không quá khoảng thời gian xác định bởi tham số này

Hai tham số đầu tiên có cả giới hạn mềm và cứng. Giới hạn cứng là giới hạn mà không thể vƣợt quá trong bất kỳ trƣờng hợp nào. Giới hạn mềm có thể vƣợt quá lên đến giới hạn cứng nhƣng ngay sau hết thời gian gia hạn, không gian đĩa bổ sung hoặc inode mới cấp phát sẽ bị lỗi. Giới hạn cứng và giới hạn mềm đƣợc phân cách nhau bằng dấu hai chấm trong tệp tin cấu hình VPS và trong dòng lệnh.

Các ví dụ sau sẽ thiết lập không gian trống cho VPS lên tới 1Gb và cho phép số inode đƣợc cấp phát lên tới 90.000 inode. Thời gian gia hạn cho các hạn ngạch đƣợc thiết lập là 10 phút:

# vzctl set 101 --diskspace 1000000:1100000 --save Saved parameters for CT 101

# vzctl set 101 --diskinodes 90000:91000 --save Saved parameters for CT 101

35

Saved parameters for CT 101 # vzctl exec 101 df

Filesystem 1k-blocks Used Available Use% Mounted on

/dev/simfs 1000000 747066 252934 75% / # vzctl exec 101 stat -f /

File: "/"

ID: 0 Namelen: 255 Type: ext2/ext3

Blocks: Total: 1000000 Free: 252934 Available: 252934 Size: 1024

Inodes: Total: 90000 Free: 9594

Có thể thay đổi các tham số hạn ngạch đĩa cấp một cho một VPS đang chạy, thay đổi này sẽ có hiệu lực ngay lập tức. Nếu muốn các thay đổi của này không giữ nguyên trong lần khởi động tiếp theo, không nên thêm tham số --save trong các lệnh trên.

e.Bật và tắt hạn ngạch đĩa cấp hai cho VPS

Tham số điều khiển hạn ngạch đĩa cấp hai là QUOTAUGIDLIMIT trong file cấu hình VPS. Mặc định giá trị của tham số này là 0 và điều này có nghĩa là không có hạn ngạch đối với ngƣời dùng và nhóm ngƣời dùng.

Nếu chỉ định một giá trị khác 0 đối với tham số QUOTAUGIDLIMIT thì sẽ có 2 điều xảy ra:

1. Hạn ngạch đĩa đối với ngƣời dùng và nhóm ngƣời dùng đƣợc kích hoạt 2. Giá trị đƣợc chỉ định này sẽ giới hạn số ngƣời sở hữu tệp tin và số nhóm của

VPS này, bao gồm cả ngƣời trên hệ thống Linux. Về mặt lý thuyết có thể thêm số ngƣời dùng đối với VPS này nhƣng nếu số lƣợng ngƣời sở hữu tệp tin đạt tới giới hạn những ngƣời dùng này sẽ không thể sở hữu tệp tin.

Việc kích hoạt hạn ngạch ngƣời dùng và hạn ngạch nhóm ngƣời dùng cho một VPS yêu cầu khởi động lại VPS nên giá trị đó cần đƣợc lựa chọn cẩn thận. Giá trị lớn hơn giá trị mà đƣợc thiết lập thì bộ nhớ cần thiết sẽ vƣợt quá bộ nhớ mà VPS này đƣợc tạo. Giá trị này phải lớn hơn hoặc bằng số lƣợng các mục trong trong file /etc/passwd và file /etc/group trong VPS. Một VPS RedHat có thể tạo mới khoảng 80

36

mục, giá trị điển hình là 100. Tuy nhiên VPS với một số lƣợng lớn ngƣời dùng thì giá trị này có thể đƣợc tăng lên.

Ví dụ sau sẽ bật hạn ngạch cấp hai cho VPS 101:

# vzctl set 101 --quotaugidlimit 100 --save Saved parameters for CT 101

# vzctl restart 101 Restarting container Stopping container ... Container was stopped Container is unmounted Starting container ... Container is mounted

Adding IP address(es): 192.168.1.30 Setting CPU units: 1000

Configure meminfo: 65536 Set hostname: vps101.my.org File resolv.conf was modified Container start in progress...

f. Thiết lập các tham số cho hạn ngạch đĩa cấp hai

Để làm việc với hạn ngạch đĩa bên trong VPS, cần cài đặt công cụ hạn ngạch tiêu chuẩn:

# vzyum 101 install quota …

Installed: quota.i386 1:3.12-7.el4 Complete!

Lệnh này cho thấy các gói hạn ngạch đƣợc cài đặt vào trong VPS. Sử dụng các tiện ích từ các gói này để thiết lập hạn ngạch cấp hai cho VPS. Ví dụ:

37

root@192.168.1.30's password:

Last login: Sun Feb 28 09:09:02 2010 from 192.168.1.7 [root@vps101 ~]# edquota root

Disk quotas for user root (uid 0):

Filesystem blocks soft hard inodes soft hard

/dev/simfs 38216 50000 60000 45454 70000 70000

[root@vps101 ~]# repquota -a

*** Report for user quotas on device /dev/simfs Block grace time: 00:00; Inode grace time: 00:00

Block limits File limits User used soft hard grace used soft hard grace

--- ----

root -- 38218 50000 60000 45453 70000 70000 [the rest of repquota output is skipped]

[root@vps101 ~]# dd if=/dev/zero of=test dd: writing to `test': Disk quota exceeded 23473+0 records in

23472+0 records out

[root@vps101 ~]# repquota -a

*** Report for user quotas on device /dev/simfs Block grace time: 00:00; Inode grace time: 00:00

Block limits File limits User used soft hard grace used soft hard grace

--- ----

38

[the rest of repquota output is skipped]

Các ví dụ trên cho thấy khi ngƣời dùng root có hạn ngạch đĩa thiết lập để giới hạn cứng của 60000 1KB blocks và giới hạn mềm của 50000 1KB blocks, giới hạn cả cứng cả mềm cho số inode đƣợc đặt là 70000.

Cũng có thể thiết lập thời gian gia hạn cho giới hạn blocks và giới hạn inodes với sự giúp đỡ của lệnh setquota.

g.Kiểm tra trạng thái hạn ngạch đĩa

Là ngƣời quản trị hệ thống máy chủ vật lý gốc, thì có thể kiểm tra tình trạng hạn ngạch cho bất kỳ VPS nào với lệnh vzquota stat và lệnh vzquota show. Lệnh đầu tiên báo cáo tình trạng của nhân và sẽ dùng để chạy các VPS. Lệnh thứ hai báo cáo tình trạng từ tệp tin hạn ngạch (/var/vzquota/quota.vps_id) và đƣợc sử dụng để ngừng các VPS. Cả hai lệnh đều có định dạng đầu ra nhƣ nhau. Ví dụ sau cho thấy số liệu thống kê hạn ngạch của VPS 101:

# vzquota stat 101 -t

resource usage softlimit hardlimit grace 1k-blocks 106604 1000000 1100000

inodes 6894 90000 91000 User/group quota: on,active

Ugids: loaded 9, total 9, limit 100 Ugid limit was exceeded: no

User/group grace times and quotafile flags: type block_exp_time inode_exp_time dqi_flags user 0h group

User/group objects:

ID type resource usage softlimit hardlimit grace status

0 user 1k-blocks 106604 0 0 loaded

39

0 user inodes 6894 0 0 loaded

...

Ba dòng đầu tiên hiển thị trạng thái của hạn ngạch đĩa cấp một cho VPS. Phần còn lại hiển thị thống kê hạn ngạch ngƣời dùng và hạn ngạch nhóm ngƣời dùng trên từng dòng cho từng tài khoản của ngƣời dùng và nhóm ngƣời dùng. Nếu không cần hiển thị hạn ngạch cấp hai có thể bỏ chọn tham số -t trong lệnh vzquota bên trên.

3.4.3. Quản lý chia sẻ CPU

Phần này giải thích các tham số tài nguyên CPU (chia sẻ CPU), những tham số cấu hình và giám sát đối với từng VPS. Bảng dƣới đây sẽ cung cấp các tên và mô tả các tham số CPU. Cột file chỉ ra tham số đƣợc định nghĩa trong tệp tin cấu hình toàn cục của OpenVZ (G) hay trong tệp tin cấu hình VPS (V). Các tham số này đƣợc mô tả cụ thể ở bảng 4 dƣới đây:

Bảng 4. Tham số tài nguyên CPU

Tham số Mô tả File

ve0cpuunits

Đây là số nguyên dƣơng xác định chia sẻ tối thiểu thời gian CPU mà VPS 0 sẽ nhận đƣợc. Giá trị thiết lập đƣợc khuyến cáo bằng 5-10% công suất của máy chủ vật lý gốc.

G

cpuunits Đây là số nguyên dƣơng xác định chia sẻ tối thiểu thời

gian CPU mà VPS tƣơng ứng sẽ nhận đƣợc V cpulimit Đây là số nguyên dƣơng chỉ phần trăm thời gian CPU

các VPS tƣơng ứng không đƣợc vƣợt quá V Các tiện ích điều khiển tài nguyên CPU trong OpenVZ cho phép bất kỳ VPS nào cũng nhận đƣợc một lƣợng thời gian CPU. VPS có thể sử dụng nhiều hơn giá trị đƣợc bảo đảm nếu không có các VPS khác cạnh tranh và tham số cpulimit không xác định.

Để tối ƣu đƣợc việc chia sẻ cho một VPS, cần kiểm tra mức sử dụng CPU của máy chủ vật lý gốc:

# vzcpucheck

40

Power of the node: 248002

Một phần của tài liệu LUẬN VĂN:NGHIÊN CỨU HỆ THỐNG MÁY ẢO MÃ NGUỒN MỞ OPENVZ potx (Trang 41 - 97)