如何限制某个目录占用的磁盘空间的大小(与用户名无关),比如说
/export/home/temp1 限制不超过100M
/export/home/temp2 不超过50M
metor78 回复于:2003-07-07 10:38:07 |
这个我也不会哦,哪位大哥会,教我们吧!!! |
race 回复于:2003-07-07 10:42:30 |
系统管理书里面详细的过程 |
laoxia 回复于:2003-07-07 10:45:41 |
只能分个区给这个目录了,分区的物理大小就是目录大小 |
akai_feng 回复于:2003-07-07 10:46:10 |
能不能详细点说明一下 |
laoxia 回复于:2003-07-07 10:46:25 |
那位大爷还有招吗? |
laoxia 回复于:2003-07-07 10:47:48 |
要不产生一个专用的user作为这个目录的属主,再设QUOTA |
akai_feng 回复于:2003-07-07 10:50:01 |
我有几十个目录,总不能分几十个区吧
建专用的user也行不通 |
diag 回复于:2003-07-07 10:52:48 |
能写个SCRIPT 给 警告。。
做 强限制。。我不会。。 |
akai_feng 回复于:2003-07-07 10:53:05 |
还有其他办法吗
或者谁知道有没有带这样功能的软件 |
akai_feng 回复于:2003-07-07 10:56:26 |
警告没有用的,每人理 |
sql2000 回复于:2003-07-07 11:08:13 |
[quote:01bf2488c7="laoxia"]要不产生一个专用的user作为这个目录的属主,再设QUOTA[/quote:01bf2488c7]
把这个目录给某个group,为这个group设quota,好一些 ,不然能用这个目录的人太少了,不方便. |
akai_feng 回复于:2003-07-07 11:11:32 |
问题是除要限制的目录外,用户可以自由存取其他的目录,不受限制 |
diag 回复于:2003-07-07 11:14:10 |
最苯的方法。。重装。。
cotoxx /export/home/tmp1 500M C0T0X0 /export/home/tmp2 200m >>>>>>>>>>>>>>>>>>> 留一部分 HD 不用。。如果有新加的话。。 newfs cotx0--- /etc/vfstab 在加。。。。 |
laoxia 回复于:2003-07-07 11:18:59 |
[quote:8a189730e1="akai_feng"]问题是除要限制的目录外,用户可以自由存取其他的目录,不受限制[/quote:8a189730e1] 你误会了,你产生一个用户,这个用户不是正常的用户,就是说他什么都不干,不作
认何操作,不TELNET,或说死用户,他存在的唯一目的就是他是某个目录的拥有者 来给这个目录设QUOTA |
diag 回复于:2003-07-07 11:22:28 |
chmod -R 777 QUOTA
?????? laoxia 这个不好吧。。。 |
akai_feng 回复于:2003-07-07 11:31:02 |
[quote:38331116f4="laoxia"] 你误会了,你产生一个用户,这个用户不是正常的用户,就是说他什么都不干,不作
认何操作,不TELNET,或说死用户,他存在的唯一目的就是他是某个目录的拥有者 来给这个目录设QUOTA[/quote:38331116f4] 其他用户怎么操作这个目录?owner不是他了 |
jxbcpp 回复于:2003-07-07 12:51:32 |
用虚拟文件系统
先mkfile 指定大小的文件 然后用lofiadm做成虚拟文件系统,然后Mount 具体步骤: # cd /data # mkfile 100m home0 # lofiadm -a /data/home0 /dev/lofi/1 # newfs /dev/rlofi/1 # mount /dev/lofi/1 /export/home0 # df -k 有个缺点,就是lofiadm创建的虚拟设备,如/dev/lofi/0,/dev/lofi/1等,系统重起后会丢失,但是文件(home0)的内容不会丢失,你需要创建脚本重新连接 #!/bin/sh #/etc/rc2.d/S99lofidevice #put this script at /etc/rc2.d DEV0=`lofiadm -a /data/home0` mount $DEV0 /export/home0 |
akai_feng 回复于:2003-07-07 12:59:28 |
[quote:b28517e36a="jxbcpp"]用虚拟文件系统
先mkfile 指定大小的文件 然后用lofiadm做成虚拟文件系统,然后Mount[/quote:b28517e36a] 你是指每一个目录都这么做吗?几十个(快超过100了)呀 |
jxbcpp 回复于:2003-07-07 13:00:49 |
[quote:d98db3f653="akai_feng"]
你是指每一个目录都这么做吗?几十个(快超过100了)呀[/quote:d98db3f653] 那你用脚本来创建就可以了,不用手工挨个地来 |
akai_feng 回复于:2003-07-07 13:04:37 |
[quote:bdce24774d="jxbcpp"]
那你用脚本来创建就可以了,不用手工挨个地来[/quote:bdce24774d] 忘了说明一下,是在NFS+NIS环境下, 如果在Server端做的话,客户端怎么mount |
jxbcpp 回复于:2003-07-07 13:07:56 |
[quote:452a294acd="akai_feng"]
忘了说明一下,是在NFS+NIS环境下, 如果在Server端做的话,客户端怎么mount[/quote:452a294acd] 你在NFS Server上mkfile好文件,然后share这些文件 NFS Client上,mountSERVER共享的文件,然后用lofiadm创建虚拟文件系统 NFS Server上的操作: # mkdir /data # mkfile /data/home0 # share /data NFS Client上的操作 # mount NFS-SERVER:/data /data # lofiadm -a /data/home0 ... ... 由于NFS共享的文件不能被客户端用root存取,你得配置一下NFS SERVER,让它可以让客户端的root存取 |
akai_feng 回复于:2003-07-07 13:28:27 |
[quote:dc785ada08="jxbcpp"]
你在NFS Server上mkfile好文件,然后share这些文件 NFS Client上,mountSERVER共享的文件,然后用lofiadm创建虚拟文件系统 NFS Server上的操作: # mkdir /data # mkfile /data/home0 # share /..........[/quote:dc785ada08] 公司的网络不稳定,请见谅 本来server上share一个目录,这个目录下再建很多子目录,client端只用mount一个目录,就可以使用所有这些子目录,现在就是要限制这些子目录的大小,如果用你的方法,每个子目录多要做share和mount的动作,nfs 连接是不是多了点。 |
jxbcpp 回复于:2003-07-07 13:35:18 |
[quote:4cd672df4a="akai_feng"]
公司的网络不稳定,请见谅 本来server上share一个目录,这个目录下再建很多子目录,client端只用mount一个目录,就可以使用所有这些子目录,现在就是要限制这些子目录的大小,如果用你的方法,每个子目录..........[/quote:4cd672df4a] 我说的是share服务器上的一个目录,这个目录里面有好多文件,文件就是mkfile出来的文件,而不是那些mount的虚拟文件系统 还有另外一种方法,就是你在NFS SERVER上做好虚拟文件系统,比如mkfile了一下几个文件 /data/home0、/data/home1、/data/home2 在NFS SERVER上相对应的虚拟文件系统挂接在: /export/home/home0、/export/home/home1、/export/home/home2 这样你就只要share /export/home就可以,在客户端上mount NFS-SERVER:/export/home /export/home 好像前一种方法太笨,呵呵,这种方法较好 |
akai_feng 回复于:2003-07-07 13:41:29 |
[quote:3a86c85a21="jxbcpp"]
我说的是share服务器上的一个目录,这个目录里面有好多文件,文件就是mkfile出来的文件,而不是那些mount的虚拟文件系统 还有另外一种方法,就是你在NFS SERVER上做好虚拟文件系统,比如mkfile了一下几个..........[/quote:3a86c85a21] 好像可行 可不可以再详细点,你说的那条命令没用过 |
jxbcpp 回复于:2003-07-07 13:43:16 |
已经很详细了啊,大哥!!!
前面我都写了具体的步骤了 |
akai_feng 回复于:2003-07-07 13:47:52 |
老大,留个email吧
我先试试,有问题联系你 |
jxbcpp 回复于:2003-07-07 13:49:20 |
[quote:fdac7f552a="akai_feng"]老大,留个email吧
我先试试,有问题联系你[/quote:fdac7f552a] jxbcpp@263.sina.com |
diag 回复于:2003-07-07 13:50:58 |
起个AUTOFS 吧。。。 |
akai_feng 回复于:2003-07-07 16:20:09 |
[quote:6ddb865c80="diag"]起个AUTOFS 吧。。。[/quote:6ddb865c80]
怎么说? 本来就已经在用autofs 了 |
mmmmn 回复于:2003-07-07 19:31:14 |
试试这个,但我不知道他是不是真的有限制目录大小的功能,请把实验结果贴出来:
mkfile 30m aaa mkdir bbb ln aaa bbb |
wohoo 回复于:2003-07-07 21:03:05 |
mmmmn的好像不行... |
diag 回复于:2003-07-07 21:48:56 |
我试过了。。
NFS SERVER 上做 好。然后SHARE 出来。。 CLIENT 用AUTOFS 。。。OK。。。 |
jxbcpp 回复于:2003-07-07 23:03:00 |
把整个试验过程的步骤都贴出来吧,谢谢!!! |
akai_feng 回复于:2003-07-08 09:24:27 |
[quote:20f17ffdd5="jxbcpp"]把整个试验过程的步骤都贴出来吧,谢谢!!![/quote:20f17ffdd5]
客户端坐虚拟文件系统到是可以了,过程如前所述,可客户端有30几台那 我的NFS Server是2.6版本,找不到lofiadm命令,怎么才能在server端做? |
diag 回复于:2003-07-08 09:52:19 |
1)
root@<.nets: 109> mkfiel 10m mkfile oot@<nets: 110> mkfile 10m date root@<nets: 111> lofiadm -a /export/home15/date /dev/lofi/1 root@<nets: 112> newfs root@<nets: 112> newfs /dev/lofi/1 newfs: construct a new file system /dev/rlofi/1: (y/n)? y /dev/rlofi/1: 20468 sectors in 34 cylinders of 1 tracks, 602 sectors 10.0MB in 3 cyl groups (16 c/g, 4.70MB/g, 2240 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 9664, 19296, root@<nets: 113> root@<nets: 119> mkdir mkfile root@<nets: 120> cd .. root@<nets: 121> ls home15/ root@<nets: 122> mount /dev/lofi/1 /export/home15/mkfile/ root@<nets: 123> root@<nets: 119> mkdir mkfile root@<nets: 120> cd .. root@<nets: 122> mount /dev/lofi/1 /export/home15/mkfile/ /etc/dfs/sharetab /export/home15 - nfs o -rw ,anon=0 nets:/export/home15 2) mavericks client autofs mount /etc/init.d/autofs start /export/home15 -rw,intr nets:/export/home15 root@<mavericks: 69> cd /export/home15/mkfile/ root@<mavericks: 71> ls root@<mavericks: 72> touch 1 root@<mavericks: 73> ls 1 cp: /export/home15/mkfile/./8_Recommended/109007-09: No space left on device cp: /export/home15/mkfile/./8_Recommended/108875-13: No space left on device |
wohoo 回复于:2003-07-08 09:54:46 |
按照jxbcpp 方法测试结束,ok |
akai_feng 回复于:2003-07-08 10:38:22 |
我的怎么不行
Server端的设置如上,client端的设置也一样,问题在于client端往/export/home15/mkfile中写数据时,好像是写到原来的磁盘空间里了,也就是/export/home15/mkfile本身的空间,而不是由/export/home/date做成的/dev/lofi/1中, 谁能解释一下 |
diag 回复于:2003-07-08 10:48:20 |
mount 上了吗?
应该是OK。/。我做了10M。。。 CP RECOMMAND 8 PATH 都说 空间不够。。。证明是OK 的。 |
akai_feng 回复于:2003-07-08 10:59:30 |
[quote:da92dd1922="diag"]mount 上了吗?
应该是OK。/。我做了10M。。。 CP RECOMMAND 8 PATH 都说 空间不够。。。证明是OK 的。[/quote:da92dd1922] 步骤如下: Server: #cd /export/home #mkdir vfs #cd vfs #mkfile 20m v1 #lofiadm -a /export/home/vfs/v1 #newfs /dev/lofi/1 #pwd /export/home/vfs #cd .. #mkdir share #cd share #mkdir h1 #mount /dev/lofi/1 /export/home/share/h1 #share -F nfs -o rw /export/home/share Client #cd /tmp #mkdir temp #mount Server:/export/home/share /tmp/temp #cd temp #ls h1 #cd h1 #touch test #ls test 其中省略关于权限设置的部分,问题是 Server端 #cd /export/home/share/h1 #ls lost+found 没有刚刚touch 的 test #cd .. #umount /export/home/share/h1 #cd h1 #ls test 出来了 你那边不是这样吗? |
diag 回复于:2003-07-08 11:07:33 |
是。。SERVER 上看的 和CLIENT 上看的不样。。
但是两个CLIENT 上看的样。 |
akai_feng 回复于:2003-07-08 11:17:44 |
问题我做copy,没有遇到no space left |
diag 回复于:2003-07-08 11:30:02 |
20 M 不小。。你COPY 个大的东东 看。。。 |
jxbcpp 回复于:2003-07-08 12:47:27 |
[quote:182cdc81cc="akai_feng"]我的怎么不行
Server端的设置如上,client端的设置也一样,问题在于client端往/export/home15/mkfile中写数据时,好像是写到原来的磁盘空间里了,也就是/export/home15/mkfile本身的空间,而不是由/export/home/d..........[/quote:182cdc81cc] /dev/lofi/1这样的只是个设备文件,指向的是mkfile的空间。数据当然是存储在mkfile出来的那个文件啦! /dev/lofi/1的空间大小就是mkfile出来的文件的大小 测试方法可以是mount 上/dev/lofi/1 设备后,在这个设备mount所在的目录上mkfile大文件 |
akai_feng 回复于:2003-07-08 12:49:22 |
[quote:544815fc75="diag"]20 M 不小。。你COPY 个大的东东 看。。。[/quote:544815fc75]
没有用的 不过我找到问题点了 Server上share的目录如果是虚拟盘本身,就可以了,如 share -F nfs -o rw /export/home/share/h1 而不是 share -F nfs -o rw /export/home/share 这样的话,又回到老问题了,nfs连接太多 |
diag 回复于:2003-07-08 12:59:04 |
/export/home15 - nfs -o rw ,anon=0 nets:/export/home15
我就是SHARE 的 整个 EXPORT/HOME 没你的问题。。。 |
akai_feng 回复于:2003-07-08 13:02:43 |
[quote:223e0730f8="jxbcpp"]
/dev/lofi/1这样的只是个设备文件,指向的是mkfile的空间。数据当然是存储在mkfile出来的那个文件啦! /dev/lofi/1的空间大小就是mkfile出来的文件的大小 测试方法可以是mount 上/dev/lofi/1 设?.........[/quote:223e0730f8] share出去后,client端看到的就不一样了,如果share的是上一层目录,没有用,只能share/dev/lofi/1的安装点的那个目录,这样client端才有容量限制 |
jxbcpp 回复于:2003-07-08 13:43:03 |
[quote:bf6a294509="akai_feng"]
share出去后,client端看到的就不一样了,如果share的是上一层目录,没有用,只能share/dev/lofi/1的安装点的那个目录,这样client端才有容量限制[/quote:bf6a294509] 为什么share上层目录不行啊?测试过吗? 我没法做试验,只是觉得好像应该可以,因为存储的东西都是相同的! |
diag 回复于:2003-07-08 13:48:02 |
我试过不可以。。
CLIENT 上看到的。。 和 SERVER 看的不样。。 |
maiku 回复于:2003-07-08 16:06:32 |
volume manager |
akai_feng 回复于:2003-07-08 17:34:03 |
[quote:faf06b57b5="jxbcpp"]
为什么share上层目录不行啊?测试过吗? 我没法做试验,只是觉得好像应该可以,因为存储的东西都是相同的![/quote:faf06b57b5] 最新说法 不行是应该的,因为share的目录最上只能到文件系统的安装点,不能包含多个文件系统,这一点应该是好理解的,只是以前没遇见这种情况,没反应过来。 |
jxbcpp 回复于:2003-07-08 23:07:08 |
[quote:f57169f1cf="akai_feng"]
最新说法 不行是应该的,因为share的目录最上只能到文件系统的安装点,不能包含多个文件系统,这一点应该是好理解的,只是以前没遇见这种情况,没反应过来。[/quote:f57169f1cf] 对对的,忘了着茬了,呵呵 |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/