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
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
相关文章推荐
- linux中的libz.so.1库文件丢失解决办法
- linux 段页式内存管理
- grep 命令系列:用 grep 命令统计匹配字符串的行数
- linux 串口驱动解析之2440
- linux系统中scp命令的用法(Permission denied排错二例)
- Linux Clock & Time
- Linux换行符相关
- Linux Screen命令使程序远离断网影响
- Linux下批量修改后缀名
- Linux、Solaris 系统根据时间动态创建目录或文件夹的方法
- linux下查看进程的方式
- Linux曲径通幽:LAMP环境搭建
- 系统学习Linux建议
- 解决centos 6.6 更换yum 163源报错
- linux下使用split 来分割大文件
- Linux定时执行脚本
- linux下程序定时重启脚本
- Linux/AIX系统下服务自启动配置
- Linux 内核调优
- 50个最常用的UNIX/Linux命令