Home » International » Russian » Групповые квоты ВНУТРИ виртуальной машины
Групповые квоты ВНУТРИ виртуальной машины [message #579] |
Wed, 21 December 2005 16:00 |
Dmitry Koterov
Messages: 40 Registered: November 2005
|
Member |
|
|
CentOS 4, x86_64, openvz.
Можно ли внутри виртуальной машины создавать групповые (ну или пользовательские) квоты, как это делается в обычном linux-е? Всякие там quota, quotacheck, quotaoff, quotaon, quotastats и т.д. Т.е. квоты персонально для каждого пользователя внутри виртуальной машины.
Если можно, то как это сделать? В /etc/fstab, который создался внутри openvz-машины, нет даже записи о каком-нибудь разделе, и в /dev тоже ничего похожего вроде как...
[Updated on: Wed, 21 December 2005 16:01] Report message to a moderator
|
|
|
|
|
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1767 is a reply to message #609] |
Thu, 23 February 2006 11:43 |
Dmitry Koterov
Messages: 40 Registered: November 2005
|
Member |
|
|
Да нет, я просто решение описал.
Но возникла еще одна проблема. Когда я развернул внутри виртуальной машины (openvz 2.6) всеь linux c другой, реальной машине, на которой стояло изначально ядро 2.4, утилиты quota, quotacheck и т.д. перестали работать. Они просто при запуске тихо завершаются, не выдавая никаких сообщений и не делая записей в лог. Я подозреваю, что дело тут именно в различии версий ядер (квот-утилиты для 2.4 не работают под openvz 2.6), но это только предположение.
Верно ли оно? И есть ли какой-нибудь вариант решения?
Пытался найти в Гугле описание того, как вообще работают квоты в openvz, но ничего не нашел (официальная документация не в счет - там чисто юзерское описание, а меня интересовали бы технические подробности).
P.S.
Самое обидное, что более свежий пакет с квотами я не могу поставить из-за различий в версии glibc. А glibc менять страшно: что-нибудь да обязательно посыпется, в той машине очень много всего разного стоит, за последние 4 года накапливалось.
|
|
|
|
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1793 is a reply to message #1768] |
Fri, 24 February 2006 12:14 |
Dmitry Koterov
Messages: 40 Registered: November 2005
|
Member |
|
|
/etc/mtab:
----------
/dev/simfs / reiserfs rw,usrquota,grpquota 0 0
proc /proc proc rw,nodiratime 0 0
devpts /dev/pts devpts rw 0 0
/etc/fstab:
-----------
/dev/simfs / reiserfs rw,usrquota,grpquota 0 0
none /dev/pts devpts rw 0 0
/proc/mounts:
-------------
simfs / simfs rw 0 0
proc /proc proc rw,nodiratime 0 0
devpts /dev/pts devpts rw 0 0
Симлинки есть, указывают, куда надо, квоты второго уровня включены.
Насчет пересборки quota tools - интересная мысль. Найти бы их только... Вот это оно? ftp://atrey.karlin.mff.cuni.cz/pub/local/jack/quota/v2.4/
Там говорится, что надо патч на ядро накладывать. Но, раз квоты уже работали раньше на реальной машине с ядром 2.4, но перестали на виртуальной с ядром 2.6, наверное, этого делать не нужно?
|
|
|
|
|
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1806 is a reply to message #1797] |
Sat, 25 February 2006 19:05 |
Dmitry Koterov
Messages: 40 Registered: November 2005
|
Member |
|
|
bash-2.04# strace -f repquota /
execve("/sbin/repquota", ["repquota", "/"], [/* 12 vars */]) = 0
uname({sys="Linux", node="x-ray", ...}) = 0
brk(0) = 0x804f000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40016000
close(4) = 0
open("/lib/libc.so.6", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\303"..., 1024) = 1024
fstat64(4, {st_mode=S_IFREG|0755, st_size=4977926, ...}) = 0
old_mmap(NULL, 1146952, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4001c000
mprotect(0x4012b000, 36936, PROT_NONE) = 0
old_mmap(0x4012b000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x10e000) = 0x4012b000
old_mmap(0x40130000, 16456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40130000
close(4) = 0
munmap(0x40016000, 22847) = 0
getpid() = 21572
brk(0) = 0x804f000
brk(0x804f028) = 0x804f028
brk(0x8050000) = 0x8050000
open("/etc/nsswitch.conf", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=1744, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
read(4, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1744
read(4, "", 4096) = 0
close(4) = 0
munmap(0x40016000, 4096) = 0
open("/etc/ld.so.cache", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40016000
close(4) = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360 \0"..., 1024) = 1024
fstat64(4, {st_mode=S_IFREG|0755, st_size=228768, ...}) = 0
old_mmap(NULL, 38808, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40135000
mprotect(0x4013e000, 1944, PROT_NONE) = 0
old_mmap(0x4013e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x8000) = 0x4013e000
close(4) = 0
munmap(0x40016000, 22847) = 0
open("/etc/passwd", O_RDONLY) = 4
shmat(4, 0x1, 0x1ptrace: umoven: Input/output error
) = ?
shmat(4, 0x1, 0x2ptrace: umoven: Input/output error
) = ?
fstat64(4, {st_mode=S_IFREG|0644, st_size=143928, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
_llseek(4, 0, [0], SEEK_CUR) = 0
read(4, "root:x:0:0:root:/var/u/root:/bin"..., 4096) = 4096
brk(0x8051000) = 0x8051000
brk(0x8052000) = 0x8052000
read(4, "ntur:/bin/bash\ninfo-antur:x:2254"..., 4096) = 4096
brk(0x8053000) = 0x8053000
read(4, "8::/dev/null:/bin/false\nlada-lad"..., 4096) = 4096
brk(0x8054000) = 0x8054000
read(4, "e\nprokofiev-cosokr:x:41671:41670"..., 4096) = 4096
brk(0x8055000) = 0x8055000
brk(0x8056000) = 0x8056000
read(4, "/bin/bash\ninfo-17plus:x:41847:41"..., 4096) = 4096
brk(0x8057000) = 0x8057000
read(4, "er-ganca:x:42013:42012::/dev/nul"..., 4096) = 4096
brk(0x8058000) = 0x8058000
read(4, "bin/false\ninfo-u7:x:42141:42139:"..., 4096) = 4096
brk(0x8059000) = 0x8059000
read(4, "/dev/null:/bin/false\nsupport-dkl"..., 4096) = 4096
brk(0x805a000) = 0x805a000
brk(0x805b000) = 0x805b000
read(4, "ese:x:42365:42361::/dev/null:/bi"..., 4096) = 4096
brk(0x805c000) = 0x805c000
read(4, "n/false\nkredit-lombard-1:x:42476"..., 4096) = 4096
brk(0x805d000) = 0x805d000
read(4, "02:42596::/dev/null:/bin/false\nn"..., 4096) = 4096
brk(0x805e000) = 0x805e000
brk(0x805f000) = 0x805f000
read(4, "721:42706::/dev/null:/bin/false\n"..., 4096) = 4096
brk(0x8060000) = 0x8060000
read(4, "ice:x:42878:42863::/dev/null:/bi"..., 4096) = 4096
brk(0x8061000) = 0x8061000
read(4, "v/null:/bin/false\npsycholog-gold"..., 4096) = 4096
brk(0x8062000) = 0x8062000
read(4, "c:x:43113:43098::/dev/null:/bin/"..., 4096) = 4096
brk(0x8063000) = 0x8063000
read(4, "::/dev/null:/bin/false\npriboi:x:"..., 4096) = 4096
brk(0x8064000) = 0x8064000
brk(0x8065000) = 0x8065000
read(4, "bash\ninfo-teplomarket:x:43351:43"..., 4096) = 4096
brk(0x8066000) = 0x8066000
read(4, "x:43454:43435::/home/author-edu:"..., 4096) = 4096
brk(0x8067000) = 0x8067000
read(4, "vo:x:43546:43526::/home/kudinovo"..., 4096) = 4096
brk(0x8068000) = 0x8068000
read(4, "ull:/bin/false\nalexsandre-liga.n"..., 4096) = 4096
brk(0x8069000) = 0x8069000
brk(0x806a000) = 0x806a000
read(4, "ssteels:/bin/bash\ninfo-russteels"..., 4096) = 4096
brk(0x806b000) = 0x806b000
read(4, "old:x:43828:43808::/dev/null:/bi"..., 4096) = 4096
brk(0x806c000) = 0x806c000
read(4, "3919:43899::/dev/null:/bin/false"..., 4096) = 4096
brk(0x806d000) = 0x806d000
read(4, "799::/dev/null:/bin/false\npodpis"..., 4096) = 4096
brk(0x806e000) = 0x806e000
brk(0x806f000) = 0x806f000
read(4, "/bin/false\ntelef:x:44083:44064::"..., 4096) = 4096
brk(0x8070000) = 0x8070000
read(4, "fo-job1:x:44173:44154::/dev/null"..., 4096) = 4096
brk(0x8071000) = 0x8071000
read(4, "null:/bin/false\nadmin-inetlotto:"..., 4096) = 4096
brk(0x8072000) = 0x8072000
read(4, "/false\nemoallergy:x:44349:44329:"..., 4096) = 4096
brk(0x8073000) = 0x8073000
brk(0x8074000) = 0x8074000
read(4, "o-largusokna:x:44436:44416::/dev"..., 4096) = 4096
brk(0x8075000) = 0x8075000
read(4, ":/bin/false\ngromov-metallopolime"..., 4096) = 4096
brk(0x8076000) = 0x8076000
read(4, "ndrey-b-m-s:x:44615:44594::/dev/"..., 4096) = 4096
brk(0x8077000) = 0x8077000
read(4, "9::/dev/null:/bin/false\nsupersim"..., 4096) = 4096
brk(0x8078000) = 0x8078000
brk(0x8079000) = 0x8079000
read(4, "/null:/bin/false\ndok-m-bmwstyle-"..., 4096) = 4096
brk(0x807a000) = 0x807a000
read(4, "dev/null:/bin/false\nvezunchik:x:"..., 4096) = 4096
brk(0x807b000) = 0x807b000
read(4, ":44939::/home/yla:/bin/bash\ninfo"..., 4096) = 4096
brk(0x807c000) = 0x807c000
read(4, "stezhi:x:45042:45015::/home/stez"..., 4096) = 568
read(4, "", 4096) = 0
open("/etc/ld.so.cache", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4013f000
close(5) = 0
open("/lib/libnss_nisplus.so.2", O_RDONLY) = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\37\0"..., 1024) = 1024
fstat64(5, {st_mode=S_IFREG|0755, st_size=299921, ...}) = 0
old_mmap(NULL, 44576, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x40145000
mprotect(0x4014f000, 3616, PROT_NONE) = 0
old_mmap(0x4014f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x9000) = 0x4014f000
close(5) = 0
open("/lib/libnsl.so.1", O_RDONLY) = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320@\0"..., 1024) = 1024
fstat64(5, {st_mode=S_IFREG|0755, st_size=387922, ...}) = 0
brk(0x807d000) = 0x807d000
old_mmap(NULL, 85596, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x40150000
mprotect(0x40162000, 11868, PROT_NONE) = 0
old_mmap(0x40162000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x11000) = 0x40162000
old_mmap(0x40163000, 7772, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40163000
close(5) = 0
munmap(0x4013f000, 22847) = 0
uname({sys="Linux", node="x-ray.host-ing.ru", ...}) = 0
open("/var/nis/NIS_COLD_START", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4013f000
close(5) = 0
open("/lib/libnss_nis.so.2", O_RDONLY) = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000 \0\000"..., 1024) = 1024
fstat64(5, {st_mode=S_IFREG|0755, st_size=278281, ...}) = 0
old_mmap(NULL, 41580, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x40165000
mprotect(0x4016e000, 4716, PROT_NONE) = 0
old_mmap(0x4016e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x8000) = 0x4016e000
close(5) = 0
munmap(0x4013f000, 22847) = 0
uname({sys="Linux", node="x-ray", ...}) = 0
close(4) = 0
munmap(0x40016000, 4096) = 0
open("/etc/fstab", O_RDONLY) = 4
brk(0x807f000) = 0x807f000
fstat64(4, {st_mode=S_IFREG|0644, st_size=91, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
read(4, "/dev/simfs / reiserfs rw,usrquot"..., 4096) = 91
read(4, "", 4096) = 0
close(4) = 0
munmap(0x40016000, 4096) = 0
_exit(0) = ?
[Updated on: Sun, 26 February 2006 05:41] Report message to a moderator
|
|
|
Re: Групповые квоты ВНУТРИ виртуальной машины [message #1807 is a reply to message #1797] |
Sat, 25 February 2006 19:08 |
Dmitry Koterov
Messages: 40 Registered: November 2005
|
Member |
|
|
Вот еще для quotaon:
bash-2.04# strace -f quotaon /
execve("/sbin/quotaon", ["quotaon", "/"], [/* 12 vars */]) = 0
uname({sys="Linux", node="x-ray", ...}) = 0
brk(0) = 0x804d000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=22847, ...}) = 0
old_mmap(NULL, 22847, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40016000
close(4) = 0
open("/lib/libc.so.6", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\303"..., 1024) = 1024
fstat64(4, {st_mode=S_IFREG|0755, st_size=4977926, ...}) = 0
old_mmap(NULL, 1146952, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4001c000
mprotect(0x4012b000, 36936, PROT_NONE) = 0
old_mmap(0x4012b000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x10e000) = 0x4012b000
old_mmap(0x40130000, 16456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40130000
close(4) = 0
munmap(0x40016000, 22847) = 0
getpid() = 22401
brk(0) = 0x804d000
brk(0x804d028) = 0x804d028
brk(0x804e000) = 0x804e000
open("/etc/fstab", O_RDONLY) = 4
brk(0x8050000) = 0x8050000
fstat64(4, {st_mode=S_IFREG|0644, st_size=91, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40016000
read(4, "/dev/simfs / reiserfs rw,usrquot"..., 4096) = 91
read(4, "", 4096) = 0
close(4) = 0
munmap(0x40016000, 4096) = 0
_exit(0) = ?
[Updated on: Sun, 26 February 2006 05:40] Report message to a moderator
|
|
|
|
|
|
|
Goto Forum:
Current Time: Thu Oct 17 00:32:42 GMT 2024
Total time taken to generate the page: 0.05434 seconds
|