公司服务器自动分区,IP=192.168.0.100
现上级要求使用软件磁盘阵列为服务器上的普通用户家目录进行配额限制,且此服务器所有日志信息都写到192.168.0.10这台机器上


服务器上用户有10个 用户名自定义 ip地址自定义,限额数值自定义,但需要在文档中标明。

 


1.首先装一个自动分区的linux系统,添加4个硬盘
然后添加ip   ifconfig eth0 192.168.0.100 或者setup 网路设置一下ip

2.重新分区并格式化
fdisk -l
fdisk  /dev/sdb
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610):
Using default value 2610

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

fdisk  /dev/sdc
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610):
Using default value 2610

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

fdisk  /dev/sdd
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610):
Using default value 2610

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

格式化
mkfs.ext3 /dev/sdb1
mkfs.ext3 /dev/sdc1
mkfs.ext3 /dev/sdd1
partprobe强制内核分区表

建立raid设备
mdadm   --create --auto=yes  /dev/md1 --level=5 --raid-devices=2  --spare-devices=1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm   --detail /dev/md1  查看raid设备信息
设置raid自动挂载
[root@localhost ~]# mdadm --detail /dev/md1  | grep -i uuid
           UUID : a7e08091:74630477:aa7d609f:57955eb9
vim /etc/mdadm.conf
偷懒的方法: ARRAY /dev/md1 UUID=a7e08091:74630477:aa7d609f:57955eb9

vim  /etc/fstab
在最后一行添加 /dev/md1    /mnt/raid5      ext3    defaults  0  0
创建用户和组
vim useradd.sh
#!/bin/bash
groupadd lin

for  username in lin1 lin2 lin3 lin4 lin5 lin6 lin7 lin8 lin9 lin10
do

             useradd -g lin $username

             echo "123456" | passwd --stdin $username
done

sh useradd.sh
cat /etc/passwd
lin1:x:501:501::/home/lin1:/bin/bash
lin2:x:502:501::/home/lin2:/bin/bash
lin3:x:503:501::/home/lin3:/bin/bash
lin4:x:504:501::/home/lin4:/bin/bash
lin5:x:505:501::/home/lin5:/bin/bash
lin6:x:506:501::/home/lin6:/bin/bash
lin7:x:507:501::/home/lin7:/bin/bash
lin8:x:508:501::/home/lin8:/bin/bash
lin9:x:509:501::/home/lin9:/bin/bash
lin10:x:510:501::/home/lin10:/bin/bash

mkdir /mnt/raid5  建立一个raid5
挂载  mount  /dev/md1  /mnt/raid5
cd /mnt/raid5
ls
里面有lost+found
cd
mount -o remount,usrquota,grpquota /mnt/raid5
mount
/dev/md1 on /mnt/raid5 type ext3 (rw,usrquota,grpquota)

vim /etc/fstab
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
/dev/md1        /mnt/raid5               ext3            defaults       0 0
/dev/md1        /mnt/raid5               ext3      defaults,usrquota,grpquota  0 0

测试
mount
/dev/md1 on /mnt/raid5 type ext3 (rw,usrquota,grpquota)
umount /mnt/raid5
mount查看
mount -a
cd /mnt/raid5
ls  lost+found
cd
quotacheck -avug
quotacheck: Scanning /dev/md1 [/mnt/raid5] done
quotacheck: Checked 3 directories and 4 files
cd /mnt/raid5
ls
aquota.group  aquota.user  lost+found

启动配额
[root@localhost raid5]# quotaon   -auvg
/dev/md1 [/mnt/raid5]: group quotas turned on
/dev/md1 [/mnt/raid5]: user quotas turned on

edquota  -u  lin1
Disk quotas for user lin1 (uid 501):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/md1                     0         200000       300000          0        0        0
wq

[root@localhost ~]# edquota -p lin1  -u lin2
[root@localhost ~]# edquota -p lin1  -u lin3
[root@localhost ~]# edquota -p lin1  -u lin4
[root@localhost ~]# edquota -p lin1  -u lin5
[root@localhost ~]# edquota -p lin1  -u lin6
[root@localhost ~]# edquota -p lin1  -u lin7
[root@localhost ~]# edquota -p lin1  -u lin8
[root@localhost ~]# edquota -p lin1  -u lin9
[root@localhost ~]# edquota -p lin1  -u lin10

[root@localhost ~]# edquota -u lin2 可以看一下
Disk quotas for user lin2 (uid 502):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/md1                          0     200000     300000          0        0        0

edquota -g lin
Disk quotas for group lin (gid 501):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/md1                          0        900000         1000000          0        0        0
wq


edquota -t宽限时间
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/md1                      14days                  7days

软连接
ln -s /home /mnt/raid5/
cd /mnt/raid5/
[root@localhost raid5]# ls
aquota.group  aquota.user  home  lost+found
[root@localhost raid5]# ll
总计 32
-rw------- 1 root root  7168 12-28 17:07 aquota.group
-rw------- 1 root root  7168 12-28 17:09 aquota.user
lrwxrwxrwx 1 root root     5 12-28 17:33 home -> /home
drwx------ 2 root root 16384 12-28 14:48 lost+found

服务器日志
vim /etc/sysconfig/syslog                                        
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-m 0 -r"
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
#    once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd(8) for more details
KLOGD_OPTIONS="-x"
#
SYSLOG_UMASK=077
# set this to a umask value to use for all log files as in umask(1).
# By default, all permissions are removed for "group" and "other".

service syslog  restart
关闭内核日志记录器:                                       [确定]
关闭系统日志记录器:                                       [确定]
启动系统日志记录器:                                       [确定]
启动内核日志记录器:                                       [确定]

tail -f /var/log/messages

客户端日志
vim /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console
*.*                                                                                                                                                   @192.168.0.100
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 *

# Save news errors of level crit and higher in a special file.

tail -f /var/log/messages

测试
给普通用户加个写的权限 chmod  o+w /mnt/
ll -d /mnt/raid5
su - lin1
cd /mnt/raid5
[lin1@localhost raid5]$ dd if=/dev/zero  of=lin1 bs=1M count=270
md1: warning, user block quota exceeded.
270+0 records in
270+0 records out
283115520 bytes (283 MB) copied, 5.13592 seconds, 55.1 MB/s
但是270也写进去了 ll查看一下
在改一个25的
[lin1@localhost raid5]$  dd if=/dev/zero  of=lin11 bs=1M count=25
md1: write failed, user block limit reached.
dd: 写入 “lin11”: 超出磁盘限额
23+0 records in
22+0 records out
23773184 bytes (24 MB) copied, 0.302682 seconds, 78.5 MB/s