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 ...