第一篇:关于磁盘IO的总结
磁盘IO的总结:
1.IO读写:磁盘是用来存取数据的。磁盘的存数据对应IO的写操作,磁盘的取数据对应IO的读操作。
2.随机访问(Random Access)与连续访问(Sequential Access):
随机访问指的是本次IO所给出的扇区地址和上次IO给出扇区地址相差比较大,这样的话磁头在两次IO操作之间需要做比较大的移动动作才能重新开始读/写数据。
同理,连续访问就是两次给出的扇区地址相近,磁头就能很快的进行操作,这样的多个IO操作就是连续访问。
3.顺序IO模式(Queue Mode)/并发IO模式(BurstMode):
原理:磁盘控制器可能会一次对磁盘组发出一连串的IO命令,如果磁盘组一次只能执行一个IO命令时称为顺序IO;当磁盘组能同时执行多个IO命令时,称为并发IO。
并发IO只能发生在由多个磁盘组成的磁盘组上,单块磁盘只能一次处理一个IO命令。
4.IOPS,IO系统每秒所执行IO操作的次数
5.一次完整的磁盘IO操作:
当控制器对磁盘发出一个IO操作命令的时候,磁盘的驱动臂(ActuatorArm)带读写磁头(Head)离开着陆区(LandingZone,位于内圈没有数据的区域),移动到要操作的初始数据块所在的磁道(Track)的正上方,这个过程被称为寻址(Seeking),对应消耗的时间被称为寻址时间(SeekTime);但是找到对应磁道还不能马上读取数据,这时候磁头要等到磁盘盘片(Platter)旋转到初始数据块所在的扇区(Sector)落在读写磁头正上方的之后才能开始读取数据,在这个等待盘片旋转到可操作扇区的过程中消耗的时间称为旋转延时(RotationalDelay);接下来就随着盘片的旋转,磁头不断的读/写相应的数据块,直到完成这次IO所需要操作的全部数据,这个过程称为数据传送(DataTransfer),对应的时间称为传送时间(TransferTime)。完成这三个步骤之后一次IO操作也就完成了。
6.传输速度(Transfer Rate)/吞吐率(Throughput):是磁盘在实际使用的时候从磁盘系统总线上流过的数据量。
7.IO响应时间也被称为IO延时(IOLatency),IO响应时间就是从操作系统内核发出的一个读或者写的IO命令到操作系统内核接收到IO回应的时间,注意不要和单个IO时间混淆了,单个IO时间仅仅指的是IO操作在磁盘内部处理的时间,而IO响应时间还要包括IO操作在IO等待队列中所花费的等待时间。
8.dd命令 dd:硬拷贝命令(直接在硬盘上进行数据拷贝,没有经过内存,二进制之间的协调复制)
bs=BYTES:一次读取和写入的字节数(单元大小)
count=BLOCKS:单元数量
if=FILE:源文件
of=FILE:目标文件
测试磁盘的写入:
[root@localhost ~]# /usr/bin/time dd if=/dev/zero of=/tmp/hx bs=4k count=10240 10240+0 records in 10240+0 records out 41943040 bytes(42 MB)copied, 0.0577 s, 727 MB/s 0.00user 0.05system 0:00.05elapsed 96%CPU(0avgtext+0avgdata 832maxresident)k 0inputs+81920outputs(0major+241minor)pagefaults 0swaps
测试磁盘的读取:
[root@localhost ~]# /usr/bin/time dd if=/tmp/hx of=/dev/null bs=4k 10240+0 records in 10240+0 records out 41943040 bytes(42 MB)copied, 0.014955 s, 2.8 GB/s 0.00user 0.01system 0:00.01elapsed 86%CPU(0avgtext+0avgdata 828maxresident)k 0inputs+0outputs(0major+240minor)pagefaults 0swaps
读写同时测试
[root@localhost ~]# /usr/bin/time dd if=/tmp/foo of=/tmp/foo2 bs=4k 10240+0 records in 10240+0 records out 41943040 bytes(42 MB)copied, 0.0742246 s, 565 MB/s 0.00user 0.08system 0:00.08elapsed 97%CPU(0avgtext+0avgdata 828maxresident)k 0inputs+81952outputs(0major+240minor)pagefaults 0swaps 9.[root@localhost ~]# iostat-x Linux 2.6.32-573.el6.x86_64(localhost.localdomain)03/16/2016 _x86_64_(12 CPU)
avg-cpu: %user
%nice %system %iowait %steal
%idle
0.09
0.00
0.06
0.02
0.00
99.82
Device:
rrqm/s
wrqm/s
r/s
w/s
rsec/s
wsec/s avgrq-sz avgqu-sz
await svctm %util sda
8.30
68.47
7.61
2.27
363.21
565.82
94.05
0.05
5.32
0.40
0.39 各个性能指标的简单说明。rrqm/s 每秒进行merge的读操作数目。wrqm/s 每秒进行merge的写操作数目。r/s 每秒完成的读I/O设备次数。w/s 每秒完成的写I/O设备次数。rsec/s 每秒读扇区数。wsec/s 每秒写扇区数。rkB/s 每秒读K字节数。wkB/s 每秒写K字节数。avgrq-sz平均每次设备I/O操作的数据大小(扇区)。avgqu-sz平均I/O队列长度。await平均每次设备I/O操作的等待时间(毫秒)。svctm平均每次设备I/O操作的服务时间(毫秒)。%util 一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的。
平均单次IO大小(IO Chunk Size)<=>avgrq-sz
平均IO响应时间(IO Response Time)<=>await
IOPS(IO per Second)<=> r/s + w/s
吞吐率(Throughtput)<=> rkB/s + wkB/s
10.fio是一个非常灵活的io测试工具,他可以通过多线程或进程模拟各种io操作。
fio分顺序读,随机读,顺序写,随机写,混合随机读写模式。参数:
filename: 指定文件(设备)的名称。可以通过冒号分割同时指定多个文件,如filename=/dev/sda:/dev/sdb。
directory: 设置filename的路径前缀。在后面的基准测试中,采用这种方式来指定设备。
name: 指定job的名字,在命令行中表示新启动一个job。
direct: bool类型,如果设置成true(1),表示不使用io buffer。
ioengine: I/O引擎,现在fio支持19种ioengine。默认值是sync同步阻塞I/O,libaio是Linux的native异步I/O。
iodepth: 如果ioengine采用异步方式,该参数表示一批提交保持的io单元数。
rw: I/O模式,随机读写,顺序读写等等。
bs: I/O block大小,默认是4k。
size: 指定job处理的文件的大小。
numjobs: 指定job的克隆数(线程)。
time_based: 如果在runtime指定的时间还没到时文件就被读写完成,将继续重复知道runtime时间结束。
runtime: 指定在多少秒后停止进程。如果未指定该参数,fio将执行至指定的文件读写完全完成。
group_reporting: 当同时指定了numjobs了时,输出结果按组显示。
例: #顺序读
fio-filename=/dev/sda-direct=1-iodepth 1-thread-rw=read-ioengine=psync-bs=16k-size=200G-numjobs=30-runtime=1000-group_reporting-name=mytest
#顺序写
fio-filename=/dev/sda-direct=1-iodepth 1-thread-rw=write-ioengine=psync-bs=16k-size=200G-numjobs=30-runtime=1000-group_reporting-name=mytest
#随机读
fio-filename=/dev/sda-direct=1-iodepth 1-thread-rw=randread-ioengine=psync-bs=16k-size=200G-numjobs=30-runtime=1000-group_reporting-name=mytest #随机写
fio-filename=/dev/sda-direct=1-iodepth 1-thread-rw=randwrite-ioengine=psync-bs=16k-size=200G-numjobs=30-runtime=1000-group_reporting-name=mytest
#混合随机读写
fio-filename=/dev/sda-direct=1-iodepth 1-thread-rw=randrw-rwmixread=70-ioengine=psync-bs=16k-size=200G-numjobs=30-runtime=100-group_reporting-name=mytest-ioscheduler=noop
补充:
上次测试的三块固态硬盘IO:
0.55到2K的小文件
[root@localhost 1]# fio-filename=/data/B/1/2-direct=1-iodepth 1-thread-rw=randrw-rwmixread=80-ioengine=psync-bsrange=512-2048-size=4G-numjobs=5-group_reporting-name=test-runtime=1200 test:(g=0): rw=randrw, bs=512-2K/512-2K, ioengine=psync, iodepth=1...test:(g=0): rw=randrw, bs=512-2K/512-2K, ioengine=psync, iodepth=1 fio 2.0.7 Starting 5 threads test: Laying out IO file(s)(1 file(s)/ 4096MB)Jobs: 5(f=5): [mmmmm] [100.0% done] [8319K/2060K /s] [9870 /2498 iops] [eta 00m:00s] test:(groupid=0, jobs=5): err= 0: pid=29601
read : io=11152MB, bw=9515.1KB/s, iops=9183 , runt=1200079msec
clat(usec): min=0 , max=1000.3K, avg=468.07, stdev=1981.20
lat(usec): min=0 , max=1000.3K, avg=468.42, stdev=1981.20
clat percentiles(usec):
| 1.00th=[ 189], 5.00th=[ 211], 10.00th=[ 225], 20.00th=[ 249],| 30.00th=[ 274], 40.00th=[ 294], 50.00th=[ 318], 60.00th=[ 350],| 70.00th=[ 382], 80.00th=[ 430], 90.00th=[ 516], 95.00th=[ 596],| 99.00th=[ 844], 99.50th=[ 5088], 99.90th=[32128], 99.95th=[42240],| 99.99th=[58624]
bw(KB/s): min= 159, max= 6607, per=20.03%, avg=1905.53, stdev=328.56
write: io=2789.3MB, bw=2379.2KB/s, iops=2297 , runt=1200079msec
clat(usec): min=0 , max=1000.2K, avg=283.77, stdev=1432.42
lat(usec): min=0 , max=1000.2K, avg=284.21, stdev=1432.42
clat percentiles(usec):
| 1.00th=[
89], 5.00th=[ 110], 10.00th=[ 137], 20.00th=[ 153],| 30.00th=[ 165], 40.00th=[ 175], 50.00th=[ 189], 60.00th=[ 207],| 70.00th=[ 239], 80.00th=[ 302], 90.00th=[ 386], 95.00th=[ 458],| 99.00th=[ 660], 99.50th=[ 1976], 99.90th=[20352], 99.95th=[27520],| 99.99th=[43264]
bw(KB/s): min=
60, max= 1769, per=20.03%, avg=476.50, stdev=87.73
lat(usec): 2=0.08%, 100=0.51%, 250=29.98%, 500=59.64%, 750=8.40%
lat(usec): 1000=0.63%
lat(msec): 2=0.10%, 4=0.11%, 10=0.19%, 20=0.08%, 50=0.23%
lat(msec): 100=0.03%, 250=0.01%, 500=0.01%, 1000=0.01%, 2000=0.01%
cpu
: usr=6.13%, sys=37.70%, ctx=101478124, majf=0, minf=24056
IO depths
: 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit
: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued
: total=r=11021114/w=2757348/d=0, short=r=0/w=0/d=0
Run status group 0(all jobs):
READ: io=11152MB, aggrb=9515KB/s, minb=9515KB/s, maxb=9515KB/s, mint=1200079msec, maxt=1200079msec
WRITE: io=2789.3MB, aggrb=2379KB/s, minb=2379KB/s, maxb=2379KB/s, mint=1200079msec, maxt=1200079msec
Disk stats(read/write):
sda: ios=11020977/2758079, merge=0/69, ticks=4004421/515149, in_queue=4514919, util=98.00%
10M的大文件
[root@localhost 1]# fio-filename=/data/B/1/10-direct=1-iodepth 1-thread-rw=randrw-rwmixread=80-ioengine=psync-bs=10M-size=10G-numjobs=10
-group_reporting-name=test-runtime=1800 test:(g=0): rw=randrw, bs=10M-10M/10M-10M, ioengine=psync, iodepth=1...test:(g=0): rw=randrw, bs=10M-10M/10M-10M, ioengine=psync, iodepth=1 fio 2.0.7 Starting 10 threads test: Laying out IO file(s)(1 file(s)/ 10240MB)Jobs: 4(f=4): [_m___mm_m_] [99.0% done] [220.2M/104.9M /s] [21 /10 iops] [eta 00m:03s]]
test:(groupid=0, jobs=10): err= 0: pid=29618
read : io=81910MB, bw=270613KB/s, iops=26 , runt=309948msec
clat(msec): min=15 , max=1006 , avg=334.89, stdev=102.97
lat(msec): min=15 , max=1006 , avg=334.89, stdev=102.97
clat percentiles(msec):
| 1.00th=[ 123], 5.00th=[ 157], 10.00th=[ 200], 20.00th=[ 249],| 30.00th=[ 289], 40.00th=[ 318], 50.00th=[ 343], 60.00th=[ 363],| 70.00th=[ 383], 80.00th=[ 412], 90.00th=[ 449], 95.00th=[ 482],| 99.00th=[ 578], 99.50th=[ 766], 99.90th=[ 963], 99.95th=[ 979],| 99.99th=[ 1004]
bw(KB/s): min= 7076, max=64912, per=10.25%, avg=27750.67, stdev=7359.31
write: io=20490MB, bw=67694KB/s, iops=6 , runt=309948msec
clat(msec): min=24 , max=752 , avg=161.82, stdev=105.86
lat(msec): min=25 , max=753 , avg=162.61, stdev=105.84
clat percentiles(msec):
| 1.00th=[
27], 5.00th=[
33], 10.00th=[
34], 20.00th=[
51],| 30.00th=[
54], 40.00th=[ 103], 50.00th=[ 178], 60.00th=[ 206],| 70.00th=[ 233], 80.00th=[ 260], 90.00th=[ 297], 95.00th=[ 326],| 99.00th=[ 392], 99.50th=[ 416], 99.90th=[ 644], 99.95th=[ 725],| 99.99th=[ 750]
bw(KB/s): min= 7398, max=82447, per=29.87%, avg=20218.16, stdev=9671.17
lat(msec): 20=0.01%, 50=3.69%, 100=4.55%, 250=23.75%, 500=65.39%
lat(msec): 750=2.18%, 1000=0.42%, 2000=0.01%
cpu
: usr=0.61%, sys=6.94%, ctx=600392, majf=0, minf=12529
IO depths
: 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit
: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued
: total=r=8191/w=2049/d=0, short=r=0/w=0/d=0
Run status group 0(all jobs):
READ: io=81910MB, aggrb=270612KB/s, minb=270612KB/s, maxb=270612KB/s, mint=309948msec, maxt=309948msec
WRITE: io=20490MB, aggrb=67694KB/s, minb=67694KB/s, maxb=67694KB/s, mint=309948msec, maxt=309948msec
Disk stats(read/write):
sda: ios=261982/65792, merge=0/96, ticks=40438645/1040942, in_queue=41479880, util=100.00%
第二篇:IO总结
输入和输出
IO分类输入 和 输出 流节点流 和 处理流字节流(byte)和 字符流(char)
输入流
字节流
抽象基类 InputStream
读取文件的 FileInputStream
缓冲流 BufferedInputStream
读取各种java基本数据类型的 DataInputStream
读取对象 ObjectInputStream
字符流
抽象基类 Reader
读取文本文件的 FileReader
实现缓冲的 BufferedRead 读取一个行 readLine();newline()输出流
字节流
抽象基类 OutputStream
写文件的 FileOutputStream
缓冲输出流 BufferedOutputStream
写各种java基本数据类型的 DataOutputStream
写对象的 ObjectOutputStreamwriteObject(Object obj);字符流
对象的序列化
一个对象所属的类如果实现java.io.Serializable
则这个类是序列化类,此类创建的对象就是序列化对象 序列化对象可以通过文件流在文件中进行读和写。
第三篇:IO企业文化
IO的企业文化是什么:
【企业文化】
——企业定位
· 四个人每个人找十个标的,各自去实验,标的领域的选取根据各自偏好和擅长。公司注册成功后去寻找一个信托平台,费用为一个点的回报率。财务方面不用管信托平台会代为管理,并且将财务报表予以公示
·托管公司 代理大陆客户进行港股操盘
——使命
·为客户利益而努力进取
·提高每位员工的公司荣誉感,自豪感。
·像对待技术创新一样致力于成本创新。
·让更多的人获得更好,更稳健的服务
·充分调动员工主观能动性,主动完成好任务。
——核心价值观
· 成就客户—我们致力于每位客户的满意和成功。
· 尊重员工—我们致力于尊重每位员工的要求以及情感。
· 诚信正直—我们秉持信任、诚实和富有责任感,无论是对内部还是外部。· 追求卓越—我们倡导每天学习一点,开拓视野,每天争做最佳最好。
——愿景
IO基于对行业的深厚理解,以及对优秀的管理和文化基因的传承,顺应时代的趋势,争取成为时代的领头羊,在全球范围内打造高品质的产品,让消费者充分享受卓越的IO服务。IO致力于发展成为一个自由民主的公司,一个可以自由讨论,积极发出自己声音的的公司,一个稳健提升的企业,为客户、股东、员工和社会创造更多的价值,让世界因IO更美好。
第四篇:磁盘调度[推荐]
操作系统课程设计
磁 盘 调 度 实 践 报 告
姓名: 董宇超 班级:计算机一班 学号:0906010124
目录:
实践内容 实践目的及意义 功能设计及数据结构 调试运行及测设分析 存在的问题及改进设想 实践体会 总结 参考文献
正文:
1.实践内容:
假设磁盘只有一个盘面,并且磁盘是可移动头磁盘。 磁盘是可供多个进程共 享的存储设备,但一个磁盘每个时刻只能为一个进程服务。当有进程在访问 某个磁盘时,其它想访问该磁盘的进程必须等待,直到磁盘一次工作结束。当有多个进程提出输入输出请求而处于等待状态时,可用电梯调度算法从若 干个等待访问者中选择一个进程,让它访问磁盘。为此设置“驱动调度”进 程。
由于磁盘与处理器是并行工作的,所以当磁盘在为一个进程服务时,占有处理器的其它进程可以提出使用磁盘(这里我们只要求访问磁道),即动 态申请访问磁道,为此设置“接受请求”进程。
要求模拟电梯调度算法,对磁盘进行移臂操作,编程实现。
2.实践目的:
磁盘是高速、大容量、旋转型、可直接存取的存储设备。它作为计算机 系统的辅助存储器,担负着繁重的输入输出工作,在现代计算机系统中往往 同时会有若干个要求访问磁盘的输入输出要求。
系统可采用一种策略,尽可能按最佳次序执行访问磁盘的请求。由于磁 盘访问时间主要受寻道时间T的影响,为此需要采用合适的寻道算法,以降 低寻道时间。
本实验要求模拟设计一个磁盘调度程序,观察调度程序的动态运 行过程。通过实验理解和掌握磁盘调度的职能。
3.功能设计:
由于程序简单,没有设计结构体,只定义了一下变量:
int m=0;//记录磁道数目
int n;//接受输入的磁道号
int disk[1000];//保存磁道序列
int currenttrack;//当前磁道号
int t;
int i=0,j=0,k=0;//循环参数
int option;//记录寻到方向
int sum=0;//统计寻道长度
源代码: #include
int n;//接受输入的磁道号
int disk[1000];//保存磁道序列
int currenttrack;//当前磁道号
int t;int i=0,j=0,k=0;//循环参数
int option;//记录寻到方向
int sum=0;//统计寻道长度
printf(“请输入当前的磁道号:”);scanf(“%d”,¤ttrack);
printf(“n--------------------1.向磁道号增加的方向访问--------------------”);printf(“n--------------------2.向磁道号减少的方向访问--------------------”);printf(“n请选择的当前磁头移动方向(1/2):”);scanf(“%d”,&option);
printf(“n请输入磁道请求序列(0~999并以<-1>结束):n”);scanf(“%d”,&n);while(n!=-1){
disk[i]=n;
m++;i++;
scanf(“%d”,&n);}
/* 冒泡排序 使磁道请求序列从小到大排序 */ for(j=0;j for(i=0;i { if(disk[i]>disk[i+1]) { t=disk[i]; disk[i]=disk[i+1]; disk[i+1]=t; } } } /* 找到当前磁道号在磁道请求序列中的排序位置 */ k=0;for(i=0;i k++;else break;} printf(“n--------------电梯算法调度后的磁盘调度序列-------------n”);/* 第一种: 当前磁道号先向外再向里读 */ if(option==1){ for(i=k;i printf(“%5d”,disk[i]);} for(i=k-1;i>=0;i--){ printf(“%5d”,disk[i]);} sum=2*(disk[m-1]-disk[k])+disk[k]-disk[0];printf(“n寻道长度为:%5d”,sum);} /* 第二种: 当前磁道号先向里再向外读 */ if(option==2){ for(i=k-1;i>=0;i--){ printf(“%d ”,disk[i]); sum+=disk[i];} for(i=k;i printf(“%5d”,disk[i]); sum+=disk[i];} sum=disk[m-1]-disk[k]+2*(disk[k]-disk[0]);printf(“n寻道长度为:%5d”,sum); } printf(“n”);} 4.调试运行: 运行开始后出现如下界面,举例输入5: 然后出现: 1.先选择1(按按磁道号增加的方向寻道): 接着输入磁道序列,若要结束输入,输入-1即可: 然后出现如下寻道结果: 2.再选择2(按按磁道号减少的方向寻道): 接着输入磁道序列,若要结束输入,输入-1即可: 然后出现如下寻道结果: 5.存在的问题: 由于初次做操作系统模拟实验,所以程序设计中存在很多问题,例如:由于电梯算法是从当前的磁道号开始沿着预定的方向寻道,当本方向上的请求全部满足时,再反向寻道,但是程序模拟过程中,进程不能随着寻道的同时添加新的进程,使得电梯调度算法不能更好的体现。只能预先输入一串请求,然后只对这一段请求寻道。 改进之处:添加更高级的算法,使得请求能在寻道的同时加进来。 还有一些简单的已解决的问题,不一一列举了。 6.实践心得体会: 通过这次实践学会了不少内容,更深的理解了磁道调度的几种算法,而且学 会了系统的编写程序。在编程过程中,需要 查阅各种资料,并且学习前人的 编写方法,找出优劣,然后形成自己的思想,最终完成程序的编写。 通过模拟磁盘调度的电梯调度算法,并比较与其他调度算法的不同,懂得了 各种算法在不同情况下的作用。选择一个好的调度算法可以节约很多时间。 在模拟过程中出现过好多问题,有的解决了,有的还未解决,不管如何都是 一种收获。 在最初的时候,由于程序编写隐藏的错误,编译没有发现,却执行不下 去,然后改正错误,修复漏洞,最终满足实验要求。 7.总结: 为期一周的操作系统实践课结束了,编写了电梯调度算法的磁盘调度模 拟程序。电梯调度寻道方式就像电梯运行一样,就是沿一个方向寻道,直到 满足这一方向的所有请求,便反向寻道。在程序中添加了寻道长度的显示,以便将电梯调度的效率与其他磁盘调度算法比较。 8.参考文献: 1.操作系统教程(第4版)„„„„孙钟秀 主编 高等教育出版社; 2.算法与数据结构-C语言描述(第2版)„„张乃孝 主编 高等教育出版社; 3.网络资源; 配额管理 Windows Server 203 R2“文件服务器”的“配额管理”包括如下功能: (1)通过创建配额来限制允许卷或文件夹使用的空间,并在接近或达到配额限制时生成通知。 (2)生成应用于卷或文件夹中所有现有文件夹以及以后创建的任何新子文件夹的自动配额。(2)定义配额模板,并且定义的配额模板可以很容易应用于新的卷或文件夹以及可以在整个组织中使用。 Windows Server 2003 R2的“文件服务器”中的配额模板是非常灵活的,例如:(1)您可以为服务器上每个用户的个人文件夹设置200 MB的限制,并在达到180 MB存储空间时通知您和用户。 (2)您可以为指定的用户组的共享文件夹设置灵活的500 MB配额。达到此存储限制时,将通过电子邮件通知组中的所有用户,存储配额已临时扩展到520 MB,以便用户可以删除不必要的文件并符合预设的500 MB配额策略。 (3)可以在临时文件夹达到2 GB时接收通知,然而不限制该文件夹的配额,因为服务器上运行的服务需要。 按照组件过程:添加删除组件-管理监视工具-文件服务管理+配额管理,就不一一的详细叙述了。创建配额 在“文件服务器”中创建配额的步骤如下: (1)双击“文件服务器资源管理器”展开,如图4-16所示。 图4-16 文件服务器资源管理器窗口 (2)在如图4-16所示的窗口中双击“配额管理”将其展开,右击“配额”选项,如图4-17,在展开的快捷菜单中选择“创建配额”命令,打开“创建配额”对话框,如图4-18所示。 图4-17 选择创建配额选项 图4-18 打开创建配额对话框 (3)在“配额路径”文本框中,选择或键入将应用该配额的文件夹的路径。注意,配额属性还将应用于其所有的子文件夹。选中“在路径上创建配额”单选按钮,在“配额属性”选项组中的“从此配额模板派生属性”下拉列表中选择其配额属性。本例中选择“100 MB限制”,如图4-19所示。单击“创建”按钮完成配额的创建,如图4-20所示。 图4-19 设置配额路径和属性 图4-20 完成配额的创建 (4)在图4-19所示的窗口中,从“配额属性”选项组上选中“定义自定义配额属性”单选按钮,单击“自定义属性”按钮,打开“配额属性”对话框,如图4-21所示。单击“确定”按钮,打开“将自定义属性另存为模板”对话框。键入模板名(如:dfs1),如图4-22所示。 图4-21 自定义配额属性 图4-22 输入模板名 (5)单击“确定”按钮,完成配额的创建,如图4-23所示。 图4-23 完成配额创建并生成配额模板 2创建配额模板 “文件服务器”中提供的配额模板是有限的,如果模板不能满足需求,可以创建新的模板,方法如下: (1)在图4-23所示的窗口中,右击“配额模板”,在展开的快捷菜单中选择“创建配额模板”命令,如图4-24所示。将打开“创建配额模板”对话框,在“从配额模板复制属性”中的下拉列表中选择“100 MB 限制”,在“设置”选项卡中“模板名”文本框中键入模板名,本例用“dfs1”。在“空间限制”选项组中“限制”文本框中键入空间大小,如150,下拉列表中选择“MB”。选中“硬配额”单选按钮,如图4-25所示。 图4-24 选择创建配额模板选项 图4-25 打开创建配额模板对话框 (2)在“通知阀值”选项组中单击“添加”按钮,打开“添加阀值”对话框,如图4-26所示。在“电子邮件”选项卡中,选中“将电子邮件发送到下列管理员”复选框,在下列文本框中键入管理员邮件地址,如hanxiaoqi129@sohu.com;若想要将电子邮件发送到时超出该阀值的用户,可选中“将电子邮件发送到超出该阀值的用户”复选框。单击“其它电子邮件标题”按钮,打开“其他电子邮件标题”对话框,键入发件人地址,如qiling8139@163.com,抄送地址和密件抄送地址,如图4-27所示。 如图4-26 打开添加阀值对话框 如图4-27 输入邮件地址 (3)在“事件日志”选项卡中,选中“将警告发送至事件日志”复选框,在“警告消息”选项组中,可编辑默认的日志项,本例中使用默认,如图4-28所示。 图4-28 设置“事件日志”选项卡 (4)在“命令”选项卡中,选中“运行该命令或脚本”复选框,指定在达到阈值时是否运行命令或脚本,在“命令安全”选项组中,可指定运行该命令的安全级别,如图4-29所示。 图4-29 设置“命令”选项卡 (5)在“报告”选项卡中,选中“生成报告”复选框,在“选择要生成的报告”中的下拉列表中选择“按所有者分类的文件”、“按文件组分类的文件”“大文件”等复选框,查看所选报告可单击“查看所选报告”按钮,将打开“查看所选报告”对话框,如图4-13所示。选中“将报告发送至下列管理员”复选框,在“将报告发送至下列管理员”文件框中键入管理员电子邮件地址,本例中使用hanxiaoqi129@sohu.com,如有多个邮件地址用分号分隔,若想把生成的报告发送至超出阀值的用户,可选中“把报告发送至超出阀值的用户”复选框,如图4-30所示。 如图4-30 设置“报告”选项组 (6)创建模板完成后,在图4-30中单击“确定”按钮。 3创建自动配额 通过使用自动配额,可以为文件夹指定配额模板,并指定自动生成基于该模板的配额并应用于现有的子文件夹以及以后创建的任何新子文件夹。例如,可以为按需求为漫游配置文件用户或新用户创建的文件夹定义自动配额。每次创建新文件夹时,将使用其父文件夹的自动配额配置文件中定义的模板来为该文件夹自动生成新配额项。然后,可以在结果窗格中的“配额”节点下查看这些自动生成的配额项,作为分别创建的配额查看,可以单独进行编辑和修改。 创建自动配额的步骤如下: (1)在图4-17所示的窗口中,单击“创建配额”命令,打开“创建配额”对话框,如图4-18所示。在“配额路径”文本框中,选择或键入将应用该配额的文件夹的路径。本例中选择“F:hjx”目录,选中“在现有子文件夹和新的子文件中自动应用模板并创建配额”单选按钮,在配额属性选项组中,选中“从此配额模板派生属性”在其下拉列表中选择配额属性。本例中选择“100 MB 限制”。如图4-31所示。 图4-31 设置配额路径和属性 (2)单击“创建”按钮,打开“文件服务器资源管理器”窗口,如图4-32所示。 图4-32 完成自动配额的创建 4编辑配额模板的属性 在更改配额模板时,可以选择将这些更改扩展到使用原始配额模板创建的配额上。可以选择只修改那些仍与原始模板匹配的配额或从原始模板派生的所有配额,无论自创建后对配额进行过任何修改都是如此。此功能通过提供一个可进行所有更改的中心点,简化更新配额属性的过程。 (1)在图4-23所示的窗口中,双击“配额模板”项,展开配额模板,在配额模板列表中选择“dfs1”,右击该模板,在弹出的快捷菜单中选择“编辑模板属性”命令,如图4-33所示。将打开“编辑模板属性”对话框,如图4-34所示。 图4-33 选择“编辑模板属性(P)„”命令 图4-34 打开配额模板属性对话框 (2)在“空间限制”选项组中的“限制”文本框中键入200,选中“软配额 允许用户超出限制(用于监视)”单选按钮,如图4-35所示。 如图4-35 修改配额模板属性 (3)单击“确定”按钮,打开“更新从模板派生的配额”对话框,选中“仅将模板应用于与原始模板匹配的派生配额”单选按钮,如图4-36所示。 如图4-36 设置模板应用范围 (4)单击“确定”按钮,完成模板属性的修改,如图4-37所示。 如图4-37 修改DFS1模板属性 编辑自动配额模板的属性 在更改自动配额时,可以选择将这些更改扩展到自动配额路径中现有的配额上。可以选择只修改那些仍与原始自动配额匹配的配额或自动配额路径中的所有配额,无论自创建后对配额进行过任何修改都是如此。此功能通过提供一个可进行所有更改的中心点,简化更新从自动配额派生的配额属性的过程。 (1)在图4-32所示的窗口中,双击“配额”展开“配额”项,如图4-38所示。在“配额”列表中选中“F:hjx*„”模板,右击该模板,在弹出的快捷菜单中选择“编辑配额属性”命令,如图4-39所示,打开“编辑自动应用配额”对话框,如图4-40所示。 图4-38 展开配额选项 图4-39 选择编辑配额命令(2)在“编辑自动应用属性”选项组中的“从此配额模板派生属性”的下拉列表中选择“200 MB 限制,50 MB 扩展”项,如图4-40所示。 图4-40 修改自动应用配额属性 (3)单击“确定”按钮,打开“更新从自动应用配额派生的配额”对话框,从中选中“仅将自动应用配额应用于原始自动应用配额匹配的派生配额”单选按钮,如图4-41所示。单击“确定”按钮,完成自动配额模板的属性的修改,如图4-42所示。 图4-41 选择自动配额应用范围 图4-42 显示修改后模板信息第五篇:文件服务器磁盘配额管理