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、测试
待定…