目录
一、LVM概述
LVM基本概念
二、LVM管理
三、PV物理卷管理
pvscan命令—扫描系统中所有物理卷
pvcreate命令—将分区或物理卷转换成物理卷
pvdisplay命令—显示物理卷详情
pvremove 命令—将物理卷还原成普通的分区或磁盘
四、 VG卷组管理
vgscan—扫描系统中已建立的LVM卷组
vgcreate命令—将一个或多个物理卷创建为一个卷组
vgdisplay命令—显示各卷组信息
vgremove命令—删除指定卷组,要保证该卷组没有正在使用的逻辑卷组
五、LV逻辑卷管理
lvscan命令—扫描系统已有的逻辑卷信息
lvcreate命令—从指定的卷组中分割空间,创建新逻辑卷
lvdisplay—显示逻辑卷详情信息
lvextend命令—扩展逻辑卷空间
lvremove—删除逻辑卷
六、LVM实例配置
七、磁盘配额
实现磁盘限额条件
Linux磁盘限额的特点
设置磁盘配额
一、LVM概述
LogicalVolumeManager,逻辑卷管理
优点:能够保证在现有数据不变的情况下,动态调整磁盘容量,从而提高磁盘管理的灵活性
/boot分区用于存放引导文件,不能基于LVM创建
LVM基本概念
PV ( Physical Volume,物理卷)
整个硬盘,或使用fdisk等工具建立的普通分区
包括许多默认4MB大小的PE ( Physical Extent ,基本单元)
VG ( Volume Group,卷组)
一个或多个物理卷组合而成的整体
LV ( Logical Volume,逻辑卷)
从卷组中分割出的一块空间,用于建立文件系统
二、LVM管理
主要命令:
pvcreate 设备名1 [设备名2 ... ...](设备可以是分区,可以是硬盘)
vgcreate卷组名 物理卷名1 物理卷名2(物理卷可以是一个,可以是多个)
lvcreate -n 逻辑卷名 -L 容量大小(友好的方式GMK) 卷组名(从哪个卷组里取)
lvextend -L +大小 /dev/卷组名/逻辑卷名
扩容后刷新文件系统命令
xfg_growfs /dev/vgname1/lvname1 //刷新xfs文件系统容量
resize2fs /dev/vgname1/lvname1 //刷新ext4类型文件系统容量
三、PV物理卷管理
pvscan命令—扫描系统中所有物理卷
使用自动分区安装CentOS系统,系统盘sda被划分为sda1和sda2两个分区,其中sda2被划分为两个物理卷,并基于该物理卷VolGroup卷组
pvcreate命令—将分区或物理卷转换成物理卷
主要是添加LVM属性信息并划分PE存储单位。该命令需要使用硬盘或分区的设备文件作为参数(可以有多个)。例如,执行以 下操作将把分区/dev/sdb1、/dev/sdb2、 /dev/sdb3 转换成物理卷。
pvdisplay命令—显示物理卷详情
pvremove 命令—将物理卷还原成普通的分区或磁盘
非挂在状态下才能使用(一般不用)
四、 VG卷组管理
vgscan—扫描系统中已建立的LVM卷组
vgcreate命令—将一个或多个物理卷创建为一个卷组
vgdisplay命令—显示各卷组信息
vgremove命令—删除指定卷组,要保证该卷组没有正在使用的逻辑卷组
一般不用
五、LV逻辑卷管理
lvscan命令—扫描系统已有的逻辑卷信息
lvcreate命令—从指定的卷组中分割空间,创建新逻辑卷
格式:lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvdisplay—显示逻辑卷详情信息
lvextend命令—扩展逻辑卷空间
卷组空间够
卷组空间不够,先扩卷组
lvremove—删除逻辑卷
一般不用
六、LVM实例配置
要求:
公司准备在Internet中搭建邮件服务器,面向全国各地的员工及部分VIP客户提供电子邮箱空间
由于用户数量众多,邮件存储需要大量的空间,考虑到动态扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到"/mailbox”目录下)专用于存放邮件数据
实现过程:
(1)将设备指定为物理卷
(2)用一个或者多个物理卷来创建一个卷组
(3)物理卷是用来固定大小的物理区域来定义的
(4)在物理卷上创建逻辑卷,是由物理区域组成
(5)可以在逻辑卷上创建文件系统并挂载
具体操作:
添加两块硬盘并规划两个分区,类型设为8e(fdisk命令)
使用pvcreate命令将上述两个分区转换成物理卷
使用vgcreate命令创建卷组mail_store,包括物理卷:dev/sdc2、dev/sdd2
使用lvcreate创建逻辑卷
格式化
挂载,挂载完成就可以使用了
如果此时逻辑卷不够了,使用lvextend为逻辑卷mbox扩容,使用resize2fs命令更新识别文件的大小
解挂载后重新挂载
如果卷组不够,先扩卷组再扩卷
七、磁盘配额
实现磁盘限额条件
●需要Linux内核支持
●安装xfsprogs与quota软件包Linux磁盘限额的特点
Linux磁盘限额的特点
●作用范围:针对指定的文件系统(分区)
●限制对象:用户帐号、组帐号
●限制类型:磁盘容量、文件数量
●限制方法:软限制、硬限制
设置磁盘配额
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可
在Centos系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文 件系统通过xfs_quota 工具进行管理;EXT3/4 文件系统通过quota工具进行管理。
eg:
[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=20M bhard=30M isoft=5 ihard=6 zhangsan' /opt/log/ [root@localhost ~]# chmod 777 /opt/log/[root@localhost ~]# su zhangsan[zhangsan@localhost log]$ touch file{1..10}.txttouch: 无法创建"file7.txt": 超出磁盘限额touch: 无法创建"file8.txt": 超出磁盘限额touch: 无法创建"file9.txt": 超出磁盘限额touch: 无法创建"file10.txt": 超出磁盘限额[zhangsan@localhost log]$ lsfile1.txt file2.txt file3.txt file4.txt file5.txt file6.txt[zhangsan@localhost log]$ dd if=/dev/zero of=/opt/log/test.txt bs=1M count=20记录了20+0 的读入记录了20+0 的写出[zhangsan@localhost log]$ dd if=/dev/zero of=/opt/log/test1.txt bs=1M count=20dd: 写入"/opt/log/test1.txt" 出错: 超出磁盘限额记录了11+0 的读入记录了10+0 的写出10485760字节(10 MB)已复制,0.00546079 秒,1.9 GB/秒[zhangsan@localhost log]$ touch file{1..10}.txttouch: 无法创建"file1.txt": 超出磁盘限额touch: 无法创建"file2.txt": 超出磁盘限额touch: 无法创建"file3.txt": 超出磁盘限额touch: 无法创建"file10.txt": 超出磁盘限额[zhangsan@localhost log]$ lstest1.txt test.txt[zhangsan@localhost log]$ rm -rf *[zhangsan@localhost log]$ touch file{1..10}.txttouch: 无法创建"file7.txt": 超出磁盘限额touch: 无法创建"file8.txt": 超出磁盘限额touch: 无法创建"file9.txt": 超出磁盘限额touch: 无法创建"file10.txt": 超出磁盘限额[zhangsan@localhost log]$ lsfile1.txt file2.txt file3.txt file4.txt file5.txt file6.txt
总结:
LVM中PE是最小单位,默认是4M,PE越小利用率越高
物理卷创建命令:pvcreate 分区(整块硬盘)
卷组创建命令:vgcreate 卷组名 分区或者整块硬盘
逻辑卷创建命令:lvcreate -n 名称 -L 创建大小 卷组名(从哪个卷组取的PE)
格式化:mkfs.xfs
挂载
扩容:
先查看物理卷是否充足,卷组是否充足,如果够,则不需要扩容,如果不够:
pvcrete 设备
vgextend 卷组名 设备
lvextend -L +扩充容量 /dev/卷组名/逻辑卷名
xfs_growfs /dev/卷组名/逻辑卷名