2020-11-28

CentOS 之磁盘挂载和磁盘配额

此处新添加一个sdb磁盘,设置一个sdb1 分区。

磁盘挂载

1、添加一块磁盘
虚拟机——设置——硬盘——SCSI——分2G——默认——保存(重启后才有该硬盘)

[root@pk ~]# lsblk     #查看分区
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  3.7G  0 rom  
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0 17.8G  0 part /
sdb      8:16   0    2G  0 disk       #新添加的分区sdb

2、新建磁盘分区

[root@pk ~]# fdisk /dev/sdb       #对sdb磁盘进行分区
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x7c467d6b.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m         #输出帮助信息
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): n        #新建分区
Command action
   e   extended       #扩展分区
   p   primary partition (1-4)      #主分区,一块硬盘最少需要一个主分区    
p                               #选择主分区列表
Partition number (1-4): 1       #选择1,为sdb1分区
First cylinder (1-261, default 1): 1    #选择起始柱面(柱面---一圈磁道)
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261): +100M  
 #最后一个柱面   

Command (m for help): w          #保存退出
The partition table has been altered!

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

3、格式化

[root@pk ~]# mkfs -t ext4  /dev/sdb1     #格式化sdb1分区
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
28112 inodes, 112420 blocks
5621 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=67371008
14 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

4、挂载

[root@pk ~]# mkdir /home/newdisk                #创建空目录做挂载点,在home目录下建newdisk       
[root@pk ~]# mount /dev/sdb1  /home/newdisk       #临时挂载,关机重启后无用

5、自动挂载

[root@pk ~]# vi /etc/fstab         #修改分区自动挂载文件

/dev/sdb1     /home/newdisk     ext4    defaults   0 0         #设备文件名   挂载点      文件系统   挂载选择 不备份  不检测

6、重启测试

或 mount -a 重新挂载所有内容

建议重启,重启之后mount查看。

7、卸载 umount
A、卸载方法有两种
1)卸载设备名:umount -v /dev/sdb1
2)卸载挂载目录:umount -v /home/newdisk

卸载步骤:
B、1)vim /etc/fstab #删除对于sdb1硬盘里编辑的相关信息
在这里插入图片描述
2) df -h #查看所有磁盘信息,找到需要删除的盘
umount 设备名/目录名

[root@pk ~]# umount -v /dev/sdb1    
/dev/sdb1 umounted

如果出现device is busy,说明你在这个目录下卸载自己,需要退出这个目录再卸载或者执行延迟卸载。

umount -vl  /mnt/mymount/         #延迟卸载

3)fdisk /dev/sdb
d #删除分区
输入具体分区(sd1:分区1,sdb2:分区2等)
w #保存并退出

[root@pk ~]# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): d
No partition is defined yet!  
Command (m for help): w
The partition table has been altered!

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

4)lsblk -f #查看分区情况,sdb没有分区表示成功

[root@pk ~]# lsblk -f
NAME   FSTYPE  LABEL            UUID                                 MOUNTPOINT
sr0    iso9660 CentOS_6.8_Final                                      
sda                                                                  
├─sda1 ext4                     e276240b-8e5a-44cb-9324-a8bd7b21ddc7 /boot
├─sda2 swap                     20b250e4-d79d-411a-81d9-7c3f1f2322eb [SWAP]
└─sda3 ext4                     699185d6-e164-461a-af4a-4120293628b8 /
sdb                                                                  
[root@pk ~]# 

5)删除sdb,虚拟机——设置——删除对应磁盘
6)重启虚拟机

磁盘配额

实例:

1、建立测试的用户和群组

[root@pk home]# groupadd group2                 #建立群组2
[root@pk home]# useradd -g group2 gtest1        #建立用户qtest1添加组qgroup
[root@pk home]# useradd -g group2 gtest2
[root@pk home]# passwd gtest1                   #设置用户gtest1密码
更改用户 gtest1 的密码 。
新的 密码:
无效的密码: 过于简单化/系统化
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@pk home]# passwd gtest2
更改用户 gtest2 的密码 。
新的 密码:
无效的密码: 过于简单化/系统化
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

2、新建一个分区,挂载目录
1)进入/etc/fstab

[root@pk ~]# vim /etc/fstab      #进入配置文件

2)进入/etc/fstab修改defaults,usrquota,grpquota,其他值不修改。

/dev/sdb1               /home/newdisk                            ext4    defaults,usrquota,grpquota   0 0 
# 设备名    挂载点(目录)  系统文件  挂载选项默认,用户配额,组配额   不备份  不检测 

3)重新驱动文件

[root@pk ~]# mount -o remount /home/newdisk     #重新挂载

3、建立磁盘配额的配置文件,关闭SELinux

建立磁盘配额的配置文件需要关闭SELinux,否则会报错:

[root@pk ~]# cd /home/newdisk
[root@pk newdisk]# setenforce 0  #关闭selinux
[root@pk newdisk]# quotacheck -avgu  #建立用户磁盘配额的配置文件
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sdb1 [/home/newdisk] done
quotacheck: Checked 2 directories and 2 files
[root@pk ~]# cd /home/newdisk
[root@pk newdisk]# ls
aquota.group  aquota.user  lost+found

quotacheck命令(创建磁盘配额文件):

格式:quotacheck [选项] [分区名]

-a:扫描/etc/mtab 文件中所有启用磁盘配额功能的分区。如果加入此参数,命令后面就不需要加入分区名了
-u:建立用户配额的配置文件,也就是生成 aquota.user 文件
-g:建立组配额的配置文件,会生成 aquota.group 文件
-v:显示扫描过程

4、用户和群组的配额限制

edquota命令(对用户或组设置磁盘配额):

格式: edquota [选项] [用户名或组名]

-u 用户名: 设定用户配额
-g 组名: 设定组配额
-t: 设定宽限时间

1)每个用户硬限制40B,软限制为4kB,inode的软限制为4个节点,硬限制为6个节点。

[root@pk newdisk]# edquota -u qtest1
Disk quotas for user qtest1 (uid 506):
#磁盘配额是设定用户qtest1(uuid 506)
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0       4           5         0        4        6
  #分区名   已占用容量(坚决不允许修改)  软限制 硬限制  已占用文件数(坚决不允许修改)  软限制 硬限制
#blocks,soft,hard 是文件大小限制
#inodes,soft,hard 是文件个数限制

qtest2同上。

2)群组最低限额为8KB,最大限额设定10KB,节点的最低限额为7个,最高限额设定为11个。

[root@pk newdisk]# edquota -g group2
Disk quotas for group qgroup (gid 508):
Disk quotas for group qgroup (gid 508):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                      0          8           10      0         7        11                                                                                                                

3)用户和群组的宽限时间设定为1天

[root@pk ~]# 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/sdb1                     1days                  1days

5、开启磁盘配额
启动配额:


[root@pk ~]# quotaon -ugv /home/newdisk     #开启配额
/dev/sdb1 [/home/newdisk]: group quotas turned on
/dev/sdb1 [/home/newdisk]: user quotas turned on

-u:启动(关闭)用户配额
-g:启动(关闭)组配额
-v:显示启动过程的信息

7、磁盘配额查询(repquota)
格式:
repquota [选项] [分区名]
-a: 依据/etc/mtab 文件查询配额。如果不加-a 选项,就一定要加分区名
-u: 查询用户配额
-g: 查询组配额
-v: 显示详细信息

[root@pk newdisk]# repquota -avug
*** 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      --      13       0       0              2     0     0       
gtest1    --       0      45      50              0     4     6       
gtest2    --       0      45      50              0     4     6       

Statistics:
Total blocks: 7
Data blocks: 1
Entries: 3
Used average: 3.000000

*** Report for group quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      13       0       0              2     0     0       
group1    --       0      80      90              0     7    11       

Statistics:
Total blocks: 7
Data blocks: 1
Entries: 2
Used average: 2.000000

6、测试
待定…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值