目录
LVM高级文件系统管理
一、磁盘配额
1、磁盘配额条件:
系统中必须安装quota工具,Linux一般默认安装quota工具的,
查看命令如下:rpm -qa | grep quota
磁盘配额的分区必须开启磁盘配额功能,需要手工开启,默认不在开启。
概念:1)用户配额和组配额 2)磁盘容量限制和文件个数限制
3)软限制和迎限制 4)宽限时间
2、磁盘配额步骤:
2.1 建立或确认需要限制的用户和组
2.2 在分区上开启磁盘配额功能:
mount -o remoun,usrquota,grpquota /disk
永久生效,需要修改/ETC/fstab文件,改成
/dev/sdb1 /dsik ext4 dufaults,usrquota,grpquota 0 0
mount -o remount /disk
#分区重新挂载
2.3建立磁盘配额的配置文件
命令格式:quotacheck [选项] [分区名]
选项: -a:扫描/etc/mtab 文件中所有启用磁盘配额功能的分区。如果加入此参数,命令后面就不需要加入分区名了。
-c:不管原有的配置文件,重新扫描并建立新的配置文件
-u:建立用户配额的配置文件,也就是生成 aquota.user 文件
-g:建立组配额的配置文件,会生成 aquota.group 文件
-v:显示扫描过程
-m:强制以读写的方式扫描文件系统,和-M 类似。一般扫描根分区时使用。
-f:强制扫描文件系统,并写入新的配置文件。一般扫描新添加的硬盘分区时使用
注意需要关闭:SELinux,否则会报错。
报错提示
命令格式:getenforce
#查看SELinux状态
关闭开启命令:setenforce [选项]
选项:-0:关闭 -1:开启
永久生效打开: vim /etc/SELinux/cfing 文件
修改文件:SELinux=disabled
使用 ls命令查看确认建立
2.4设置用户和组配额限制
edquota [选项] [用户名或组名]
选项:-u 用户名 设定用户配额 -g 组名: 设定组配额
-t:设定宽限时间 -p 复制配额限制
例如:
[root@localhost ~]# edquota -u user1
#edquota 命令进入之后,就是标准的 vi 操作方法
Disk quotas for user user1 (uid 500):
#磁盘配额是设定用户 user1(UID 是 500)
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 0 0 0 0 0
#分区名 已占用容量 软限制 硬限制 已占用文件数 软限制 硬限制
配额复制命令格式:edquota -p user2 -u user3
修改宽限时间:edquota –t
建议:不提倡设立组空间,因为组空间是共享,没有先后顺序,谁先可以直接占用空间和文件满后,其他用户没法再保存相应的文件和空间。
2.5启动和关闭配额
启动配额命令格式:quotaon [选项] [分区名]
选项:-a:依据/etc/mtab 文件启动所有的配额分区。如果不加-a,后面就一定要指定分区名
-u:启动用户配额 -g:启动组配额 -v:显示启动过程的信息
关闭配额的命令如下:quotaoff [选项] [分区名]
选项:-a:依据/etc/mtab 文件启动所有的配额分区。如果不加-a,后面就一定要指定分区名
-u:启动用户配额 -g:启动组配额 -v:显示启动过程的信息
quota查询用户和用户组配额
命令格式: quota [选项] [用户名或组名]
选项:-u:启动用户配额 -g:启动组配额
-v:显示启动过程的信息 -s: 以习惯单位显示容量大小,如 M,G
repquota 查询文件系统配额
命令格式: repquota [选项] [分区名]
选项:-a:依据/etc/mtab 文件启动所有的配额分区。如果不加-a,后面就一定要指定分区名
-u:查询用户配额 -g:查询组配额 -v:显示详细信息
-s 以习惯单位显示容量大小
查看用户和文件系统配额
2.6非交互设定用户磁盘配额
命令格式:setquota -u 用户名 容量软限制 容量硬限制 个数软限制 个数硬限制 分区名
例如: setquota -u user4 10000 20000 5 8 /disk
测试命令:
[user1@localhost 临时]$ dd if=/dev/zero of=/disk1vm/ce bs=1M count=60MB
记录了1976+0 的读入
记录了1976+0 的写出
2071986176字节(2.1 GB)已复制,22.322 秒,92.8 MB/秒
二、 LVMP 逻辑卷管理
1、LVM简介
LVM是Logical Volume Manager 的简称,中文就是逻辑卷管理。
物理卷(PV,Physical Volume):就是真正的物理硬盘或分区
卷组(VG,Volume Group):将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一个逻辑硬盘。
逻辑卷(LV,Logical Volume):卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区我们称作逻辑卷。逻辑卷可以格式化和写入数据。我们可以把逻辑卷想象成为分区。
物理扩展(PE,Physical Extend):PE 是用来保存数据的最小单元,我们的数据实际上都是写入 PE 当中,PE 的大小是可以配置的,默认是 4MB。
2、建立LVM的步骤
首先需要把物理硬盘分成分区,当然也可以是整块物理硬盘。
然后把物理分区建立成为物理卷(PV),也可以直接把整块硬盘都建立为物理卷。
接下来把物理卷整合成为卷组(VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除。
最后就是把卷组再划分成为逻辑卷(LV),当然逻辑卷也是可以直接调整大小的。我们说逻辑卷可以想象成为分区,所以也需要格式化和挂载。
3、硬盘分区
3.1创建方式就是使用fdisk交互命令,需要主要是的是硬盘ID要改成LVM的ID号“8e”。
3.2 建立物理卷
命令格式:pvcreate [设备文件名]
查看物理卷命令格式: pvscan 和 pvdisplay
删除物理卷命令格式:pvremove /dev/sdb7
3.3 建立卷组
命令格式:vgcreate [选项] 卷组名 物理卷名
选项:-s PE 大小:指定 PE 的大小,单位可以是 MB,GB,TB 等。如果不写默认 PE 大小事 4MB。
查看物理卷命令格式: vgscan 和 vgdisplay
增加卷组容量: vgextend scvg /dev/sdb7
减小卷组容量: vgreduce scvg /dev/sdb7
删除卷组:vgremove scvg
建立卷组sunvg 并查看卷组详细信息
把sdb7增加sunvg卷组容量中:
[root@localhost ~]# vgextend sunvg /dev/sdb7
Volume group "sunvg" successfully extended
3.4 建立逻辑卷
命令格式: lvcreate [选项] [-n 逻辑卷名] 卷组名
选项:--L 容量:指定逻辑卷大小,单位 MB,GB,TB 等
—-l 个数:按照 PE 个数指定逻辑卷大小,这个参数需要换算容量,太麻烦
—-n 逻辑卷名:指定逻辑卷名
建立逻辑卷sun1lv:
格式化和挂载
格式化和挂载:
格式化命令:mkfs -t ext4 /dev/sunvg/sun1lv
创建挂载点:mkdir /disklvm
挂载:mount /dev/sunvg/userlv /disklvm/
自动挂载修改文件:/etc/fstab文件
查看逻辑卷命令:lvscan 和 lvdisplay
调整逻辑卷大小命令:lvresize
调整逻辑卷大小命令:lvresize [选项] 逻辑卷设备文件名
选项:-L 容量:安装容量调整大小,单位 KB,GB,TB 等。使用+代表增加空间,-号代表减少空间。如果直接写容量,代表设定逻辑卷大小为指定大小。
-l 个数:按照 PE 个数调整逻辑卷大小
[root@localhost /]# lvresize -L +2G /dev/sunvg/sun1lv
Size of logical volume sunvg/sun1lv changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).
Logical volume sun1lv successfully resized.
调整完大小后使用resize2fs 命令来调整分区的大小
命令格式:resize2fs [选项] [设备文件名] [调整的大小]
选项:-f: 强制调整
设备文件名:指定调整哪个分区的大小
调整的大小:指定把分区调整到多大,要加 M,G 等单位。如果不加大小,会使用整个分区
[root@localhost /]# resize2fs /dev/sunvg/sun1lv
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/sunvg/sun1lv is mounted on /disk1vm; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/sunvg/sun1lv to 1048576 (4k) blocks.
The filesystem on /dev/sunvg/sun1lv is now 1048576 blocks long.
删除逻辑卷命令:
删除逻辑卷命令:
命令格式:lvremove 逻辑卷设备文件名
注意:在有数据的情况下,不建议修改、删除逻辑卷等操作,因为很有可能要丢失数据,或报错等情况。