490.利用RAID上面构建LVM的功能,以达到两者兼顾的目的。
(1)mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4 --spare-devices=1\ /dev/hda{6,7,8,9,10}
(2)pvcreate /dev/md0
(3)vgcreate raidvg /dev/md0
(4)lvcreate -L 2G -n raidlv raidvg
(5)mkfs -t ext3 /dev/raidvg/raidlv
(6)挂载使用
(7)全部移除
1.umount /mnt/raidlvm
2.lvremove /dev/raidvg/raidlv
3.vgchange -a n raidvg
4.vgremove raidvg
5.pvremove /dev/md0
6.mdadm --stop /dev/md0
7.fdisk /dev/hda 还原原来的分区
493.at 调度单一工作任务
工作调度的种类
1.at ,可以处理仅执行一次就结束的命令。必须有atd这个服务的支持才行。
2. , 可设置一直循环下去的命令,必须要有crond这个服务。
我们的Linux提供了一个程序 logwatch 来主动分析日志信息,所以你会发现,你的root 老是会收到logwatch 的信件,那是正常的,你最好也能看看该信件的内容。
(1)关于at 的设置。
1.我们使用at这个命令来生成索要运行的工作,并将这个工作以文本文件的方式写
入/var/spool/at目录内,该工作就能等待atd这个服务的取用与执行了。
2.可以使用/etc/at.allow 和/etc/at.deny 这个两个文件来进行at 的使用限制。
先寻找/etc/at.allow这个文件,写在这个文件中的用户才能使用at ,没有在这个文
件中的用户则不能使用at。(即使没有写在at.deny当中)
如果/etc/at.allow 不存在,就寻找/etc/at.deny 这个文件,若写在这个at.deny的用
户则不能使用at ,而没有在这个at.deny文件中的用户就可以使用at 了。
如果两个文件都不存在,那么只有root 可以使用这个命令。
由于假设系统上的所有用户都是可信任的,因此系统通常会保留一个空的
/etc/at.deny 文件,意思是允许所有人使用at命令的意思。
(2)设置at 工作
at [-mldv] TIME
-m :当at 的工作完成后,即使没有输出信息,以email 通知用户该工作已经完成
-l :at -l 相当于 atq ,列出目前系统上面的所有该用户(当前用户)的at 调度
-d :at -d 相当于 atrm ,可以取消一个在at 调度中的工作
-v : 可以使用较明显的时间格式列出at 调度中的任务列表
1.
at -c 工作号码
可以列出后面接的该项工作的实际命令内容
TIME格式
HH:MM 04:00
HH:MM YYYY-MM-DD 04:00 2009-03-17
HH:MM[am|pm] [Mount] [Date] 04pm March 17
HH:MM[am|pm] + number [minutes|hours|days|weeks]
now + 5 minutes 04pm + 3 days
at 会进入一个at shell环境来让用户执行命令,所以建议你最好使用绝对路径来执行
你的命令
2.
at 可以设置多条命令
在at 23:00 2009-01-01 执行后 , 可以在多个at 后加入命令
3.
设置at echo “Hello ”之后没有在屏幕上出现任何信息
这个是因为at 的执行与终端机环境无关,而所有stadard output / standard error
output (输出内容和错误输出内容) 都会传送到执行者的mailbox去了,所以在终端机
当然看不到任何信息,可以通过终端机的设备来处理,假如你在tty1上登录,则可
以使用 echo “Hello” > /dev/tty1
4.
要注意的是,如果在at sheel 内的命令并没有任何的信息输出,那么at 默认不会发
email 给执行者的,如果你想要让at 无论如何都发一封邮件告知你是否执行了命令,
那么可以使用“at -m 时间格式” 来执行命令,at 就会传送一个信息给执行者,
而不论该命令执行有无信息输出了
5.
由于在at 工作调度的使用上,系统会将该项at 工作独立出你的bash 环境中,直接
交给系统的atd程序来接管,因此,当你执行了at 的工作之后就可以立刻脱机了,
剩下的工作就完全交给Linux管理即可。
(3)管理atd工作
atq 查询目前主机上面有多少at 工作调度
atrm 5 删除第5个工作
(4)当at 进入调度后,系统执行该调度工作时,会到执行时的目录进行任务。
497.batch 命令
(1)其实batch 也是利用at 命令执行的。
(2)它会在CPU 工作负载小于0.8的时候,才进行你所执行的工作任务,那什么是负载0.8呢,这个负载的意思是:CPU在单一时间点所负责的工作数量,不是CPU的使用率,举例来说,如果我有一个程序它需要一直使用CPU的运算功能,那么此时CPU的使用率可能到达100% ,但是CPU的工作负载则是趋近于1 的,因为CPU仅负责一个工作嘛,如果同时执行这样的程序两个呢,CPU的使用率还是100% ,但是工作负载则变成了2 。所以也就是说,当CPU的工作负载越大,代表