您的位置:首页 > 运维架构 > Linux

Linux Lvm创建详解

2016-01-29 14:13 363 查看
Disk管理

LVM(Logical Volume Manager)逻辑卷管理
建立在硬盘和分区之上,文件系统之下的逻辑层,能在保持原有数据不变的状况下动态调整磁盘容量
/boot分区不能创建在逻辑卷上(跟启动引导相关)必须独立出来

LVM概念 创建时在硬盘头部预留一个块,用于保存LVM属性
PV物理卷--->VG卷组--->LV逻辑卷--->格式化--->挂载使用文件系统

2、LVM管理命令
功能 物理卷 卷组 逻辑卷
scan(扫描) pvscan vgscan lvscan
create(创建) pvcreate vgcreate lvcreate
display(显示) pvdisplay vgdisplay lvdisplay
remove(移除) pvremove vgremove lvremove
extend(扩充) vgextend lvextend
reduce(减小) vgreduce lvreduce
3、LVM用法
pvcreate 设备名 创建PV
vgcreate 卷组名 物理卷名1 物理卷名2 创建VG
lvcreate -L 大小 -n 逻辑卷名 卷组名 创建LVM
4、增大LVM
lvextend -L +大小 /dev/卷组名/逻辑卷名 扩大LVM
resize2fs /dev/卷组名/逻辑卷名 更新文件系统
5、减小LVM
umount /dev/vg01/lv01 卸载分区
e2fsck -f /dev/vg01/lv01 检查分区
resize2fs /dev/vg01/lv01 450M 先减小文件系统
lvreduce -L 450M /dev/vg01/lv01 再减小分区

[root@crushlinux1 ~]# fdisk -l

Disk /dev/hdb doesn't contain a valid partition table

[root@crushlinux1 ~]# fdisk /dev/hdb

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-44384, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-44384, default 44384): +2G

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (4136-44384, default 4136):
Using default value 4136
Last cylinder or +size or +sizeM or +sizeK (4136-44384, default 44384): +2G

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (8271-44384, default 8271):
Using default value 8271
Last cylinder or +size or +sizeM or +sizeK (8271-44384, default 44384): +2G

Command (m for help): p

Device Boot Start End Blocks Id System
/dev/hdb1 1 4135 1953756 83 Linux
/dev/hdb2 4136 8270 1953787+ 83 Linux
/dev/hdb3 8271 12405 1953787+ 83 Linux

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)
Command (m for help): p
[root@crushlinux1 ~]# pvcreate /dev/hdb[123]
[root@crushlinux1 ~]# pvdisplay /dev/hdb[123]
[root@crushlinux1 ~]# vgscan
[root@crushlinux1 ~]# vgcreate vg01 /dev/hdb[123]
[root@crushlinux1 ~]# vgdisplay vg01
[root@crushlinux1 ~]# lvscan
[root@crushlinux1 ~]# lvcreate -L 3G -n lvm01 vg01
[root@crushlinux1 ~]# mkfs.ext3 /dev/vg01/lvm01
[root@crushlinux1 ~]# mkdir /lvm01
[root@crushlinux1 ~]# mount /dev/vg01/lvm01 /lvm01
[root@crushlinux1 ~]# cd /lvm01
[root@crushlinux1 lvm01]# touch 1
[root@crushlinux1 ~]# df -Th

[root@crushlinux1 ~]# lvdisplay /dev/vg01/lvm01
[root@crushlinux1 ~]# lvextend -L +512M /dev/vg01/lvm01
[root@crushlinux1 ~]# lvdisplay /dev/vg01/lvm01
[root@crushlinux1 ~]# resize2fs /dev/vg01/lvm01
[root@crushlinux1 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/vg01-lvm01 ext3 3.5G 72M 3.3G 3% /lvm01

[root@crushlinux1 ~]# umount /dev/vg01/lvm01
[root@crushlinux1 ~]# e2fsck -f /dev/vg01/lvm01
[root@crushlinux1 ~]# resize2fs /dev/vg01/lvm01 2G
[root@crushlinux1 ~]# lvreduce -L 2G /dev/vg01/lvm01
[root@crushlinux1 ~]# mount /dev/vg01/lvm01 /lvm01/
[root@crushlinux1 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/vg01-lvm01 ext3 2.0G 70M 1.9G 4% /lvm01

磁盘配额
方法一:
[root@crushlinux1 ~]# mount -o remount,usrquota,grpquota /dev/vg01/lvm01 /lvm01/
[root@crushlinux1 ~]# mount
/dev/mapper/vg01-lvm01 on /lvm01 type ext3 (rw,usrquota,grpquota)
[root@crushlinux1 ~]# chmod 777 /lvm01/
方法二:
[root@crushlinux1 ~]# vi /etc/fstab
/dev/vg01/lvm01 /lvm01 ext3 defaults,usrquota,grpquota 0 0
在你要做配额的分区后面添加usrquota,grpquota
[root@crushlinux1 ~]# umount /lvm01/ && mount -a
[root@crushlinux1 ~]# mount -o remount /dev/vg01/lvm01
[root@crushlinux1 ~]# mount 查看所配额分区后面有没(rw,usrquota,grpquota)
/dev/mapper/vg01-lvm01 on /lvm01 type ext3 (rw,usrquota,grpquota)

[root@crushlinux1 ~]# quotacheck -cmug /dev/vg01/lvm01 创建配额文件
[root@crushlinux1 ~]# quotacheck -augcv
[root@crushlinux1 ~]# ll /lvm01/aquota.*
-rw------- 1 root root 6144 09-06 23:59 /lvm01/aquota.group
-rw------- 1 root root 6144 09-06 23:59 /lvm01/aquota.user
[root@crushlinux1 ~]# useradd jack
[root@crushlinux1 ~]# passwd jack
[root@crushlinux1 ~]# edquota -u jack
Disk quotas for user jack (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/vg01-lvm01 0 80000 100000 0 40 50

Filesystem 表示本行配置记录对应的文件系统,配额作用范围
blocks 表示用户当前已用的硬盘容量
inodes 表示用户当前拥有的文件数量
soft 第三列的soft表示硬盘容量的软限制、第六列的soft表示文件数量的软限制
hard 第四列的hard表示硬盘容量的硬限制、第七列的hard表示文件数量的硬限制

edquota -u 用户
-g 组
-t 时间
-p 复制模板

[root@crushlinux1 ~]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/mapper/vg01-lvm01 3days 3days

[root@crushlinux1 ~]# quotaon -ugv /lvm01/ 开启配额
/dev/mapper/vg01-lvm01 [/lvm01]: group quotas turned on
/dev/mapper/vg01-lvm01 [/lvm01]: user quotas turned on
[root@crushlinux1 ~]# su - jack 切换用户
[jack@crushlinux1 ~]$ dd if=/dev/zero of=/lvm01/test bs=1M count=70
70+0 records in
70+0 records out
73400320 bytes (73 MB) copied, 0.10486 seconds, 700 MB/s
[jack@crushlinux1 ~]$ dd if=/dev/zero of=/lvm01/test bs=1M count=79
dm-0: warning, user block quota exceeded.
79+0 records in
79+0 records out
82837504 bytes (83 MB) copied, 0.167987 seconds, 493 MB/s
[jack@crushlinux1 ~]$ dd if=/dev/zero of=/lvm01/test bs=1M count=110
dm-0: warning, user block quota exceeded.
dm-0: write failed, user block limit reached.
dd: 写入 “/lvm01/test”: 超出磁盘限额
98+0 records in
97+0 records out
102293504 bytes (102 MB) copied, 0.152686 seconds, 670 MB/s

dd if=哪里来 of=到哪里去 bs=大小 count=次数
quota -u 用户 查看用户配额情况
-g 组 查看组配额情况
edquota -p 已设置配额账户 -u 未设置配额账户
quotaoff -a 关闭配额
repquota -a
本文出自 “Andylinux” 博客,请务必保留此出处http://andywen.blog.51cto.com/10283904/1739834
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: