M25-5

  1  懒人少语之第五周     

磁盘限额相关命令:(quota, quotacheck, quotastats, warnquota, repquota,查询功能) ('edquota, setquota'编辑quota功能) 2 💛quota命令 `显示某群组/使用者的quota限额.` 3 quota wang `查看wang空间占用` 是根据由所有者来判断磁盘是否用完了 4 quota -g g1 `查看g1组空间配额` 5 -g `列出群组的磁盘空间限制` 6 -q `基本信息,列出超过限制的部分` 7 -u `列出用户磁盘空间限制` 8 -v `显示某用户或群组,在所有挂入系统的存储设备的空间限制` 9 -V `版本信息` 10 11 包quota查询信息解释: 12 soft `最低限制容量.使用者在宽限期内容量可以超过soft,必须在宽限期之内降低到soft的容量限制之下` 13 hart `最大值,一般soft用做警示提醒作用,而hart则相当与"硬件容量",无法超过这个设定值` 14 limit `宽限时间,当soft过量超过宽限时间时将启动限制,将soft容量降低到安全线内宽限解除` 15 16 💛quotacheck命令 17 -a `扫描/etc/mtab表的mount具有quota支持的磁盘` 18 -u `扫描所有者的文件目录` 19 -v `显示过程` 20 -g `扫描所属组的文件目录` 21 -m `强行进行检查` 22 在有quota的限额磁盘做检查操作 23 touch /mnt/sdb1/aquota.user; touch /mnt/sdb1/aquota.group 24 quotacheck -uvg /mnt/sdb1/ 25 26 💛quotaon命令 `` 27 -a `将启动所有quota设定,根据/etc/mtab查找` 28 -u `启动某所有者的quota` 29 -g `启动某所属组的quota` 30 -v `显示过程` 31 quotaon -a `启动所有限额` 32 但必须先执行quotacheck,根据aquota.group和aquota.user文件信息来启动 33 quotaon -uv /mnt/sdb1 `启动sdb1下所有者的限额,所属组的限额不启动` 34 35 💛quotaoff命令 36 quotaoff -a `将关闭所有quota设定,根据/etc/mtab文件查找` 37 38 💛edquota命令 `会进入vi界面处理` 39 -u `编辑所有者的quota` 40 -g `编辑所属组的quota` 41 -t `编辑宽限时间limit` 42 -p `将建立好的使用者/群组复制到另一个使用者/群组` 43 edquota -u test 44 Filesystem blocks soft hard inodes soft hard 45 /dev/sdb1 8 0 0 5 0 0 46 filesystem `partition的信息` 47 block `目前test用户在/dev/sdb1所占用的空间,单位是kb/s,默认不要自己修改` 48 soft和hart `一个是警戒值,一个是最大限额` 49 inodes `目前使用了多少个inode的状态,默认不要去修改他,一般不好限制,可忽略此项限额` 50 51 edquota -p user1 hong `把user1配额复制给hong` 52 edquota -g g1 `指定组配额` 会根据该用户对g1所属组的控制,某个用户的所属组必须是g1的意思. 53 对组用户做配额限制 54 55 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 56 57 使用quota步骤(这是限额操作,非权限操作.要注意使用者对磁盘是否有足够权限) 58 比如限制某个群组/使用者使用磁盘最大限制 59 一. 开启磁盘quota: 编辑/etc/fstab 60 二. 扫描磁盘使用情况: 使用quotacheck扫描使用的磁盘空间 61 三. 建立使用者的quota: 使用edquota来编辑每个所有者/群组的可用空间 62 四. 启动quota: 使用quotaon启动某群组/所有者 63 64 建立使用者 (限定某所有者限额准备) 65 usergroup group1 66 useradd -m -g group1 user1 `指定用户user1所属组是group1` 67 useradd -m -g group1 user2 68 passwd user1 `设定user1用户登录密码` 69 70 🚀使用quota的准备工作 71 我想在/mnt/sdb1下限制user1,user2用户,可使用df来查询相对应的/mnt/sdb1的信息,我的sdb1是独立的磁盘分区, 72 修改/etc/fstab信息,把/dev/sdb1的第四列defaults添加usrquota,grpquota信息 73 /dev/sdb1 /mnt/sdb1 ext4 defaults,usrquota,grpquota 0 0 74 重启或者重新挂载生效 75 重启: reboot 76 重新挂载: mount -a -o remount 77 🚀扫描磁盘使用情况,并生成aquota.group和aquota.user文件 78 cd /mnt/sdb1/ 79 quotacheck -avug 80 🚀启动quota进行限额 81 quotaon -av 82 /dev/sdb1 [/mnt/sdb1]: group quotas turned on 83 /dev/sdb1 [/mnt/sdb1]: user quotas turned on 84 显示turned on表示成功启动 85 🚀控制使用者/群组可用的空间 86 edquota -u uesr1 87 显示效果如下👇 88 Filesystem blocks soft hard inodes soft hard 89 /dev/sdb1 0 0 0 0 0 0 90 修改为👇 单位为kb 91 Filesystem blocks soft hard inodes soft hard 92 /dev/sdb1 0 10000 20000 0 0 0 93 🚀指定宽限时间/可选 94 edquota -t 95 Time units may be: days, hours, minutes, or seconds 96 Filesystem Block grace period Inode grace period 97 /dev/sdb1 7days 7days 98 🚀查询是否生效 99 quota -vu user1 user2 `查询user1和user2的限额情况` 100 Disk quotas for user user1 (uid 502): `一般grace在达到警戒值soft才会显示` 101 Filesystem blocks quota limit grace files quota limit grace(警戒天数) 102 /dev/sdb1 0 10000 20000 0 0 0 103 Disk quotas for user user2 (uid 503): 104 Filesystem blocks quota limit grace files quota limit grace 105 /dev/sdb1 0 0 0 0 0 0 106 以上创建完毕,创建群组操作也类似,edquota -g group1 ; quota -vg group1 ... 107 若需要让其开机启动,编辑vim /etc/rc.d/rc.local, 最后一行添加/sbin/quotaon -aug 即可. 108 109 💛setquota命令 110 -u `指定用户设置的用户配额` 111 -g `指定组设置的配额` 112 setquota user1 100000 150000 0 0 113 限定: * * 文件个数 * /home挂载点 114 115 💛repquota命令 116 以报表形式输出指定分区/文件系统/文件夹配额信息 117 repquota /dev/sdb2 `结果如下👇` 118 *** Report for user quotas on device /dev/sdb1 119 Block grace time: 7days; Inode grace time: 7days 120 Block limits File limits 121 User used soft hard grace used soft hard grace 122 ---------------------------------------------------------------------- 123 root -- 20 0 0 2 0 0

 

磁盘限额相关命令:(quota, quotacheck, quotastats, warnquota, repquota,查询功能) ('edquota, setquota'编辑quota功能)
💛quota命令 `显示某群组/使用者的quota限额.`
quota wang `查看wang空间占用` 是根据由所有者来判断磁盘是否用完了
quota -g g1 `查看g1组空间配额`
-g `列出群组的磁盘空间限制`
-q `基本信息,列出超过限制的部分`
-u `列出用户磁盘空间限制`
-v `显示某用户或群组,在所有挂入系统的存储设备的空间限制`
-V `版本信息`

包quota查询信息解释:
soft `最低限制容量.使用者在宽限期内容量可以超过soft,必须在宽限期之内降低到soft的容量限制之下`
hart `最大值,一般soft用做警示提醒作用,而hart则相当与"硬件容量",无法超过这个设定值`
limit `宽限时间,当soft过量超过宽限时间时将启动限制,将soft容量降低到安全线内宽限解除`
 
💛quotacheck命令
-a `扫描/etc/mtab表的mount具有quota支持的磁盘`
-u `扫描所有者的文件目录`
-v `显示过程`
-g `扫描所属组的文件目录`
-m `强行进行检查`
在有quota的限额磁盘做检查操作
touch /mnt/sdb1/aquota.user; touch /mnt/sdb1/aquota.group
quotacheck -uvg /mnt/sdb1/

💛quotaon命令 ``
-a `将启动所有quota设定,根据/etc/mtab查找`
-u `启动某所有者的quota`
-g `启动某所属组的quota`
-v `显示过程`
quotaon -a `启动所有限额`
但必须先执行quotacheck,根据aquota.group和aquota.user文件信息来启动
quotaon -uv /mnt/sdb1 `启动sdb1下所有者的限额,所属组的限额不启动`
 
💛quotaoff命令
quotaoff -a `将关闭所有quota设定,根据/etc/mtab文件查找`

💛edquota命令 `会进入vi界面处理`
-u `编辑所有者的quota`
-g `编辑所属组的quota`
-t `编辑宽限时间limit`
-p `将建立好的使用者/群组复制到另一个使用者/群组`
edquota -u test
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 8 0 0 5 0 0
filesystem `partition的信息`
block `目前test用户在/dev/sdb1所占用的空间,单位是kb/s,默认不要自己修改`
soft和hart `一个是警戒值,一个是最大限额`
inodes `目前使用了多少个inode的状态,默认不要去修改他,一般不好限制,可忽略此项限额`

edquota -p user1 hong `把user1配额复制给hong`
edquota -g g1 `指定组配额` 会根据该用户对g1所属组的控制,某个用户的所属组必须是g1的意思.
对组用户做配额限制
 
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀

使用quota步骤(这是限额操作,非权限操作.要注意使用者对磁盘是否有足够权限)
比如限制某个群组/使用者使用磁盘最大限制
一. 开启磁盘quota: 编辑/etc/fstab
二. 扫描磁盘使用情况: 使用quotacheck扫描使用的磁盘空间
三. 建立使用者的quota: 使用edquota来编辑每个所有者/群组的可用空间
四. 启动quota: 使用quotaon启动某群组/所有者

建立使用者 (限定某所有者限额准备)
usergroup group1
useradd -m -g group1 user1 `指定用户user1所属组是group1`
useradd -m -g group1 user2
passwd user1 `设定user1用户登录密码`
 
🚀使用quota的准备工作
我想在/mnt/sdb1下限制user1,user2用户,可使用df来查询相对应的/mnt/sdb1的信息,我的sdb1是独立的磁盘分区,
修改/etc/fstab信息,把/dev/sdb1的第四列defaults添加usrquota,grpquota信息
/dev/sdb1 /mnt/sdb1 ext4 defaults,usrquota,grpquota 0 0
重启或者重新挂载生效
重启: reboot
重新挂载: mount -a -o remount
🚀扫描磁盘使用情况,并生成aquota.group和aquota.user文件
cd /mnt/sdb1/
quotacheck -avug
🚀启动quota进行限额
quotaon -av
/dev/sdb1 [/mnt/sdb1]: group quotas turned on
/dev/sdb1 [/mnt/sdb1]: user quotas turned on
显示turned on表示成功启动
🚀控制使用者/群组可用的空间
edquota -u uesr1
显示效果如下👇
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 0 0 0 0 0
修改为👇 单位为kb
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 10000 20000 0 0 0
🚀指定宽限时间/可选
edquota -t
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sdb1 7days 7days
🚀查询是否生效
quota -vu user1 user2 `查询user1和user2的限额情况`
Disk quotas for user user1 (uid 502): `一般grace在达到警戒值soft才会显示`
Filesystem blocks quota limit grace files quota limit grace(警戒天数)
/dev/sdb1 0 10000 20000 0 0 0
Disk quotas for user user2 (uid 503):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 0 0 0 0 0 0
以上创建完毕,创建群组操作也类似,edquota -g group1 ; quota -vg group1 ...
若需要让其开机启动,编辑vim /etc/rc.d/rc.local, 最后一行添加/sbin/quotaon -aug 即可.
 
💛setquota命令
-u `指定用户设置的用户配额`
-g `指定组设置的配额`
setquota user1 100000 150000 0 0
限定: * * 文件个数 * /home挂载点

💛repquota命令
以报表形式输出指定分区/文件系统/文件夹配额信息
repquota /dev/sdb2 `结果如下👇`
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 2 0 0
  1 💛RAID  
  2     区块,一般chunk可设定为4k~1M之间,不同的raid会根据chunk数量来切割符合大小后并保存到不同的磁盘去.
  3 
  4     /dev/md0    `一般只有软raid才这么表示`硬raid很可能不显示,设定在raid卡处理
  5     硬raid做的raid0很可能会导致容量过大的500G和100G会产生有400G无法使用.`磁盘效能要最大化,磁盘大小尽量相等`
  6 
  7     raid0   带区,并联,分散存储  `性能好/稳定差`    
  8     raid1   镜像,并联,数据备份  `稳定好/写入性能弱/读取性能好`
  9     raid01  先带区再镜像  
 10     raid10  先镜像再带区  `容错比01好`强烈建议,并因为不需要像如raid5做数据校验找回,读写性能会更好.
 11     raid4   3个带区,1个校验   `性能+一定安全`>=3块硬盘 读写频繁
 12     raid5   至少3个磁盘以上,校验分布在各个磁盘, 丢哪个根据冗余计算可恢复,奇偶校验`有性能+ 安全`
 13     spare disk  坏的磁盘马上恢复 `备用硬盘`
 14 
 15     raid50  
 16     raid7
 17     JBOD
 18     ...
 19 
 20     一些初始设定...
 21         dd if=dev/zero of=/dev/sdb bs=1 count=512
 22         partx -d --nr 5 /dev/sdc
 23         sdb sdc sdd sde sdf `创建`
 24 
 25         fdisk /dev/sdd1 分60G
 26         改t 文件系统id是 fdisk    `更改文件系统类型`
 27         dd if=/dev/sdd of=/dev/sdb bs=1 count=512 复制分区表给sdb
 28         dd if=/dev/sdd of=/dev/sdc bs=1 count=512
 29         partx -a /dev/sdb  
 30         partx -a /dev/sdc
 31 
 32         umount
 33         mount -a
 34         ...
 35 
 36     软raid准备
 37         sdb1 10G
 38         sdc1 10G
 39         sdd1 10G
 40         sde  完整
 41         ...
 42 
 43 💛mdadm命令 一般先umount掉挂载,操作结束后同步partx磁盘-C创建,-D显示
 44 
 45     mdadm [mode模式👇] <raiddevice设备> [选项] <component-devices>
 46         [mode]👇
 47             -C,--create `大写C创建模式`
 48                 mdadm --create --help
 49             -A,--assemble `装配`加入到以前的一个阵列
 50             -F,--follow,--monitor `监控`监控(Monitor)模式
 51             -f,force `(模拟损坏)`/-r,--remove `(删除磁盘)`/-a,--add `(添加磁盘)` `管理`
 52                 mdadm --set-faulty --help
 53                 mdadm --fail --help
 54             -l,--level `创建的raid类型[0,1,4,5,6]`
 55 
 56             -B  `创建一个没有超级块的阵列`
 57             -C  `创建一个新的阵列`
 58                 -n 4 `使用4个块设备来创建此RAID`
 59                 -l 5 `指定要创建的RAID级别`
 60                 -a yes|no `自动创建目标RAID设备的设备文件`
 61                 -c size `指定chunk块大小`
 62                 -x 1    `指明空闲盘个数`
 63             -G  `改变激活阵列的大小或形态`
 64             -I  `添加单独的设备到合适的阵列,并启动之`
 65             -h  `帮助` 有些选项后-h有详细的可用功能
 66             -v  `显示过程`
 67             -c,--chunk `指定区块大小`
 68             -s  `扫描配置文件/etc/mdadm.conf或/proc/mdstat搜索丢失信息,`
 69             --auto-detect   `请求内核启动任何自动检测的阵列`
 70 
 71     🚀创建并定义RAID:
 72         语法: mdadm --create /dev/md[0-9] --auto=yes --level=[015] --chunk=Nk --raid-devices=N --spare-devices=N /dev/sdb{1,2,3}...
 73         mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb{1,2,3,4}
 74         mke2fs -j /dev/md0  `对RAID设备格式化文件系统`
 75 
 76             --create,-C    `建立RAID`
 77             --auto=yes     `类似允许功能,支持内核启动自动检测`
 78             --chunk=Nk     `指定每个chunk字节大小,一般64k或512k`
 79             --raid-devices=N    `指定几个磁盘作为磁盘阵列`
 80             --spare-devices=N   `使用几个磁盘作为备用`
 81             --level=[015]  `设定磁盘阵列(RAID)类型,常用0,1,5`
 82             --detail       `显示多个磁盘详细信息`
 83 
 84     🚀测试并检查RAID设备
 85         mdadm --detail /dev/md0
 86             -D,--detail `显示raid的详细信息`    
 87 
 88     🚀新增磁盘(指定阵列中活动的device数目,不包括spare磁盘,这个数目只能由--grow修改)
 89         mdadm -G /dev/md0 -n4 -a /dev/sdc1
 90 
 91     🚀模拟RAID故障,以及解决方案
 92         语法: mdadm --manage /dev/md[0-9] [--add 设备] [--remove 设备] [--fail 设备]
 93             --add `添加设备到md中`
 94             --remove `删除md某设备`
 95             --fail  `设定某设备为出错状态`
 96         mdadm /dev/md0 -f /dev/sdc1 `模拟损坏`
 97         一般在出现出错的时候(spare disk)磁盘会自动恢复系统文件,可用mdadm --detail /dev/md0 查看当前(恢复)状态
 98         mdadm --manage /dev/md0 --remove /dev/sdc1 `移除错误磁盘`
 99         mdadm --manage /dev/md0 --add /dev/sdc2 `添加新磁盘`
100 
101     🚀其它功能
102         mdadm -D -s >> /etc/mdadm.conf  `生成配置文件`
103         mdadm -S /dev/md0   `停止md0设备`
104         mdadm -A -s /dev/md0 `激活md0设备`
105         mdadm -R /dev/md0   `强制启动设备`
106         mdadm --zero-superblock /dev/sdb{1,2}   `删除raid信息`
107 
108     🚀其它说明:
109          根据UUID可判断当前分区是哪个raid.
110     raid5:
111         mdadm -C /dev/md0(设备名) -a yes -l 5(level级别) -c (chunk数据块大小,可不指定) -n 3(raid成员几个) -x1(4个硬盘用备用硬盘1个,热备1个) /dev/sd{b,c,d}1 /dev/sde(备用放后面) `开机初始化`
112         mdadm -C /dev/md0 -a yes -l 5 -n 3 -x1 /dev/sd{b,c,d}1 /dev/sde
113             y确定
114         mdadm -D /dev/md0   `查询创建状态详细信息`
115         cat /proc/mdstat    `查询创建raid过程状态`
116             结束后生成/dev/md0 设备
117         mkfs.ext4 /dev/md0  `格式化文件系统`
118     raid0:
119         mdadm -C /dev/md1 -a yes -l 0 -n 2 /dev/sd{b,c}2
120         mdadm -D /dev/md1
121         ...
122     raid01:
123         mdadm -C /dev/md2 -a yes -l 0 -n 2 /dev/sdb{3,4}
124         mdadm -C /dev/md3 -a yes -l 1 -n 2 /dev/md{1,2}
125         mkfs.ext4 /dev/md3
126         mount /dev/md3 /mnt/raid/
127     raid10: `一步到位`该格式化格式化,挂载的挂载
128         mdadm -C /dev/md10 -a yes -l 10 -n 4 /dev/sdb{2,3,4} /dev/sdc2
129         mkfs.ext4 /dev/md10
130         ...
posted @ 2017-08-12 11:49  illinux  阅读(202)  评论(0编辑  收藏  举报