目录
一.LVM逻辑卷概述
二.创建逻辑卷
三.磁盘配额的概述
四.磁盘配额的步骤和相关命令
五.磁盘配额的具体实例
PV物理卷,是LVM机制的基本存储设备,通常对应一个普通分区或整个硬盘,且创建物理卷时,会在分区或者硬盘的头部创建一个保留分区,来记录LVM的属性。此外,物理卷的基本单位是大小为4MB,叫做PE。一般物理卷直接使用设备文件名称,/dev/sdb1、/dev/sdd等VG卷组,由一个或者多个物理卷组成一个整体,在卷组中可以动态的添加或移除物理卷,卷组名由用户自定义LV逻辑卷,逻辑卷创建在卷组上和物理卷无直接关系,逻辑卷就是从卷组这个整体中分出来的一块
pvcreate
vgcreatelvcreste显示(display)pvdisplayvgdisplaylvdisplay移除(remove)pvremovevgremovelvremove扩展(extend) vgextendlvextend减少(reduce) vgreducelvreduce
注:物理卷不在命令上可以扩展和减少
创建LVM卷的步骤添加三个新的硬盘,并用fdisk -l 查看 [root@localhost ~]# fdisk -l 磁盘 /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/sda:42.9 GB, 42949672960 字节,83886080 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000be365 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 12584959 6291456 83 Linux /dev/sda2 12584960 33556479 10485760 83 Linux /dev/sda3 33556480 41945087 4194304 82 Linux swap / Solaris /dev/sda4 41945088 83886079 20970496 5 Extended /dev/sda5 41947136 62918655 10485760 83 Linux [root@localhost ~]# 对这三个磁盘进行分区,并且把分区类型的ID标记号改为8e(fdisk /dev/sdb 选择n创建主分区 默认 选择t修改ID标记号 ) [root@localhost ~]# fdisk -l 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xe3ad9fe5 设备 Boot Start End Blocks Id System /dev/sdb1 2048 41943039 20970496 8e Linux LVM 磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x9111388c 设备 Boot Start End Blocks Id System /dev/sdc1 2048 41943039 20970496 8e Linux LVM 磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x7aae2e1b 设备 Boot Start End Blocks Id System /dev/sdd1 2048 41943039 20970496 8e Linux LVM 磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000be365 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 12584959 6291456 83 Linux /dev/sda2 12584960 33556479 10485760 83 Linux /dev/sda3 33556480 41945087 4194304 82 Linux swap / Solaris /dev/sda4 41945088 83886079 20970496 5 Extended /dev/sda5 41947136 62918655 10485760 83 Linux [root@localhost ~]# 把这三个分区创建为物理卷 [root@localhost ~]# pvscan No matching physical volumes found [root@localhost ~]# pvcreate /dev/sd[b-d]1 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created. Physical volume "/dev/sdd1" successfully created. [root@localhost ~]# pvdisplay /dev/sd[b-d]1 "/dev/sdb1" is a new physical volume of "<20.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size <20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID sPJc3c-Oxdd-bq9V-N0la-G1l2-Vakq-iCNwdY "/dev/sdd1" is a new physical volume of "<20.00 GiB" --- NEW Physical volume --- PV Name /dev/sdd1 VG Name PV Size <20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID r82AWI-1IDd-0a8c-4MI7-F4Ec-hWQW-dEIzP5 "/dev/sdc1" is a new physical volume of "<20.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc1 VG Name PV Size <20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID XHggtF-rSZf-HioB-NRpE-wfaR-VkM7-QCDOMo [root@localhost ~]#注:其中pv命令的使用可以在命令后面一个一个加上设备目录用空格隔开,如果是连续的分区号可以用上述命令实现
把物理卷创建为卷组 [root@localhost ~]# vgscan Reading volume groups from cache. [root@localhost ~]# vgcreate aaa /dev/sd[b-d]1 Volume group "aaa" successfully created [root@localhost ~]# vgdisplay aaa --- Volume group --- VG Name aaa System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size <59.99 GiB PE Size 4.00 MiB Total PE 15357 Alloc PE / Size 0 / 0 Free PE / Size 15357 / <59.99 GiB VG UUID NdfS3h-V8Pk-nxOx-sCMp-BE0j-fvg3-a74uSZ [root@localhost ~]# 从卷组中创建一个大小为30G的逻辑卷 [root@localhost ~]# lvscan [root@localhost ~]# lvcreate -L 30G -n bbb aaa Logical volume "bbb" created. [root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/aaa/bbb LV Name bbb VG Name aaa LV UUID Nuvrdt-mxbA-qrCg-kpsN-FrEt-1b1p-zrbvn1 LV Write Access read/write LV Creation host, time localhost.localdomain, 2019-11-02 15:15:04 +0800 LV Status available # open 0 LV Size 30.00 GiB Current LE 7680 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 [root@localhost ~]#注:使用lvcreate命令时,需要跟参数 -L代表容量大小,-n代表逻辑卷名
基本格式为:lvcreate -L 容量大小 -n 逻辑卷名 卷组名
对逻辑建卷进行格式化 [root@localhost ~]# mkfs.xfs /dev/aaa/bbb meta-data=/dev/aaa/bbb isize=512 agcount=4, agsize=1966080 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=7864320, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=3840, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]#注:mkfs格式化工具的两种基本格式
mkfs.文件系统类型 逻辑卷的路径
mkfs -t 文件系统类型 逻辑卷的路径
对逻辑卷进行挂载并且使用该逻辑卷 [root@localhost ~]# mkdir ccc [root@localhost ~]# mount /dev/aaa/bbb ./ccc [root@localhost ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 10G 3.3G 6.8G 33% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.2M 481M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda5 xfs 10G 37M 10G 1% /home /dev/sda1 xfs 6.0G 158M 5.9G 3% /boot tmpfs tmpfs 98M 12K 98M 1% /run/user/42 tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/aaa-bbb xfs 30G 33M 30G 1% /root/ccc [root@localhost ~]# 对逻辑卷进行扩容 [root@localhost ~]# lvextend -L +10G /dev/aaa/bbb Size of logical volume aaa/bbb changed from 30.00 GiB (7680 extents) to 40.00 GiB (10240 extents). Logical volume aaa/bbb successfully resized. [root@localhost ~]# lvdisplay /dev/aaa/bbb --- Logical volume --- LV Path /dev/aaa/bbb LV Name bbb VG Name aaa LV UUID Nuvrdt-mxbA-qrCg-kpsN-FrEt-1b1p-zrbvn1 LV Write Access read/write LV Creation host, time localhost.localdomain, 2019-11-02 15:15:04 +0800 LV Status available # open 1 LV Size 40.00 GiB Current LE 10240 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 当我们扩容时,会发现使用df -hT命令,没有扩展的容量,这是因为对于新的逻辑卷没有格式化可以用xfs_growfs命令对扩容的部分进行更新识别 [root@localhost ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 10G 3.3G 6.8G 33% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.2M 481M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda5 xfs 10G 37M 10G 1% /home /dev/sda1 xfs 6.0G 158M 5.9G 3% /boot tmpfs tmpfs 98M 12K 98M 1% /run/user/42 tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/aaa-bbb xfs 30G 33M 30G 1% /root/ccc [root@localhost ~]# xfs_growfs /dev/aaa/bbb meta-data=/dev/mapper/aaa-bbb isize=512 agcount=4, agsize=1966080 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=7864320, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=3840, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 7864320 to 10485760 [root@localhost ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 10G 3.3G 6.8G 33% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.2M 481M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda5 xfs 10G 37M 10G 1% /home /dev/sda1 xfs 6.0G 158M 5.9G 3% /boot tmpfs tmpfs 98M 12K 98M 1% /run/user/42 tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/aaa-bbb xfs 40G 33M 40G 1% /root/ccc [root@localhost ~]#注:使用xfs_growfs可以更新LVM的扩容。使用resize2fs可以更新raid和ext4的扩容
注:必须在root用户中就给其他用户以权限。另外,Linux中的磁盘配额不会因为磁盘配额限制而不传送数据,而是创建硬限制下的最大容量和数量,一般在软限制下的最大限度,但是软限制时限一般是7天。当两个限制有一个超出之后,另一个就无法创建
