目录 逻辑卷管理
磁盘配额
逻辑卷管理
lvm:logical volume manager 逻辑卷管理 linux系统下对硬盘分区的一种管理机制。
lvm机制特别适合于管理大存储设备,可以动态的对硬盘进行扩容。
逻辑上的磁盘,概念上的磁盘,文件系统创建之后不再考虑底层的物理磁盘。
若干个磁盘分区或者物理硬盘,合并成一个逻辑卷组。再把这些逻辑卷组划分成一个个的逻辑卷。
用户就可以把逻辑卷看做是一个可动态扩容,快速创建,快速分区的分区。
可以是一个硬盘的不同分区,也可以是不同硬盘的不同分区。
逻辑卷的作用:
解决磁盘容量限制的问题。传统的硬盘分区是固定的,分配完之后无法进行调整,要调整只能推倒重来,逻辑卷是把卷组分为多个硬盘,不在考虑底层的物理硬盘,可以实现多个硬盘的汇聚以及动态扩容。
pv物理卷:真正的物理硬盘的分区。
vg卷组:把物理上的分区结合起来,就形成了卷组,卷组就是逻辑上的硬盘。
lv逻辑卷:把卷组进行分区,相当于物理硬盘的分区,逻辑卷可以动态扩容。
先创建物理卷
再把各个物理硬盘进行一个分区
创建卷组(第一步和第二步可以合并)vgcreate bmm /dev/sdb1 /dev/sdc1 /dev/sdd1
创建逻辑卷 lvcreate -L +10G -n xjj bmm
创建文件系统(格式化)mkfs.xfs /dev/bmm/xjj
挂载 mount /dev/bmm/xjj /data
逻辑卷已经创建完毕。
下面进行对逻辑卷的扩容
扩容 lvextend -L +10G /dev/bmm/xjj
已经扩容好了,但是列表里面没有显示,这是我们可以使用xfs_growfs /dev/bmm/xjj命令进行刷新。
刷新完成之后我们在进入列表里面查看,这是数据就已经显示出来了
补充说明:
PE Size :逻辑卷的最小存储单位是4M
-L :指定容量大小 直接可以用 K M G T 。
-l:个数,pe的个数
-n:指定逻辑卷的名称。
如果逻辑卷组里面内存用完了可不可以再从物理硬盘里面扩容呢?
可以,继续从物理磁盘里面分出一个区,把这个区的内存在加到逻辑卷组里面。
vgextend bmm /dev/sdb2 这个时候内存已经进入到了逻辑卷组
从原来的30G变成了40G。
我们在把进入到逻辑卷组里面的内存分到
lvextend -L +8G /dev/bmm/xjj
小技巧:lvextend -L +8G /dev/bmm/xjj -r后面加r就直接刷新显示了,不要再用xfs_growfs来刷新了。
当文件系统变成ext4时
先从另外两个磁盘再分出两个区
和xfs前面的命令一样都是vgcreate bsr /dev/sdc2 /dev/sdd2重新创建一个逻辑卷bsr
也和xfs的命令一样lvcreate -L +10G -n gege bsr 创建一个逻辑卷
然后创建文件系统这个有点不一样mkfs.ext4 /dev/bsr/gege 除了ext4不一样,其他都一样.
挂载也和上面一样mount /dev/bsr/gege /data2 在根目录下创建一个data2的目录
扩容的命令也一样lvextend -L +8G /dev/bsr/gege
这里刷新的命令不一样resize2fs /dev/bsr/gege
这样就显示了逻辑卷的扩容。
磁盘配额
linux的磁盘空间有两个方面:第一个是物理空间 也就是磁盘的容量
第二个inode号耗尽,也无法写入
linux根分区:根分区的空间完全耗尽,服务程序崩溃,系统也无法启动。
为了防止有人恶意的占用磁盘空间,我们就有了磁盘配额的功能。
一个方面,限制用户占用磁盘的空间
另一个方面,限制用户创建文件的数量
xfs文件系统xfs_quota进行管理
ext3/4文件 quota进行限制
先安装 xfsprogs quota
先解挂载
然后我们使用支持配额的方式进行挂载。关闭安全机制和防火墙。
创建用户和密码
然后在对磁盘进行限制。
限制容量:
我们创建一个文件dd if=/dev/zero of=/data1/456.txt bs=10M count=12
然后进入切换到bmm用户里面
切换到data1目录里面输入
总用量只显示了340M,还有20M没有显示进去。
限制创建文件数:
命令和限制的容量命令没啥区别,只需要改一下前面的字母和后面的单位 文件是inode号
xfs_quota -x -c 'limit -u isoft=4 ihard=6 bmm' /data1
一定先退出到管理员的界面
我们先创建{1..8}.txt的文件
这时我们看到只有7和8无法创建。因为超出磁盘的限额了
剩下的只有1到6的文件
对于创建文件的数量和创建容量一般
普通用户使用分区的磁盘容量限制 20-50G
创建文件数:100-200个。
取消配额的命令:xfs_quota -x -c 'disable -up' /data1
这时我们创建多少都不会被限制。