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

Linux常用命令笔记--逻辑卷管理与维护

2013-03-11 23:56 519 查看
LVM由存储介质、物理卷、逻辑卷组、逻辑卷几个元素组成
[root@szm ~]# pvcreate --help

pvcreate: Initialize physical volume(s) for use by LVM

pvcreate

[--norestorefile]

[--restorefile file]

[-d|--debug]

[-f[f]|--force [--force]] ------强制初始化,无需用户确认

[-h|-?|--help]

[--labelsector sector]

[-M|--metadatatype 1|2]

[--pvmetadatacopies #copies]

[--metadatasize MetadataSize[bBsSkKmMgGtTpPeE]]

[--dataalignment Alignment[bBsSkKmMgGtTpPeE]]

[--dataalignmentoffset AlignmentOffset[bBsSkKmMgGtTpPeE]]

[--setphysicalvolumesize PhysicalVolumeSize[bBsSkKmMgGtTpPeE]

[-t|--test]

[-u|--uuid uuid] -----初始化物理卷指定UUID号

[-v|--verbose]

[-y|--yes]------针对所有的问题Yes

[-Z|--zero {y|n}]

[--version]

PhysicalVolume [PhysicalVolume...]

[root@szm ~]# pvscan --help

pvscan: List all physical volumes

pvscan

[-a|--activate ay]

[--cache [ DevicePath | --major major --minor minor]...]

[-d|--debug]

{-e|--exported | -n|--novolumegroup}

[-h|-?|--help]

[--ignorelockingfailure]

[-P|--partial]

[-s|--short] ------简短扫描信息

[-u|--uuid] -------显示UUID

[-v|--verbose]

[--version]

[root@szm ~]# pvdisplay --help

pvdisplay: Display various attributes of physical volume(s)

pvdisplay

[-c|--colon]

[-d|--debug]

[-h|--help]

[--ignorelockingfailure]

[-m|--maps]-----显示物理卷的映射关系

[--nosuffix]

[-s|--short]----显示物理卷的简短摘要

[--units hHbBsSkKmMgGtTpPeE]

[-v|--verbose]

[--version]

[PhysicalVolumePath [PhysicalVolumePath...]]

pvdisplay --columns|-C----以列为单位显示物理卷信息

[--aligned]

[-a|--all]----显示所有物理卷信息

[-d|--debug]

[-h|--help]

[--ignorelockingfailure]

[--noheadings]

[--nosuffix]

[-o|--options [+]Field[,Field]]

[-O|--sort [+|-]key1[,[+|-]key2[,...]]]

[--separator Separator]

[--unbuffered]

[--units hHbBsSkKmMgGtTpPeE]

[-v|--verbose]

[--version]

[PhysicalVolumePath [PhysicalVolumePath...]]

[root@szm ~]# pvs --help

pvs: Display information about physical volumes

pvs

[-a|--all]----显示所有物理卷信息

[--aligned]

[-d|--debug]

[-h|-?|--help]

[--ignorelockingfailure]

[--nameprefixes]

[--noheadings]

[--nosuffix]

[-o|--options [+]Field[,Field]]

[-O|--sort [+|-]key1[,[+|-]key2[,...]]]

[-P|--partial]

[--rows]

[--segments]

[--separator Separator]

[--trustcache]

[--unbuffered]

[--units hHbBsSkKmMgGtTpPeE]

[--unquoted]

[-v|--verbose]

[--version]

[PhysicalVolume [PhysicalVolume...]]

[root@szm ~]# pvremove --help
pvremove: Remove LVM label(s) from physical volume(s)

pvremove
[-d|--debug]
[-f[f]|--force [--force]] -----强制删除,无需用户确认
[-h|-?|--help]
[-t|--test]
[-v|--verbose]
[-y|--yes]-----所有问题Yes
[--version]
PhysicalVolume [PhysicalVolume...]

1:准备物理存储设备(创建LVM类型的分区):

[root@szm ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x5d886ec2

Device Boot Start End Blocks Id System

/dev/sdb1 1 14 112423+ 8e Linux LVM

/dev/sdb2 15 40 208845 8e Linux LVM

/dev/sdb3 41 2610 20643525 5 Extended

/dev/sdb5 41 54 112423+ 8e Linux LVM

/dev/sdb6 55 56 16033+ 8e Linux LVM

/dev/sdb7 57 58 16033+ 8e Linux LVM

/dev/sdb8 59 60 16033+ 8e Linux LVM

/dev/sdb9 61 62 16033+ 8e Linux LVM

/dev/sdb10 63 64 16033+ 8e Linux LVM

/dev/sdb11 65 66 16033+ 8e Linux LVM

第二步:将物理块设备初始化为物理卷

[root@szm ~]# pvcreate /dev/sdb6 /dev/sdb7 /dev/sdb8

WARNING: software RAID md superblock detected on /dev/sdb6. Wipe it? [y/n] y

Wiping software RAID md superblock on /dev/sdb6.

Physical volume "/dev/sdb6" successfully created

WARNING: software RAID md superblock detected on /dev/sdb7. Wipe it? [y/n] y

Wiping software RAID md superblock on /dev/sdb7.

Physical volume "/dev/sdb7" successfully created

WARNING: software RAID md superblock detected on /dev/sdb8. Wipe it? [y/n] y

Wiping software RAID md superblock on /dev/sdb8.

Physical volume "/dev/sdb8" successfully created

[root@szm ~]# pvscan
PV /dev/sdb5 VG szmvg lvm2 [108.00 MiB / 0 free]
PV /dev/sda2 VG vg_szm lvm2 [19.51 GiB / 0 free]
PV /dev/sdb6 lvm2 [15.66 MiB]
PV /dev/sdb7 lvm2 [15.66 MiB]
PV /dev/sdb8 lvm2 [15.66 MiB]
Total: 5 [19.66 GiB] / in use: 2 [19.61 GiB] / in no VG: 3 [46.97 MiB]

[root@szm ~]# pvdisplay -s
Device "/dev/sdb5" has a capacity of 0
Device "/dev/sda2" has a capacity of 0
Device "/dev/sdb6" has a capacity of 15.66 MiB
Device "/dev/sdb7" has a capacity of 15.66 MiB
Device "/dev/sdb8" has a capacity of 15.66 MiB

[root@szm ~]# pvdisplay /dev/sdb6---------------详细信息
"/dev/sdb6" is a new physical volume of "15.66 MiB"
--- NEW Physical volume ---
PV Name /dev/sdb6
VG Name
PV Size 15.66 MiB
Allocatable NO------------没有被分配到VG
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 7n2KQw-3qzn-ILC5-1JQU-7DHh-eQ1o-OFOG12

PE是在PV创建组或加入卷组后才会分配PV描述符的
第三步:创建逻辑卷组VG

[root@szm ~]# vgcreate --help
vgcreate: Create a volume group

vgcreate
[-A|--autobackup {y|n}]
[--addtag Tag]
[--alloc AllocationPolicy]
[-c|--clustered {y|n}]
[-d|--debug]
[-h|--help]
[-l|--maxlogicalvolumes MaxLogicalVolumes]---设置LV数量,默认255个
[-M|--metadatatype 1|2]
[--[vg]metadatacopies #copies]
[-p|--maxphysicalvolumes MaxPhysicalVolumes] ----设置PV数量,默认255个
[-s|--physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE]] ---设置PE大小,默认为4M
[-t|--test]
[-v|--verbose]
[--version]
[ PHYSICAL DEVICE OPTIONS ]
VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

[root@szm ~]# vgscan --help
vgscan: Search for all volume groups

vgscan [--cache]
[-d|--debug]
[-h|--help]
[--ignorelockingfailure]
[--mknodes]
[-P|--partial]
[-v|--verbose]
[--version]

[root@szm ~]# vgdisplay --help -------- 也可以使用
vgsvgdisplay: Display volume group information

vgdisplay
[-A|--activevolumegroups]-----仅显示激活的卷组
[-c|--colon(冒号分隔显示值) | -s|--short(摘要) | -v|--verbose]
[-d|--debug]
[-h|--help]
[--ignorelockingfailure]
[--nosuffix]
[-P|--partial]
[--units hHbBsSkKmMgGtTpPeE]
[--version]
[VolumeGroupName [VolumeGroupName...]]

vgdisplay --columns|-C
[--aligned]------用直线方式排列卷组信息
[-d|--debug]
[-h|--help]
[--ignorelockingfailure]
[--noheadings]
[--nosuffix]
[-o|--options [+]Field[,Field]]
[-O|--sort [+|-]key1[,[+|-]key2[,...]]]
[-P|--partial]
[--separator Separator]
[--unbuffered]
[--units hHbBsSkKmMgGtTpPeE]
[--verbose]
[--version]
[VolumeGroupName [VolumeGroupName...]]

-a-----显示所有卷组信息
[root@szm ~]# vgextend --help
vgextend: Add physical volumes to a volume group

vgextend
[-A|--autobackup y|n]
[--restoremissing]
[-d|--debug]
[-f|--force]
[-h|--help]
[-t|--test]
[-v|--verbose]
[--version]
[ PHYSICAL DEVICE OPTIONS ]
VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

[root@szm ~]# vgremove --help
vgremove: Remove volume group(s)

vgremove
[-d|--debug]
[-f|--force]----强制删除卷组
[-h|--help]
[--noudevsync]
[-t|--test]
[-v|--verbose]
[--version]
VolumeGroupName [VolumeGroupName...]

[root@szm ~]# vgrename --help
vgrename: Rename a volume group

vgrename
[-A|--autobackup y|n]
[-d|--debug]
[-h|--help]
[-t|--test]
[-v|--verbose]
[--version]
OldVolumeGroupPath NewVolumeGroupPath |
OldVolumeGroupName NewVolumeGroupName

[root@szm ~]# vgcreate vg1 /dev/sdb6 /dev/sdb7 /dev/sdb8
Volume group "vg1" successfully created

[root@szm ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg1" using metadata type lvm2
Found volume group "szmvg" using metadata type lvm2
Found volume group "vg_szm" using metadata type lvm2

[root@szm ~]# vgs
VG #PV #LV #SN Attr VSize VFree
szmvg 1 1 0 wz--n- 108.00m 0
vg1 3 0 0 wz--n- 36.00m 36.00m
vg_szm 1 2 0 wz--n- 19.51g 0

[root@szm ~]# vgdisplay vg1
--- Volume group ---
VG Name vg1
System ID
Format lvm2------------VLM版本
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 36.00 MiB
PE Size 4.00 MiB
Total PE 9
Alloc PE / Size 0 / 0
Free PE / Size 9 / 36.00 MiB
VG UUID I7Sy7v-L2EG-SPSc-uzhd-ludU-8s4a-EDmROh

[root@szm ~]# pvdisplay /dev/sdb6
--- Physical volume ---
PV Name /dev/sdb6
VG Name vg1
PV Size 15.66 MiB / not usable 3.66 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 3
Free PE 3
Allocated PE 0
PV UUID 7n2KQw-3qzn-ILC5-1JQU-7DHh-eQ1o-OFOG12

当物理卷组创建之后,物理卷就会写入PV描述符。
[root@szm ~]# pvcreate /dev/sdb9
WARNING: software RAID md superblock detected on /dev/sdb9. Wipe it? [y/n] y
Wiping software RAID md superblock on /dev/sdb9.
Physical volume "/dev/sdb9" successfully created

[root@szm ~]# vgextend vg1 /dev/sdb9
Volume group "vg1" successfully extended

第四步:实现与管理逻辑卷

[root@szm ~]# lvcreate --help
lvcreate: Create a logical volume

lvcreate
[-A|--autobackup {y|n}]
[-a|--activate [a|e|l]{y|n}]
[--addtag Tag]
[--alloc AllocationPolicy]
[-C|--contiguous {y|n}]
[-d|--debug]
[-h|-?|--help]
[--ignoremonitoring]
[--monitor {y|n}]
[-i|--stripes Stripes [-I|--stripesize StripeSize]]
{-l|--extents LogicalExtentsNumber[%{VG|PVS|FREE}] |------指定PE的个数
-L|--size LogicalVolumeSize[bBsSkKmMgGtTpPeE]}--------指定因定大小
[-M|--persistent {y|n}] [--major major] [--minor minor]
[-m|--mirrors Mirrors [--nosync] [{--mirrorlog {disk|core|mirrored}|--corelog}]]
[-n|--name LogicalVolumeName]-----指定逻辑卷名称
[--noudevsync]
[-p|--permission {r|rw}]
[-r|--readahead ReadAheadSectors|auto|none]
[-R|--regionsize MirrorLogRegionSize]
[-T|--thin [-c|--chunksize ChunkSize]
[--discards {ignore|nopassdown|passdown}]
[--poolmetadatasize MetadataSize[bBsSkKmMgG]]]
[--thinpool ThinPoolLogicalVolume{Name|Path}]
[-t|--test]
[--type VolumeType]
[-v|--verbose]
[-Z|--zero {y|n}]
[--version]
VolumeGroupName [PhysicalVolumePath...]

lvcreate
{ {-s|--snapshot} OriginalLogicalVolume[Path] |----创建逻辑卷快照
[-s|--snapshot] VolumeGroupName[Path] -V|--virtualsize VirtualSize}
{-T|--thin} VolumeGroupName[Path][/PoolLogicalVolume]
-V|--virtualsize VirtualSize}
[-c|--chunksize]
[-A|--autobackup {y|n}]
[--addtag Tag]
[--alloc AllocationPolicy]
[-C|--contiguous {y|n}]
[-d|--debug]
[--discards {ignore|nopassdown|passdown}]
[-h|-?|--help]
[--ignoremonitoring]
[--monitor {y|n}]
[-i|--stripes Stripes [-I|--stripesize StripeSize]]
{-l|--extents LogicalExtentsNumber[%{VG|FREE|ORIGIN}] |
-L|--size LogicalVolumeSize[bBsSkKmMgGtTpPeE]}
[--poolmetadatasize Size[bBsSkKmMgG]]
[-M|--persistent {y|n}] [--major major] [--minor minor]
[-n|--name LogicalVolumeName]
[--noudevsync]
[-p|--permission {r|rw}]
[-r|--readahead ReadAheadSectors|auto|none]
[-t|--test]
[--thinpool ThinPoolLogicalVolume[Path]]
[-v|--verbose]
[--version]
[PhysicalVolumePath...]

[root@szm ~]# lvextend --help
lvextend: Add space to a logical volume

lvextend
[-A|--autobackup y|n]
[--alloc AllocationPolicy]
[-d|--debug]
[-f|--force]
[-h|--help]
[-i|--stripes Stripes [-I|--stripesize StripeSize]]
{-l|--extents [+]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN}] |---拉升lv参数
-L|--size [+]LogicalVolumeSize[bBsSkKmMgGtTpPeE]}------拉升lv参数
[-m|--mirrors Mirrors]
[--nosync]
[--use-policies]
[-n|--nofsck]
[--noudevsync]
[-r|--resizefs]
[-t|--test]
[--type VolumeType]
[-v|--verbose]
[--version]
LogicalVolume[Path] [ PhysicalVolumePath... ]

扫描LV:lvscan

查看LV:lvdisplay/lvs

扩展LV:lvextend

缩小LV:lvreduce

删除LV:lvremove

调整LV:lvresize

[root@szm ~]# lvreduce --help
lvreduce: Reduce the size of a logical volume

lvreduce
[-A|--autobackup y|n]
[-d|--debug]
[-f|--force]
[-h|--help]
{-l|--extents [-]LogicalExtentsNumber[%{VG|LV|FREE|ORIGIN}] |
-L|--size [-]LogicalVolumeSize[bBsSkKmMgGtTpPeE]}
[-n|--nofsck]
[--noudevsync]
[-r|--resizefs]
[-t|--test]
[-v|--verbose]
[-y|--yes]
[--version]
LogicalVolume[Path]

[root@szm ~]# lvremove --help
lvremove: Remove logical volume(s) from the system

lvremove
[-A|--autobackup y|n]
[-d|--debug]
[-f|--force]
[-h|--help]
[--noudevsync]
[-t|--test]
[-v|--verbose]
[--version]
LogicalVolume[Path] [LogicalVolume[Path]...]

[root@szm ~]# lvresize --help
lvresize: Resize a logical volume

lvresize
[-A|--autobackup y|n]
[--alloc AllocationPolicy]
[-d|--debug]
[-f|--force]
[-h|--help]
[-i|--stripes Stripes [-I|--stripesize StripeSize]]
{-l|--extents [+|-]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN}] |
-L|--size [+|-]LogicalVolumeSize[bBsSkKmMgGtTpPeE]}
[-n|--nofsck]
[--noudevsync]
[-r|--resizefs]-----重新设置LV的容量
[-t|--test]
[--type VolumeType]
[-v|--verbose]
[--version]
LogicalVolume[Path] [ PhysicalVolumePath... ]

lvresiz命令综合了lvreduce和lvextend
生成逻辑卷:

[root@szm ~]# lvcreate -L 10M -n lv01 vg1
Rounding up size to full physical extent 12.00 MiB
Logical volume "lv01" created

[root@szm ~]# lvscan
ACTIVE '/dev/vg1/lv01' [12.00 MiB] inherit
ACTIVE '/dev/szmvg/szmspace' [108.00 MiB] inherit
ACTIVE '/dev/vg_szm/lv_root' [17.76 GiB] inherit
ACTIVE '/dev/vg_szm/lv_swap' [1.75 GiB] inherit

[root@szm ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
szmspace szmvg -wi-a---- 108.00m
lv01 vg1 -wi-a---- 12.00m
lv_root vg_szm -wi-ao--- 17.76g
lv_swap vg_szm -wi-ao--- 1.75g

[root@szm ~]# lvdisplay /dev/vg1/lv01
--- Logical volume ---
LV Path /dev/vg1/lv01
LV Name lv01
VG Name vg1
LV UUID rz5p39-N2BZ-Ar91-oBM8-OtHF-WBuZ-wRLqhP
LV Write Access read/write
LV Creation host, time szm, 2013-03-11 23:01:25 +0800
LV Status available
# open 0
LV Size 12.00 MiB
Current LE 3
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3

测试逻辑卷是否可用:
[root@szm ~]# mkfs.ext3 /dev/vg1/lv01

[root@szm ~]# mkdir /mnt/lv01
[root@szm ~]# mount /dev/vg1/lv01 /mnt/lv01/
[root@szm ~]# mount | grep -i lv01
/dev/mapper/vg1-lv01 on /mnt/lv01 type ext3 (rw)
[root@szm ~]# touch /mnt/lv01/test
[root@szm ~]# ll /mnt/lv01/test
-rw-r--r--. 1 root root 0 Mar 11 23:06 /mnt/lv01/test

放大逻辑卷的容量:

需要配合resize2fs命令更新LV的描述符及文件系统块组的信息实现文件系统弹性调整的目的。且命令支持在线调整功能
[root@szm ~]# resize2fs --help
resize2fs 1.41.12 (17-May-2010)
resize2fs: invalid option -- '-'
Usage: resize2fs [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]

-S:调整阵列的Stride值
-p:显示调整进度
-f:强制调整文件系统大小
-F:执行调整前先刷新缓存

[root@szm ~]# lvextend -L +10M /dev/vg1/lv01
Rounding size to boundary between physical extents: 12.00 MiB
Extending logical volume lv01 to 24.00 MiB
Logical volume lv01 successfully resized

[root@szm ~]# lvdisplay /dev/vg1/lv01
--- Logical volume ---
LV Path /dev/vg1/lv01
LV Name lv01
VG Name vg1
LV UUID rz5p39-N2BZ-Ar91-oBM8-OtHF-WBuZ-wRLqhP
LV Write Access read/write
LV Creation host, time szm, 2013-03-11 23:01:25 +0800
LV Status available
# open 1
LV Size 24.00 MiB
Current LE 6
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:3

------------大小没有变:

[root@szm ~]# df -h | grep -i lv01
/dev/mapper/vg1-lv01 12M 1.2M 10M 11% /mnt/lv01

[root@szm ~]# resize2fs -p /dev/vg1/lv01
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg1/lv01 is mounted on /mnt/lv01; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg1/lv01 to 24576 (1k) blocks.
The filesystem on /dev/vg1/lv01 is now 24576 blocks long.

大小变了
[root@szm ~]# df -h | grep -i lv01
/dev/mapper/vg1-lv01 24M 1.2M 22M 5% /mnt/lv01

缩小逻辑卷的容量:

1)执行缩小之前,逻辑卷必须先卸载
2)执行文件系统调整命令之前需要检查文件系统的安全性与数据完整性
3)使用resize2fs命令进行文件系统调整之前一定要明确可以缩小的磁盘空间
4)最后才能使用lvreduce命令释放磁盘空间
[root@szm ~]# pvscan | grep vg1
PV /dev/sdb6 VG vg1 lvm2 [12.00 MiB / 0 free]
PV /dev/sdb7 VG vg1 lvm2 [12.00 MiB / 0 free]
PV /dev/sdb8 VG vg1 lvm2 [12.00 MiB / 12.00 MiB free]
PV /dev/sdb9 VG vg1 lvm2 [12.00 MiB / 12.00 MiB free]

[root@szm ~]# pvdisplay /dev/sdb8
--- Physical volume ---
PV Name /dev/sdb8
VG Name vg1
PV Size 15.66 MiB / not usable 3.66 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 3
Free PE 3
Allocated PE 0
PV UUID roewki-K4H5-ogrZ-Kr4o-l0jL-bRfc-3kjvdJ

[root@szm ~]# df -h | grep lv01
/dev/mapper/vg1-lv01 24M 1.2M 22M 5% /mnt/lv01

[root@szm ~]# e2fsck -f /dev/vg1/lv01
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg1/lv01: 12/4608 files (0.0% non-contiguous), 1726/24576 blocks

[root@szm ~]# resize2fs /dev/vg1/lv01 18M
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg1/lv01 to 18432 (1k) blocks.
The filesystem on /dev/vg1/lv01 is now 18432 blocks long.

[root@szm ~]# lvreduce -L 18M /dev/vg1/lv01
Rounding size to boundary between physical extents: 20.00 MiB
WARNING: Reducing active logical volume to 20.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv01? [y/n]: y
Reducing logical volume lv01 to 20.00 MiB
Logical volume lv01 successfully resized

[root@szm ~]# mount /dev/vg1/lv01 /mnt/lv01/
[root@szm ~]# df -h /mnt/lv01/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv01 18M 1.2M 16M 7% /mnt/lv01
[root@szm ~]# ll /mnt/lv01/
total 14
drwx------. 2 root root 12288 Mar 11 23:05 lost+found
-rw-r--r--. 1 root root 17 Mar 11 23:28 test

[root@szm ~]# pvscan | grep -i sdb
PV /dev/sdb6 VG vg1 lvm2 [12.00 MiB / 0 free]
PV /dev/sdb7 VG vg1 lvm2 [12.00 MiB / 4.00 MiB free]
PV /dev/sdb8 VG vg1 lvm2 [12.00 MiB / 12.00 MiB free]
PV /dev/sdb9 VG vg1 lvm2 [12.00 MiB / 12.00 MiB free]
PV /dev/sdb5 VG szmvg lvm2 [108.00 MiB / 0 free]

[root@szm ~]# vgreduce vg1 /dev/sdb9
Removed "/dev/sdb9" from volume group "vg1"

[root@szm ~]# pvscan | grep -i sdb
PV /dev/sdb6 VG vg1 lvm2 [12.00 MiB / 0 free]
PV /dev/sdb7 VG vg1 lvm2 [12.00 MiB / 4.00 MiB free]
PV /dev/sdb8 VG vg1 lvm2 [12.00 MiB / 12.00 MiB free]
PV /dev/sdb5 VG szmvg lvm2 [108.00 MiB / 0 free]
PV /dev/sdb9 lvm2 [15.66 MiB]

[root@szm ~]# pvremove /dev/sdb9
Labels on physical volume "/dev/sdb9" successfully wiped
[root@szm ~]# pvscan | grep -i sdb
PV /dev/sdb6 VG vg1 lvm2 [12.00 MiB / 0 free]
PV /dev/sdb7 VG vg1 lvm2 [12.00 MiB / 4.00 MiB free]
PV /dev/sdb8 VG vg1 lvm2 [12.00 MiB / 12.00 MiB free]
PV /dev/sdb5 VG szmvg lvm2 [108.00 MiB / 0 free]

pv的移动;
[root@szm ~]# pvmove /dev/sdb7 /dev/sdb8
/dev/sdb7: Moved: 0.0%
/dev/sdb7: Moved: 100.0%
[root@szm ~]# pvscan | grep -i sdb
PV /dev/sdb6 VG vg1 lvm2 [12.00 MiB / 0 free]
PV /dev/sdb7 VG vg1 lvm2 [12.00 MiB / 12.00 MiB free]
PV /dev/sdb8 VG vg1 lvm2 [12.00 MiB / 4.00 MiB free]
PV /dev/sdb5 VG szmvg lvm2 [108.00 MiB / 0 free]

逻辑卷快照管理:

在使用常规工具备份时,无法控制备份的数据都处于同一状态。如:内在相对于硬盘中的数据是不一样的。为了实现数据的完整性传统做法是以只读方式挂载一个分区,再配合其他的处理机制如:对数据表加锁或者关闭引擎等;但是这些措施反面影响可用性;
使用逻辑卷快照可以在无损可用性的情况下完成一致性的备份。请注意,快照只对LVM的分区有效。逻辑卷快照能够把文件系统的改变存储在一个快照分区,而不是对这个分区做镜像,因此在创建快照分区时,可以小于原始分区。如果一个LVM分区的改变量超过了快照的大小,那么快照就会被释放。原始数据变化越快,快照的生命周期就越短。
[root@szm ~]# lvs | grep vg1

lv01 vg1 -wi-ao--- 20.00m

[root@szm ~]# lvcreate -L +10M -s -n snap-lv01 /dev/vg1/lv01

Rounding up size to full physical extent 12.00 MiB

Logical volume "snap-lv01" created

[root@szm ~]# lvs | grep vg1
lv01 vg1 owi-aos-- 20.00m
snap-lv01 vg1 swi-a-s-- 12.00m lv01 0.10

[root@szm ~]# mkdir /mnt/snap

[root@szm ~]# mount /dev/vg1/lv01 /mnt/snap/

[root@szm ~]# df -h /mnt/snap/

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg1-lv01 18M 1.2M 16M 7% /mnt/snap

内容完全相同:

[root@szm ~]# ls /mnt/snap/

lost+found test

[root@szm ~]# ls /mnt/lv01/

lost+found test

[root@szm ~]# dd if=/dev/zero of=/mnt/lv01/snaptestfile.txt bs=1M count=5
5+0 records in
5+0 records out
5242880 bytes (5.2 MB) copied, 0.110309 s, 47.5 MB/s

[root@szm ~]# ls /mnt/lv01/
lost+found snaptestfile.txt test

[root@szm ~]# ls /mnt/snap/-----------------当原始分区发生改变时,快照也发生了改变
lost+found snaptestfile.txt test

[root@szm ~]# lvs | grep vg1

lv01 vg1 owi-aos-- 20.00m

snap-lv01 vg1 swi-a-s-- 12.00m lv01 42.58 --------快照分区的使用率为42.58

[root@szm ~]# lvdisplay /dev/vg1/snap-lv01

--- Logical volume ---

LV Path /dev/vg1/snap-lv01

LV Name snap-lv01

VG Name vg1

LV UUID G1CQWH-lyt1-PJEd-LucP-qafN-tRnz-dFjObX

LV Write Access read/write

LV Creation host, time szm, 2013-03-12 09:01:44 +0800

LV snapshot status active destination for lv01

LV Status available

# open 0

LV Size 20.00 MiB

Current LE 5

COW-table size 12.00 MiB

COW-table LE 3

Allocated to snapshot 42.58%-------分配大小

Snapshot chunk size 4.00 KiB

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 256

Block device 253:4

删除逻辑卷:

1)卸载要删除的LVM文件系统(包括快照分区)并删除/etc/fstab内的相应挂载记录;

2)使用lvremove删除逻辑卷(LV),如果LV上建有快照分区就得先删除快照分区;

3)使用vgremove删除不包含任何VL分区的卷组VG;

4)使用pvremove删除物理卷PV,最后更改硬盘分区表;

第一步=================================

[root@szm ~]# mount | grep -i vg1

/dev/mapper/vg1-lv01 on /mnt/lv01 type ext3 (rw)

/dev/mapper/vg1-lv01 on /mnt/snap type ext3 (rw)

[root@szm ~]# umount /mnt/lv01/

[root@szm ~]# umount /mnt/snap/

第二步==================================

[root@szm ~]# lvremove /dev/vg1/snap-lv01
Do you really want to remove active logical volume snap-lv01? [y/n]: y
Logical volume "snap-lv01" successfully removed

[root@szm ~]# lvremove /dev/vg1/lv01
Do you really want to remove active logical volume lv01? [y/n]: y
Logical volume "lv01" successfully removed

第三步===================================

[root@szm ~]# vgs
VG #PV #LV #SN Attr VSize VFree
szmvg 1 1 0 wz--n- 108.00m 0
vg1 3 0 0 wz--n- 36.00m 36.00m
vg_szm 1 2 0 wz--n- 19.51g 0

[root@szm ~]# vgremove vg1
Volume group "vg1" successfully removed

第四步====================================

[root@szm ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_szm lvm2 a-- 19.51g 0
/dev/sdb5 szmvg lvm2 a-- 108.00m 0
/dev/sdb6 lvm2 a-- 15.66m 15.66m
/dev/sdb7 lvm2 a-- 15.66m 15.66m
/dev/sdb8 lvm2 a-- 15.66m 15.66m

[root@szm ~]# pvremove /dev/sdb8
Labels on physical volume "/dev/sdb8" successfully wiped
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息