三、RAID与LVM
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三、RAID与LVM相关的知识,希望对你有一定的参考价值。
参考技术A 1、LVM介绍
LVM的安装 采用yum install lvm2即可
PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的 分区 ,也可以是整个 物理硬盘 ,也可以是 raid设备 。
VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
LV(Logical Volume)- 逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
2、安装LVM管理软件与LVM使用方式
yum install lvm2
LVM的使用以及卷的创建需要遵循一定的规则,第一要先创建物理卷,然后创建逻辑卷组,然后创建逻辑卷的形式进行使用,最后在逻辑卷上创建文件系统后就可以正常使用了
3、创建物理卷PV
pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
在这三个分区上创建物理卷PV,其实就是在分区上创建出中间的抽象层,就是写上部分数据即可。
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
Physical volume "/dev/sdb3" successfully created.
出现这个创建成功
pvdisplay 显示已经创建的物理卷的详细信息
PVS 查看简略信息
PVSCAN 查看检录信息
4、创建逻辑卷组
vgcreate vg0 /dev/sdb1 /dev/sdb2 /dev/sdb3
创建名字为vg0的逻辑卷组,将磁盘分区sdb1-3添加到卷组内部去
vgdisplay 显示详细信息
vgs 显示简略信息
VG #PV #LV #SN Attr VSize VFree
vg0 3 0 0 wz--n- <11.99g <11.99g
5、创建逻辑卷
lvcreate -L 5G -n lv1 vg0
创建逻辑卷lv1 ,从逻辑卷组vg0中分出5G大小来
lvdisplay 显示详细信息
lvs 显示简略信息
6、LVM卷的挂在
需要对逻辑卷先创建文件系统,他的路径在/dev/vg0/lv1
mkfs.ext4 /dev/vg0/lv1 对逻辑卷1创建文件系统完成然后就可以挂在正常使用了
7、逻辑卷的扩容
1、LV的扩容 lvextend -L +1G /dev/vg0/lv1 对逻辑卷lv1扩容1G
2、扩容后调用命令resize2fs /dev/vg0/lv1 在df查看挂载就会显示分区变大了
8、逻辑卷组的扩容
1、增加物理卷的数量可以扩容
vgextend vg0 /dev/sdb4 将sdb4添加到逻辑卷组vg0里面去
9、LV(逻辑卷)缩减
1、卸载文件系统
umount
2、进行逻辑卷检查
e2fsck -f /dev/vg0/lv1
3、重新选定系统大小
resize2fs /dev/vg0/lv1 10G
4、修改逻辑卷大小
lvresize -L 10G /dev/vg0/lv1
10、VG(逻辑卷组)的缩减
1、卸载文件系
umount
2、将/dev/sdb4把 从vg0 中移除
vgreduce vg0 /dev/sdb4
11、删除
1、删除LV
lvremove /dev/vg0/lv1
2、删除VG
vgremove vg0
3、删除PV
pvremove /dev/sdb1
12、LVM快照
21、RAID(独立冗余磁盘阵列)
RAID技术通过把多个硬盘设备组合成一个容量更大的,安全性更好的磁盘阵列。把数据切割成许多区段后分别放在不同的物理磁盘上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理设备上,从而起到了非常好的数据冗余备份效果。缺点就是磁盘利用率低。
22、RAID的分类目前来说至少有几十种,这里简单介绍一下最常见的四种,RAID0,RAID1,RAID10,RAID5。
1、RAID 0
RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。
2、RAID 1
RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%。
3、RAID0+1
RAID 0+1名称上我们便可以看出是RAID0与RAID1的结合体。在我们单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。也有一种叫法叫RAID10.
4、RAID5:分布式奇偶校验的独立磁盘结构
它的奇偶校验码存在于所有磁盘上。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
总结:RAID0大幅度提升了设备的读写性能,但不具备容错能力。RAID1虽然十分注重数据安全,但磁盘利用率太低。RAID5就是raid0和RAID5的一种折中,既提升了磁盘读写能力,又有一定的容错能力,成本也低。RAID10就是RAID0和raid1的组合,大幅度提升读写能力,较强的容错能力,成本也较高。一般中小企业用RAID5,大企业采用RAID10。
23、安装madam命令
yum install madam
24、部分命令详解
-a 检测设备名称
-n 指定设备数量
-l 指定RAID级别
-C 创建
-v 显示过程
-f 模拟设备损坏
-r 移除设备
-Q 查看摘要信息
-D 查看详细信息
-S 停止RAID磁盘阵列
24、创建一个RAID5模式的磁盘阵列
mdadm -C /dev/md0 -ayes -l5 -n3 -x1 /dev/sdb[1-4]
-C --create 创建阵列
-a --auto 同意创建设备,如不加此参数时必须先使用mknod 命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建
-l --level 阵列模式,支持的阵列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;
-n --raid-devices 阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
25、查看RADI详情
mdadm -D /dev/md0
Raid Level : 阵列级别;
Array Size : 阵列容量大小;
Raid Devices : RAID成员的个数;
Total Devices : RAID中下属成员的总计个数,因为还有冗余硬盘或分区,也就是spare,为了RAID的正常运珩,随时可以推上去加入RAID的;State : clean, degraded, recovering 状态,包括三个状态,clean 表示正常,degraded 表示有问题,recovering 表示正在恢复或构建;
Active Devices : 被激活的RAID成员个数;
Working Devices : 正常的工作的RAID成员个数;
Failed Devices : 出问题的RAID成员;
Spare Devices : 备用RAID成员个数,当一个RAID的成员出问题时,用其它硬盘或分区来顶替时,RAID要进行构建,在没构建完成时,这个成员也会被认为是spare设备;
UUID : RAID的UUID值,在系统中是唯一的;
26、创建RAID配置文件
创建RAID 配置文件/etc/mdadm.conf
RAID 的配置文件为/etc/mdadm.conf,默认是不存在的,需要手工创建。
该配置文件的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理。但不是必须的,推荐对该文件进行配置。
我们这里需要创建这个文件,测试中发现,如果没有这个文件,则reboot 后,已经创建好的md0 会自动变成md127。
/etc/mdadm.conf 文件内容包括:
由DEVICE 选项指定用于软RAID的所有设备,和ARRAY 选项所指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号。
echo DEVICE /dev/sdb[1-4] >> /etc/mdadm.conf
mdadm -Ds >> /etc/mdadm.conf
26、RAID测试,RAID中模拟一个自盘出现故障
mdadm /dev/md0 -f /dev/sdb1 在之前创建的md0中分区/dev/sdb1出现故障
cat /proc/mdstat 查看重构过程
27、一处损坏的磁盘
mdadm /dev/md0 -r /dev/sdb1 在磁盘阵列md0中将磁盘或者分区
28、删除出现问题的磁盘
mdadm /dev/md0 -r /dev/sdb1
29、增加一块磁盘
mdadm /dev/md0 -a /dev/sdb1
添加磁盘会曾为热备盘,让热备盘转变为活动磁盘需要执行以下命令
mdadm -G /dev/md0 -n4 将序号为4的热备盘转转变为活动磁盘
增加后只是阵列的容量增加了,但是文件系统还没有增加,需要执行一下命令
resize2fs /dev/md0 将磁盘阵列的容量同步到文件系统去
30、 停止磁盘阵列
mdadm -S /dev/md0 停止/dev/md0磁盘阵列
mdadm --zero-superblock /dev/sdb[1-4] 清除所有磁盘上的超级块数据才行,要不没法删除
停止后还要删除配置文件,否则重启还会出现
RAID和LVM以及磁盘配额的综合使用
一、实验需求
1.添加四块硬盘,建立RAID5环境(md5),三主一备。
2.将md5使用LVM做成VG01组,在该VG中新建了两个LV。
3.将这两个LV格式化为ext4xfs,开机自动挂载到系统mnt1,mnt2目录下
4.开启磁盘配额功能,用来进行用户与组分配额的实验
5.在系统中添加用户tom,lisa并加入caiwu组中
6.对组和用户同时设置磁盘配额,分别切换至永华目录下写文件,验证生效优先关系。
二、实验步骤
1、打开虚拟机VMware添加四块硬盘
**2、查看添加的硬盘是否生效**
[[email protected] ~]# fdisk -l \查看添加的磁盘是否生效
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c1bf5
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 9766911 4882432 83 Linux
/dev/sda2 9766912 39063551 14648320 83 Linux
/dev/sda3 39063552 48828415 4882432 82 Linux swap / Solaris
/dev/sda4 48828416 83886079 17528832 5 Extended
/dev/sda5 48830464 58595327 4882432 83 Linux
/dev/sda6 58597376 83886079 12644352 83 Linux
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
3、对磁盘进行分区
[[email protected] ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xf20d7e28 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[[email protected] ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x3c5be687 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[[email protected] ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):q
[[email protected] ~]# fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x2bbb35fc 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[[email protected] ~]# fdisk /dev/sde
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xa0797fd4 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
4、建立RAID5环境
[[email protected] ~]# mdadm -Cv /dev/md5 -l5 -n3 -x1 /dev/sd[b-e] \三主一备
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: partition table exists on /dev/sdb
mdadm: partition table exists on /dev/sdb but will be lost or
meaningless after creating array
mdadm: partition table exists on /dev/sdc
mdadm: partition table exists on /dev/sdc but will be lost or
meaningless after creating array
mdadm: partition table exists on /dev/sdd
mdadm: partition table exists on /dev/sdd but will be lost or
meaningless after creating array
mdadm: partition table exists on /dev/sde
mdadm: partition table exists on /dev/sde but will be lost or
meaningless after creating array
mdadm: size set to 20955136K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[[email protected] ~]# cat /proc/mdstat \查看md5的状态
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]
41910272 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[=========>...........] recovery = 49.0% (10276096/20955136) finish=0.8min speed=200197K/sec
unused devices: <none>
[[email protected] ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]
41910272 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
[[email protected] ~]# mdadm -vDs /dev/md5 \查看md5的详细信息
ARRAY /dev/md5 level=raid5 num-devices=3 metadata=1.2 spares=1 name=localhost.localdomain:5 UUID=86676ad1:377ccb12:fb0520b0:74147ede
devices=/dev/sdb,/dev/sdc,/dev/sdd,/dev/sde
5、对md5做LVM
[[email protected] ~]# pvcreate /dev/md5 \创建物理卷
Physical volume "/dev/md5" successfully created.
[[email protected] ~]# vgcreate VG01 /dev/md5 \创建卷组
Volume group "VG01" successfully created
[[email protected] ~]# lvcreate -L 15GB -n LV01 VG01 \创建逻辑卷LV01并且分配空间
Logical volume "LV01" created.
[[email protected] ~]# lvcreate -L 15GB -n LV02 VG01 \创建逻辑卷LV02
Logical volume "LV02" created.
[[email protected] ~]# mkfs.ext4 /dev/VG01/LV01 \将LV01格式化成ext4
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
983040 inodes, 3932160 blocks
196608 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
120 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[[email protected] ~]# mkfs.xfs /dev/VG01/LV02 \将LV02格式化成xfs格式
meta-data=/dev/VG01/LV02 isize=512 agcount=16, agsize=245632 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=3930112, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
6、挂载
[[email protected] ~]# mkdir /mnt1 /mnt2
[[email protected] ~]# vi /etc/fstab \配置挂载
# /etc/fstab
# Created by anaconda on Wed Sep 12 10:01:17 2018
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=15361c2d-d2c9-4e8d-bc16-be2805b35791 / xfs defaults 0 0
UUID=24fd8eb1-045e-4e3d-8829-3d5229c1b64e /boot xfs defaults 0 0
UUID=357ff8f8-ec6f-404a-acbf-4fd28722c058 /home xfs defaults 0 0
UUID=26dd9d73-2195-4863-a981-a6ea1967d70a /var xfs defaults 0 0
UUID=f4b2e122-3d0a-48cf-9fd3-235fa8eeb1aa swap swap defaults 0 0
/dev/cdrom /mnt iso9660 ro 0 0
/dev/VG01/LV01 /mnt1 ext4 defaults,usrquota,grpquota 0 0 \将逻辑卷挂载并且指定磁盘配额
/dev/VG01/LV02 /mnt2 xfs defaults,usrquota,grpquota 0 0
[[email protected] ~]# mount -a \重启挂载点
[[email protected] ~]# df -h \查看挂载是否成功
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 14G 882M 14G 7% /
devtmpfs 479M 0 479M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.8M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda6 13G 33M 13G 1% /home
/dev/sda5 4.7G 119M 4.6G 3% /var
/dev/sda1 4.7G 119M 4.6G 3% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/VG01-LV01 15G 41M 14G 1% /mnt1
/dev/mapper/VG01-LV02 15G 33M 15G 1% /mnt2
7、开启磁盘配额功能
[[email protected] ~]# quotacheck -cvug /dev/VG01/LV01 \ext4在开启之前要
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/mapper/VG01-LV01 [/mnt1] done
quotacheck: Cannot stat old user quota file /mnt1/aquota.user: 没有那个文件或目录. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file /mnt1/aquota.group: 没有那个文件或目录. Usage will not be subtracted.
quotacheck: Cannot stat old user quota file /mnt1/aquota.user: 没有那个文件或目录. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file /mnt1/aquota.group: 没有那个文件或目录. Usage will not be subtracted.
quotacheck: Checked 2 directories and 0 files
quotacheck: Old file not found.
quotacheck: Old file not found.
[[email protected] ~]# quotaon /mnt1 \开启磁盘配额
[[email protected] ~]# quotaon -p /dev/VG01/LV01 \检查磁盘配额是否开启
group quota on /mnt1 (/dev/mapper/VG01-LV01) is on
user quota on /mnt1 (/dev/mapper/VG01-LV01) is on
[[email protected] ~]# quotaon /mnt2 \xfs可直接开启
[[email protected] ~]# quotaon -p /dev/VG01/LV02 \检查是否开启成功
group quota on /mnt2 (/dev/mapper/VG01-LV02) is on
user quota on /mnt2 (/dev/mapper/VG01-LV02) is on
8、为用户开启磁盘配额
[[email protected] ~]# groupadd caiwu \添加caiwu组
[[email protected] ~]# useradd tom -g caiwu \新建tom用户并加入到caiwu组中
[[email protected] ~]# passwd tom
更改用户 tom 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令×××已经成功更新。
[[email protected] ~]# useradd lisa -g caiwu \新建lisa用户加入到caiwu组
[[email protected] ~]# passwd lisa
更改用户 lisa 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令×××已经成功更新。
[[email protected]host ~]# edquota -u tom \为用户tom开启磁盘配额
Disk quotas for user tom (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/VG01-LV01 2048 1024 2048 3 1 2
/dev/mapper/VG01-LV02 0 0 0 0 0 0
[[email protected] ~]# edquota -u tom \为用户lisa开启磁盘配额
Disk quotas for user lisa (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/VG01-LV01 4096 1024 4096 4 1 4
/dev/mapper/VG01-LV02 0 0 0 0 0 0
9、验证开启磁盘配额是否生效
[[email protected] /]# chmod 777 /mnt1 \改变文件夹的权限
[[email protected] /]#su tom \切换到tom用户
[[email protected] mnt]$ cd /mnt1
[[email protected] mnt1]$ dd if=/dev/zero of=tom1.txt bs=1M count=1 \添加一个1MB的文件
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00334678 秒,313 MB/秒
[[email protected] mnt1]$ dd if=/dev/zero of=tom2.txt bs=1M count=1 \添加第二个文件
dm-0: warning, user file quota exceeded.
dm-0: warning, user block quota exceeded.
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.0029935 秒,350 MB/秒
[[email protected] mnt1]$ dd if=/dev/zero of=tom3.txt bs=1M count=1 \添加第三个文件失败
dm-0: write failed, user block limit reached.
dd: 写入"tom3.txt" 出错: 超出磁盘限额
记录了1+0 的读入
记录了0+0 的写出
0字节(0 B)已复制,0.00107794 秒,0.0 kB/秒
[[email protected] mnt1]$ su lisa \切换到lisa用户
密码:
[[email protected] mnt1]$ cd /mnt1
[[email protected] mnt1]$ dd if=/dev/zero of=lisa1.txt bs=1M count=1 \添加一个1MB的文件
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00408002 秒,257 MB/秒
[[email protected] mnt1]$ dd if=/dev/zero of=lisa2.txt bs=1M count=1 \添加第二个文件
dm-0: warning, user file quota exceeded.
dm-0: warning, user block quota exceeded.
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00293226 秒,358 MB/秒
[[email protected] mnt1]$ dd if=/dev/zero of=lisa3.txt bs=1M count=1 \添加第三个文件
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.0035511 秒,295 MB/秒
[[email protected] mnt1]$ dd if=/dev/zero of=lisa4.txt bs=1M count=1 \添加第四个文件
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00359935 秒,291 MB/秒
[[email protected] mnt1]$ dd if=/dev/zero of=lisa5.txt bs=1M count=1 \添加第五个文件失败
dm-0: write failed, user file limit reached.
dd: 打开"lisa5.txt" 失败: 超出磁盘限额
10、为组配置配磁盘配额并且验证生效的优先关系
通过lisa用户验证(lisa可以存4个大小为1M的文件)
[[email protected] /]# edquota -g caiwu \为财务组配置磁盘配额
Disk quotas for group caiwu (gid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/VG01-LV01 6144 1024 2048 7 1 2
/dev/mapper/VG01-LV02 0 0 0 0 0 0
[[email protected] /]# su lisa \切换到lisa
[[email protected] /]$ cd /mnt1
[[email protected] mnt1]$ ls
aquota.group aquota.user lisa1.txt lisa2.txt lisa3.txt lisa4.txt lost+found tom1.txt tom2.txt tom3.txt
[[email protected] mnt1]$ rm -rf * \将LV01挂载目录下添加的文件删除
rm: 无法删除"aquota.group": 不允许的操作
rm: 无法删除"aquota.user": 不允许的操作
[[email protected] mnt1]$ ls
aquota.group aquota.user
[[email protected] mnt1]$ dd if=/dev/zero of=lisa1.txt bs=1M count=1 \添加第一个1M文件
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00305979 秒,343 MB/秒
[[email protected] mnt1]$ dd if=/dev/zero of=lisa2.txt bs=1M count=1 \添加第二个文件
dm-0: warning, user file quota exceeded.
dm-0: warning, group file quota exceeded.
dm-0: warning, user block quota exceeded.
dm-0: warning, group block quota exceeded.
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00278399 秒,377 MB/秒
[[email protected] mnt1]$ dd if=/dev/zero of=lisa3.txt bs=1M count=1 \添加三个文件失败
dm-0: write failed, group file limit reached.
dd: 打开"lisa3.txt" 失败: 超出磁盘限额
结论:
通过为组配置磁盘配额,发现原来lisa配置的空间为4MB,文件数量为4的磁盘配额失效,最终以组的配额空间2MB,数量为2为准,说明组的生效关系优先于用户。
以上是关于三、RAID与LVM的主要内容,如果未能解决你的问题,请参考以下文章