LVM (Logic Volume Management,)扩充
2011-10-27 20:59
309 查看
LVM (Logic Volume Management,逻辑卷管理),是传统商业Unix就带有的一项高级磁盘管理工具,异常强大。后来LVM移植到了Linux操作系统上,尽管不像原来Unix版本那么强大,但瘦死的骆驼比马大,Linux的LVM仍然非常强大,可以在生产运行系统上面直接在线扩展硬盘分区,可以把分区umount以后收缩分区大小,还可以在系统运行过程中把一个分区从一块硬盘搬到另一块硬盘上面去等等,简直就像变魔术,而且这一切都可以在一个繁忙运行的系统上面直接操作,不会对你的系统运行产生任何影响,很安全。
还是拿JavaEye的网站服务器随便举个小例子吧。话说今天晚上我登录JavaEye网站服务器随便这么一查看磁盘使用状况:
C代码
df -h
df -h
竟然发现/home分区的磁盘消耗的很快
C代码
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 40G 32G 8G 80% /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 40G 32G 8G 80% /home
有点出乎意料,已经使用了80%,如果用光了,可就有点麻烦了,所以为了安全,把/home分区扩大5GB,多给它点硬盘空间,敲入两条shell命令
C代码
lvextend -L +5G /dev/system/home
resize_reiserfs -s +5G /dev/system/home
lvextend -L +5G /dev/system/home
resize_reiserfs -s +5G /dev/system/home
先把逻辑卷扩大5GB,再把上面的reiserfs文件系统扩大5GB,前后耗时不超过3秒钟。再df -h查看一下:
C代码
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 45G 32G 13G 71% /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 45G 32G 13G 71% /home
哈哈,/home立刻多了5GB,搞定收工,这是不是很像变戏法,我没停任何服务,没重起服务器,大家没有任何感觉,就一切搞定,说实话我也一直觉得LVM很cool,所以我一直是LVM+Reiserfs的忠实拥趸。有兴趣学习LVM的同学可以下载后面的附件,这可是我珍藏多年的LVM秘籍!
另外强烈推荐Daniel Robbins在IBM DW网站上面关于LVM的系列文章:
一、LVM系统分区
#安装系统的时候采用LVM分区
#先划分一个/boot分区
#将剩余空间划为一个物理卷(PV),创建一个名VolGroup00卷组(VG)
#并在VolGroup00卷组修建逻辑卷(LV)
二、LVM分区创建、大小调整
1、新添加一块硬盘,使用LVM对这个磁盘进行分区管理
#检测所有存储设备
lvmdiskscan #或者使用fdisk -l
#创建物理分区(将整块硬盘划为一个物理分区)
fdisk /dev/sdb
#创建物理卷(PV)
pvcreate /dev/sdb1
#创建卷组(VG)
#创建一个名为VolGroup01的卷组,并将/dev/sdb1这个刚创建的特理卷加放该卷组中
vgcreate VolGroup01 /dev/sdb1
当多个物理卷组合成一个卷组后时,LVM会在所有的物理卷上做类似格式化的工作,将每个物理卷切成一块一块的空间,这一块一块
的空间就称为PE(Physical Extent ),它的默认大小是4MB。
由于受内核限制的原因,一个逻辑卷(Logic Volume)最多只能包含65536个PE(Physical Extent),所以一个PE的大小就决定了
逻辑卷的最大容量,4 MB 的PE决定了单个逻辑卷最大容量为 256 GB,若希望使用大于256G的逻辑卷,则创建卷组时需要指定更大
的PE。在Red Hat Enterprise Linux AS 4中PE大小范围为8 KB 到 16GB,并且必须总是 2 的倍数。
例如,如果希望使用 64 MB 的PE创建卷组,这样逻辑卷最大容量就可以为4 TB,命令如下:
vgcreate - 64MB VolGroup01 /dev/sdb1
#查看卷组
[root@LVM ~]# vgdisplay
--- Volume group ---
VG Name VolGroup01 #卷组名
System ID
Format lvm2 #格式
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0 #最大逻辑卷的个数,0为不限制
Cur LV 1 #当前逻辑卷的个数
Open LV 0 #当前可用的逻辑卷个数
Max PV 0
Cur PV 1 #当前卷组中物理卷的个数
Act PV 1 #当前卷组中有一个活动的物理卷
VG Size 149.05 GB #卷组的总容量27.96G
PE Size 4.00 MB #卷组的最小I/O单位
Total PE 38156 #卷组中的桩点数
Alloc PE / Size 25600 / 100.00 GB #当前用掉的桩点和磁盘大小
Free PE / Size 12556 / 49.05 GB #当前可用的桩点和磁盘大小
VG UUID 7SPylC-awq8-t48R-1Yn5-UKxM-pd2C-VS4p1s
#创建逻辑卷(LV)
lvcreate -L 100G -n LogVol11 VolGroup01
#其中-L 100G表示这个LV的空间是100G
#-n LogVol11表示这个LV名字为LogVol11
#VolGroup01表示这个LV所在的VG
lvcreate -L 49G -n LogVol12 VolGroup01
#LV检测
lvscan
#格式化LV(格式化成ext3格式)
mkfs.ext3 /dev/VolGroup01/LogVol11
mkfs.ext3 /dev/VolGroup01/LogVol12
#挂载到普通目录上
mkdir /data1
mkdir /data2
mount /dev/VolGroup01/LogVol11 /data1
mount /dev/VolGroup01/LogVol12 /data2
#修改/etc/fstab可以在启动时候自动挂载到相应位置
vi /etc/fstab
#查看分区情况
df -h
2、调整LV的大小
#首先取消挂载
umount /data1
umount /data2
#/dev/VolGroup01/LogVol12减少10
e2fsck -f /dev/VolGroup01/LogVol12
resize2fs /dev/VolGroup01/LogVol12 39G #39G为调整后的磁盘空间大小
lvreduce -L-10G /dev/VolGroup01/LogVol12 #10G为减少的磁盘空间大小
resize2fs /dev/VolGroup01/LogVol12
#/dev/VolGroup01/LogVol11增加10G
lvextend -L+10G /dev/VolGroup01/LogVol11
e2fsck -f /dev/VolGroup01/LogVol11
resize2fs /dev/VolGroup01/LogVol11
#重新挂载
mount /dev/VolGroup01/LogVol11 /data1
mount /dev/VolGroup01/LogVol12 /data2
#再来查看下分区情况
df -h
还是拿JavaEye的网站服务器随便举个小例子吧。话说今天晚上我登录JavaEye网站服务器随便这么一查看磁盘使用状况:
C代码
df -h
df -h
竟然发现/home分区的磁盘消耗的很快
C代码
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 40G 32G 8G 80% /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 40G 32G 8G 80% /home
有点出乎意料,已经使用了80%,如果用光了,可就有点麻烦了,所以为了安全,把/home分区扩大5GB,多给它点硬盘空间,敲入两条shell命令
C代码
lvextend -L +5G /dev/system/home
resize_reiserfs -s +5G /dev/system/home
lvextend -L +5G /dev/system/home
resize_reiserfs -s +5G /dev/system/home
先把逻辑卷扩大5GB,再把上面的reiserfs文件系统扩大5GB,前后耗时不超过3秒钟。再df -h查看一下:
C代码
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 45G 32G 13G 71% /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 45G 32G 13G 71% /home
哈哈,/home立刻多了5GB,搞定收工,这是不是很像变戏法,我没停任何服务,没重起服务器,大家没有任何感觉,就一切搞定,说实话我也一直觉得LVM很cool,所以我一直是LVM+Reiserfs的忠实拥趸。有兴趣学习LVM的同学可以下载后面的附件,这可是我珍藏多年的LVM秘籍!
另外强烈推荐Daniel Robbins在IBM DW网站上面关于LVM的系列文章:
一、LVM系统分区
#安装系统的时候采用LVM分区
#先划分一个/boot分区
#将剩余空间划为一个物理卷(PV),创建一个名VolGroup00卷组(VG)
#并在VolGroup00卷组修建逻辑卷(LV)
二、LVM分区创建、大小调整
1、新添加一块硬盘,使用LVM对这个磁盘进行分区管理
#检测所有存储设备
lvmdiskscan #或者使用fdisk -l
#创建物理分区(将整块硬盘划为一个物理分区)
fdisk /dev/sdb
#创建物理卷(PV)
pvcreate /dev/sdb1
#创建卷组(VG)
#创建一个名为VolGroup01的卷组,并将/dev/sdb1这个刚创建的特理卷加放该卷组中
vgcreate VolGroup01 /dev/sdb1
当多个物理卷组合成一个卷组后时,LVM会在所有的物理卷上做类似格式化的工作,将每个物理卷切成一块一块的空间,这一块一块
的空间就称为PE(Physical Extent ),它的默认大小是4MB。
由于受内核限制的原因,一个逻辑卷(Logic Volume)最多只能包含65536个PE(Physical Extent),所以一个PE的大小就决定了
逻辑卷的最大容量,4 MB 的PE决定了单个逻辑卷最大容量为 256 GB,若希望使用大于256G的逻辑卷,则创建卷组时需要指定更大
的PE。在Red Hat Enterprise Linux AS 4中PE大小范围为8 KB 到 16GB,并且必须总是 2 的倍数。
例如,如果希望使用 64 MB 的PE创建卷组,这样逻辑卷最大容量就可以为4 TB,命令如下:
vgcreate - 64MB VolGroup01 /dev/sdb1
#查看卷组
[root@LVM ~]# vgdisplay
--- Volume group ---
VG Name VolGroup01 #卷组名
System ID
Format lvm2 #格式
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0 #最大逻辑卷的个数,0为不限制
Cur LV 1 #当前逻辑卷的个数
Open LV 0 #当前可用的逻辑卷个数
Max PV 0
Cur PV 1 #当前卷组中物理卷的个数
Act PV 1 #当前卷组中有一个活动的物理卷
VG Size 149.05 GB #卷组的总容量27.96G
PE Size 4.00 MB #卷组的最小I/O单位
Total PE 38156 #卷组中的桩点数
Alloc PE / Size 25600 / 100.00 GB #当前用掉的桩点和磁盘大小
Free PE / Size 12556 / 49.05 GB #当前可用的桩点和磁盘大小
VG UUID 7SPylC-awq8-t48R-1Yn5-UKxM-pd2C-VS4p1s
#创建逻辑卷(LV)
lvcreate -L 100G -n LogVol11 VolGroup01
#其中-L 100G表示这个LV的空间是100G
#-n LogVol11表示这个LV名字为LogVol11
#VolGroup01表示这个LV所在的VG
lvcreate -L 49G -n LogVol12 VolGroup01
#LV检测
lvscan
#格式化LV(格式化成ext3格式)
mkfs.ext3 /dev/VolGroup01/LogVol11
mkfs.ext3 /dev/VolGroup01/LogVol12
#挂载到普通目录上
mkdir /data1
mkdir /data2
mount /dev/VolGroup01/LogVol11 /data1
mount /dev/VolGroup01/LogVol12 /data2
#修改/etc/fstab可以在启动时候自动挂载到相应位置
vi /etc/fstab
#查看分区情况
df -h
2、调整LV的大小
#首先取消挂载
umount /data1
umount /data2
#/dev/VolGroup01/LogVol12减少10
e2fsck -f /dev/VolGroup01/LogVol12
resize2fs /dev/VolGroup01/LogVol12 39G #39G为调整后的磁盘空间大小
lvreduce -L-10G /dev/VolGroup01/LogVol12 #10G为减少的磁盘空间大小
resize2fs /dev/VolGroup01/LogVol12
#/dev/VolGroup01/LogVol11增加10G
lvextend -L+10G /dev/VolGroup01/LogVol11
e2fsck -f /dev/VolGroup01/LogVol11
resize2fs /dev/VolGroup01/LogVol11
#重新挂载
mount /dev/VolGroup01/LogVol11 /data1
mount /dev/VolGroup01/LogVol12 /data2
#再来查看下分区情况
df -h
相关文章推荐
- LVM (Logic Volume Management,逻辑卷管理)
- 关于linux LVM的好图 (Logic Volume Management,逻辑卷管理)
- LVM (Logic Volume Management,逻辑卷管理)
- How to Manage and Use LVM (Logical Volume Management) in Ubuntu In our previous article we told you
- How to Manage and Use LVM (Logical Volume Management) in Ubuntu In our previous article we told you
- LVM(logical volume management) 逻辑卷管理器
- Linux - How to Extend/Reduce LVM’s (Logical Volume Management) in Linux
- LVM (Logical Volume Management) 配置
- logic volume management 磁盘的扩容,pv、vg、lv
- LVM(Logical volume management,逻辑卷管理)
- Linux下LVM 硬盘空间扩充及命令介绍
- 准备 LVM Volume Provider - 每天5分钟玩转 OpenStack(49)
- LVM2 Logical Volume Manager 详解(二)--LVM剖析
- 准备 LVM Volume Provider - 每天5分钟玩转 OpenStack(49)
- How to Shrink A LVM Physical Volume
- lvm磁盘管理(新建,扩充,缩减,快照)
- 准备 LVM Volume Provider - 每天5分钟玩转 OpenStack(49)
- What is Logical Volume Management and How Do You Enable It in Ubuntu?
- Understanding The Concept Of Logical Volume Manager – LVM