2

LVM分区使用

一、     常用命令

Pvcreate,vgcreate,pvdisplay,lvdisplay,pvs,lvs,lvcreate

Vgextend,vgreduce,lvextend,lvreduce等

快速:

#分区,创建vg,创建lv,格式化,挂载

265  fdisk -cu /dev/sdb

268  pvcreate /dev/sdb{1,5}

269  vgcreate vg /dev/sdb1 /dev/sdb5

271  lvcreate -L 200M -n www vg

273  mkfs.ext4 /dev/mapper/vg-www

275  mkdir /www

276  mount /dev/mapper/vg-www /www

#图形化lvm管理工具

277  yum install -y system-config-lvm

#缩减lvm分区大小

279  umount /www

285  e2fsck -f /dev/mapper/vg-www

286  resize2fs /dev/mapper/vg-www 400M

287  lvreduce -L 400M /dev/vg/www

288  lvdisplay /dev/vg/www

#增加lvm分区大小

291  lvextend -L 740m /dev/mapper/vg-www

#向vg中增加一个硬盘

292  pvcreate /dev/sdc

293  vgextend –help

294  vgextend vg /dev/sdc

295  vgdisplay vg

#从vg中删除一个硬盘

302  vgreduce vg /dev/sdc

303  pvs

304  lvs

#创建一个快照

306  lvcreate -L 100M -s -n wwwbackup /dev/mapper/vg-www

307  lvs

308  lvdisplay vg-wwwbackup

309  lvdisplay /dev/vg/wwwbackup

#KVM虚拟机配置文件

root@okeyear:~# vim /etc/libvirt/qemu/centos6ser.xml

二、     LVM简介

AC55DAF5B31E7F15267C2CE3F34588B3731D9B47.png

LVM(Logical Volume Manager)逻辑卷管理,是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以事项一种磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

*物理卷(physical volume,PV)

物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

*卷组(Volume Group,VG)

LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

*逻辑卷(logical volume,LV)

LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。

*PE(physical extent,PE)

每一个物理卷被划分为称为PE(PhysicalExtents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。

三、     LVM基本使用

可以理解为PE是逻辑卷的基本单位。

第一步pvcreate创建pv,操作对象是一个或几个硬盘,以后如果感觉不够,再加硬盘,然后vgcreate;(面粉,和成面团,不够用可以随时加入面粉);

第二步lvcreate创建lv,(我们要做馒头,要指定大小和名字);

第三步 格式化分区,mount等;

实例:

949AEF5A9BF2766671D4D5DBA4C32DA53089974D.png

我们以/dev/sdb为例:

# fdisk -cu /dev/sdb

8072A41EB5948449441942E3B3B7B90C1736CA76.png

# pvcreate /dev/sdb{1,5}

CBA41ECD7A7AE8018F2743F772F04D9C6C604346.png

# vgcreate vg /dev/sdb1 /dev/sdb5

F52F72528E91813FD40C055F90B62721BE9957CA.png

[可选# vgchange -ay vg]

362735B3DB40202E7DB8809803CAA65E90E39301.png

# lvcreate -L 200M -n www vg

78C8983A51609D4BED4BE4C034C2CC493279CAA1.png

# mkfs.ext4 /dev/mapper/vg-www

6208C23C151CFE269E878AFCC23BCF1B4AF143C3.png

四、     LVM高级功能

除了用命令进行拉伸和减小空间大小,还可以用图形工具:

# yum install -y system-config-lvm

# system-config-lvm

BBB3AB67F68C439742596DCA2CFD81043A43F5F6.png

这个可以删除逻辑卷,或者创建一个逻辑卷;

我们要用的是下面这个,编辑逻辑卷;

DBBF01448EEDFF714666D6289F633DC055D270EB.png

拖动,或输入新的大小,我们改为0.64G,然后点击OK。

C418E466126BA6240BA515FBF5D40089B40A8FC4.png

1.      缩减分区

先卸载,检查完整性,先缩小文件系统,再缩减lv分区大小;

# umount /www

# e2fsck -f /dev/mapper/vg-www

# resize2fs /dev/mapper/vg-www 400M

# lvreduce -L 400M /dev/vg/www

# lvdisplay /dev/vg/www

72C7DB3BD32FCB1C86B68BB8A45D2493ADD613DF1.png

2.      拉伸分区

# lvextend -L 740m /dev/mapper/vg-www

9BCDF5005062CCFC13D1DAF6F8556FE1B2E935831.png

此时,我们的/dev/sdb大小只有1G,如果我们的/www目录很快增长到1G了,空间不够,请继续向下:

3.      向vg中添加一个硬盘

# pvcreate /dev/sdc

# vgextend vg /dev/sdc

4E68FAFF025DA793661FF77C5F76C83F99CC819F1.png

我们把/dev/sdc加入后,vg已经增到2G了。

4.      从vg中删除一个硬盘

# vgreduce vg /dev/sdc

9EF3F64F6E902AF765546B491B5230BD90C39F87.png

5.      快照

lvm快照有两大用途,一是用来克隆虚拟机,例如做KVM虚拟机时,可先新建一台完整虚拟机,假设大小为8G,然后我们可以在这台8G的虚拟机上创建1个4G的快照,接着通过这个4G的快照启动虚拟机,做完实验后,可以直接删除快照而保持原来完整虚拟机的纯净。

lvm快照的第二大用途是实时备份(moment-in-time),即为了保持系统的一致性,我们先做一个快照冻结当前系统状态,这样快照里面的内容可暂时保持不变,系统本身继续运行,通过备份快照来实现不中断服务的的备份。

# lvcreate -L 100M -s -n wwwbackup /dev/mapper/vg-www

# lvdisplay vg-wwwbackup

2C266F6B020764867A6E654BD43A1B073766684C.png

lvcreate -L 5000M -s -n bak /dev/mapper/vg-centos6u5ser
#建立lvm分区镜像
mount /dev/mapper/vg-bak /kvm/bak
#挂载镜像到新位置
vim /etc/libvirt/qemu/centos6u5.xml
编辑虚拟机配置文件
<source file='/kvm/centos6u6.img'/>
#更改磁盘文件路径为新的位置

Snapshot Backup

Submitted by anees khan (not registered) on Thu, 2012-01-19 10:18.

# lvcreate –L 100M –s –n snapshot-name Logic-Volume-Name

# mount /dev/Volume-Group/snapshot-namme /mount-point

#tar –zcvzf   /backup/snapshot.tar.gz  /mount-point

The /boot/ partition resides on its own non-LVM partition. In the following example, it is the first partition on the first drive (/dev/sda1). Bootable partitions cannot reside on LVM logical volumes.

#dd if=/dev/sda1 of=/backup/boot.dd

Note the uuid of your / partition

#pvscan –u > /backup/uuid

#lvdisplay > /backup/lvdisplay

On New System

To restore the / partition from your backup (covered in the last chapter of this tutorial) you need a Linux Live-CD that supports LVM, such as Knoppix or the Debian Etch Netinstall CD which you can use as a rescue CD if you specify rescue at the boot prompt.

Repartition  your / hard-disk. Mount the shared disk.

#dd if=/backup/boot.dd of=/dev/sda1

#more /backup/uuid

#pvcreate –uuid  uuid /dev/sda2

#more /backup/lvdisplay

#pvcreate Volume-Group-name /dev/sda2

#lvcreate –l 100%FREE –n Logic-Volume-name Volume-Group

#mount  /dev/Volume-Group/Logic-Volume /mount-point

#cd /mount-point

#tar –xvzf  /backup/root.tar.gz

#umount  /mount-point

#reboot

来源: <Back Up (And Restore) LVM Partitions With LVM Snapshots | HowtoForge – Linux Howtos and Tutorials>