《2022年LinuxLVM的使用教程 .pdf》由会员分享,可在线阅读,更多相关《2022年LinuxLVM的使用教程 .pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LVM(Logical Volume Manager):逻辑卷管理。它最大的功能不是提高磁盘的效能或是安全,而是能在线扩大或缩小磁盘容量。基本理念是先将文件系统分区(如 sda1,sdb2,sdc1)创建为物理卷(PV:Physical Volume),再将多個 PV创建为卷组(VG:Volume Group),然后在 VG 上建立逻辑卷(LV:Logical Volume),最后对 LV格式化挂载使用。扩大容量即将文件创建为PV加入 VG,再对 LV 复設定大小。缩小容量则是先对LV 重设定大小(减小容量了),再将要移除的 PV 上的数据转移到其它PV 上,最后将 PV移出 VG 以达到减小
2、容量目的。在 LVM 的世界里还有一个概念需要理解,PE(Physical Exten):LVM最小可存储单元,类似于磁盘的 block 概念。默认一个 PE=4MB,一个 VG 组里最多可有 65534 个 PE(256GB),所以 PE越大,VG的最大容量也越大。最好通过 fdisk 将要创建为 PV的分区的 System ID 改为 8e;lvm 数据存储有两种方式:线性模式:第一个PV 存完再存下一个PV,这是默认模式;交叉模式:所有数据均匀分布在各个PV 上面。不管哪种数据存储模式,只要有一PV 坏了,整个卷组的数据都丢失。LVM 实例一.磁盘准备:用一个 10GB的硬盘分出 3 个
3、 2.0GB 的分区,并将 System ID 改为 8e,fdisk的用法就不讲了。rootFIHSER-V49#fdisk/dev/hdd rootFIHSER-V49#partprobe#这个指令执行一次rootFIHSER-V49#fdisk-l/dev/hdd Disk/dev/hdd:10.7 GB,10737418240 bytes 15 heads,63 sectors/track,22192 cylinders Units=cylinders of 945*512=483840 bytes Device Boot Start End Blocks Id System/dev/
4、hdd1 1 4439 2097396 8e Linux LVM/dev/hdd2 4440 8878 2097427+8e Linux LVM/dev/hdd3 8879 13317 2097427+8e Linux LVM 二.建立 PV pvcreate:将实体partition 建立成为PV;pvscan:搜寻目前系统里面任何具有PV 的磁盘;pvdisplay:显示出目前系统上面的PV 状态;pvmove s_partition d_partition:将一个 PV 上的数据移至另一个PV上,在减小卷容量以抽离分区时用得着pvremove:将 PV 属性移除,让该partition
5、不具有 PV 属性。rootFIHSER-V49#pvscan No matching physical volumes found#此时是没任何 PV的 rootFIHSER-V49#pvcreate/dev/hdd1,2,3 Physical volume/dev/hdd1 successfully created Physical volume/dev/hdd2 successfully created Physical volume/dev/hdd3 successfully created rootFIHSER-V49#pvscan PV/dev/hdd1 lvm2 2.00 GB
6、PV/dev/hdd2 lvm2 2.00 GB 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 13 页 -PV/dev/hdd3 lvm2 2.00 GB Total:3 6.00 GB/in use:0 0 /in no VG:3 6.00 GB rootFIHSER-V49#pvdisplay/dev/hdd1 is a new physical volume of 2.00 GB-NEW Physical volume-PV Name/dev/hdd1 VG Name PV Size 2.00 GB Allocatable NO PE Size(KByte)0 Tota
7、l PE 0 Free PE 0 Allocated PE 0 PV UUID DfgtVk-Kmsp-3Hf4-rwGD-AdwL-1V2D-y0b49l(后面.)三建立 VG vgcreate-s Nummgt VG_Name PV_Name:建立 VG!-s:接 PE的大小,单位可以是 m,g,t(大小写均可)vgscan:搜寻系统上面是否有VG 存在;vgdisplay:显示目前系统上面的VG 状态;vgextend VG_Name PV_Name:在 VG 内增加额外的PV;vgreduce VG_name partition:在 VG 内移除 PV;vgchange:设定 VG 是
8、否启动(active);vgremove:移除一个VG;rootFIHSER-V49#vgcreate-s 16M VG/dev/hdd1,2,3#设定 PE=16MB Volume group VG successfully created rootFIHSER-V49#vgdisplay-Volume group-VG Name VG System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV
9、0 Max PV 0 Cur PV 3 Act PV 3 VG Size 6.00 GB#3 个 2GB的分区已经创建为卷组了PE Size 16.00 MB Total PE 384#总共有 384 个 PE,每个 16MB Alloc PE/Size 0/0 Free PE/Size 384/6.00 GB 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 13 页 -VG UUID Kyrkwu-v7Zs-QaxL-QThk-3v1b-Q4ja-17IlXO 四创建 LV lvcreate-L Nummgt-s-n LV_name VG_Name:建立 LV。-L:接容量,单
10、位可以是 m,g,t。-l:接 PE的个数,那么则需要自己算空间的大小。-s:创建快照逻辑卷lvscan:查询系统上面的LV;lvdisplay:显示系统上面的LV 状态!lvextend:在 LV 里面增加容量!lvreduce:在 LV 里面减少容量;lvremove:移除一个LV!resize2fs-fdevicesize:-f:强制进行 resize 的动作lvresize-l+/-PE_Num LV_name:对 LV 进行容量大小的调整!rootFIHSER-V49#lvcreate-l 384-n lv VG#前面我们查询到该VG 共有 384 个 PE,我们把所有空间都分给一个
11、逻辑卷Logical volume lv created rootFIHSER-V49#lvdisplay-Logical volume-LV Name/dev/VG/lv VG Name VG LV UUID lmzRoc-4vtA-xDHS-eIiH-ixiL-9unA-PennPh LV Write Access read/write LV Status available#open 0 LV Size 6.00 GB Current LE 384 Segments 3 Allocation inherit Read ahead sectors auto-currently set to
12、 256 Block device 253:0 五文件系统格式化挂载 rootFIHSER-V49#ll/dev/VG/lv#文件系统路径 lrwxrwxrwx 1 root root 17 Apr 28 08:29/dev/VG/lv-/dev/mapper/VG-lv rootFIHSER-V49#mkfs-t ext3/dev/VG/lv rootFIHSER-V49#mkdir/mnt/lvm rootFIHSER-V49#mount/dev/VG/lv/mnt/lvm rootFIHSER-V49#df-h/mnt/lvm/Filesystem Size Used Avail Use
13、%Mounted on /dev/mapper/VG-lv 6.0G 141M 5.5G 3%/mnt/lvm rootFIHSER-V49#cp-a/etc/var/log/mnt/lvm#拷点文件进来方便到时候测试,至此 LVM 已完全建立起来了。当然,上面实例中你也可以在一个卷组中创建多个逻辑卷。下面演示如何增大和缩小LV 的容量。六增大 LV 的容量依前面步骤再创建一个PV(/dev/hdd5),这里不演示。rootFIHSER-V49#vgextend VG/dev/hdd5#扩展 VG 卷组Volume group VG successfully extended 名师资料总结-精
14、品资料欢迎下载-名师精心整理-第 3 页,共 13 页 -rootFIHSER-V49#vgdisplay-Volume group-VG Name VG System ID Format lvm2 Metadata Areas 4 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 4 Act PV 4 VG Size 9.98 GB PE Size 16.00 MB Total PE 639#看到没有,之前总共的PE是 384
15、Alloc PE/Size 384/6.00 GB Free PE/Size 255/3.98 GB#255 个 PE是新增的是没有用到的VG UUID Kyrkwu-v7Zs-QaxL-QThk-3v1b-Q4ja-17IlXO rootFIHSER-V49#lvresize-l+255/dev/VG/lv#将新加入的 PV 分配给逻辑卷Extending logical volume lv to 9.98 GB Logical volume lv successfully resized rootFIHSER-V49#df-h/mnt/lvm Filesystem Size Used Av
16、ail Use%Mounted on /dev/mapper/VG-lv 6.0G 250M 5.4G 5%/mnt/lvm#大小没变 rootFIHSER-V49#resize2fs/dev/VG/lv resize2fs 1.39(29-May-2006)Filesystem at/dev/VG/lv is mounted on/mnt/lvm;on-line resizing required Performing an on-line resize of/dev/VG/lv to 2617344(4k)blocks.The filesystem on/dev/VG/lv is now
17、2617344 blocks long.rootFIHSER-V49#df-h/mnt/lvm Filesystem Size Used Avail Use%Mounted on /dev/mapper/VG-lv 9.9G 252M 9.1G 3%/mnt/lvm#容量变大了吧,而且里面的数据完全没有发生变化哦。七减小 LV 的容量名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 13 页 -刚才演示了如何增大LV 的容量,现在演示如何在线减小LV 的容量,现在我将/dev/hdd1 抽离出来以减小容量。rootFIHSER-V49#pvdisplay-Physical volu
18、me-PV Name/dev/hdd1 VG Name VG PV Size 2.00 GB/not usable 244.00 KB Allocatable yes(but full)PE Size(KByte)16384 Total PE 128#我们看到/dev/hdd1 共有 128 个 PE Free PE 0 Allocated PE 128 PV UUID DfgtVk-Kmsp-3Hf4-rwGD-AdwL-1V2D-y0b49l rootFIHSER-V49#pvscan/dev/cdrom:open failed:Read-only file system Attempt
19、to close device/dev/cdrom which is not open.PV/dev/hdd1 VG VG lvm2 2.00 GB/0 free PV/dev/hdd2 VG VG lvm2 2.00 GB/0 free PV/dev/hdd3 VG VG lvm2 2.00 GB/0 free PV/dev/hdd5 VG VG lvm2 3.98 GB/0 free Total:4 9.98 GB/in use:4 9.98 GB/in no VG:0 0 所以,扣除要抽离的/dev/hdd1,剩下的容量将会是7.98GB rootFIHSER-V49#umount/mn
20、t/lvm rootFIHSER-V49#resize2fs/dev/VG/lv 7980M resize2fs 1.39(29-May-2006)Please run e2fsck-f/dev/VG/lv first.#提示你先执行一下e2fsck rootFIHSER-V49#e2fsck-f/dev/VG/lv e2fsck 1.39(29-May-2006)Pass 1:Checking inodes,blocks,and sizes Pass 2:Checking directory structure Pass 3:Checking directory connectivity 名
21、师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 13 页 -Pass 4:Checking reference counts Pass 5:Checking group summary information /dev/VG/lv:3264/1310720 files(0.1%non-contiguous),105495/2617344 blocks rootFIHSER-V49#resize2fs/dev/VG/lv 7980M resize2fs 1.39(29-May-2006)Resizing the filesystem on/dev/VG/lv to 2042880(4
22、k)blocks.The filesystem on/dev/VG/lv is now 2042880 blocks long.rootFIHSER-V49#mount/dev/VG/lv/mnt/lvm rootFIHSER-V49#df-h/mnt/lvm Filesystem Size Used Avail Use%Mounted on /dev/mapper/VG-lv 7.7G 252M 7.2G 4%/mnt/lvm#看到没有,容量是变小了,可是/dev/hdd1 还没有抽离出来啊。rootFIHSER-V49#lvresize-l-128/dev/VG/lv#通过 pvdispl
23、ay 查看我们知道/dev/hdd1 有 128 个 PE WARNING:Reducing active and open logical volume to 7.98 GB THIS MAY DESTROY YOUR DATA(filesystem etc.)Do you really want to reduce lv?y/n:y Reducing logical volume lv to 7.98 GB Logical volume lv successfully resized rootFIHSER-V49#pvdisplay-Physical volume-PV Name/dev/
24、hdd1 VG Name VG PV Size 2.00 GB/not usable 244.00 KB Allocatable yes(but full)PE Size(KByte)16384 Total PE 128 Free PE 0#/dev/hdd1的所有 PE都被占用了Allocated PE 128 PV UUID DfgtVk-Kmsp-3Hf4-rwGD-AdwL-1V2D-y0b49l 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 13 页 -Physical volume-PV Name/dev/hdd2 VG Name VG PV Size 2.00 G
25、B/not usable 275.50 KB Allocatable yes(but full)PE Size(KByte)16384 Total PE 128 Free PE 0#/dev/hdd2的所有 PE都被占用了Allocated PE 128 PV UUID FaOEtF-Nrkt-YFZ7-MabT-PB73-I0M1-74iCZ3-Physical volume-PV Name/dev/hdd3 VG Name VG PV Size 2.00 GB/not usable 275.50 KB Allocatable yes(but full)PE Size(KByte)16384
26、 Total PE 128 Free PE 0#/dev/hdd3的所有 PE都被占用了Allocated PE 128 PV UUID 0WtnxJ-PnaZ-Pwy4-iX23-Jbzr-7R1P-ojqXvo-Physical volume-PV Name/dev/hdd5 VG Name VG PV Size 4.00 GB/not usable 15.12 MB Allocatable yes PE Size(KByte)16384 Total PE 255 Free PE 128#唉,新释放出来的PE全部在/dev/hdd5 上面Allocated PE 127 PV UUID Q
27、kZsmB-D5tA-ppRb-vwP1-Csl0-2p41-VFw3Da 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 13 页 -看到没有新释放出来的PE全部在/dev/hdd5 上面,证明了 LVM 线性数据存储方式了吧。可是我们要抽离的/dev/hdd1 啊,所以我们要把数据从/dev/hdd1 转移到/dev/hdd5 上面 rootFIHSER-V49#pvmove/dev/hdd1/dev/hdd5/dev/hdd1:Moved:100.0%rootFIHSER-V49#vgreduce VG/dev/hdd1#将/dev/hdd1 从卷组中抽离出去Removed
28、/dev/hdd1 from volume group VG rootFIHSER-V49#pvscan PV/dev/hdd2 VG VG lvm2 2.00 GB/0 freePV/dev/hdd3 VG VG lvm2 2.00 GB/0 free PV/dev/hdd5 VG VG lvm2 3.98 GB/0 freePV/dev/hdd1 lvm2 2.00 GB Total:4 9.98 GB/in use:3 7.98 GB/in no VG:1 2.00 GB 将/dev/hdd1 还原为普通的分区,System ID 记得也改回 83。rootFIHSER-V49#pvre
29、move/dev/hdd1 Labels on physical volume/dev/hdd1 successfully wiped 至此所有工作结束,/dev/hdd1完全从卷组抽离出来,属于自由之身。LVM 系统快照建立实例一建立快照区接上实例,由于VG 卷组已经没有剩余的空间来创建快照区了,全部分给了lv这个卷嘛,所以我们重新将/dev/hdd1加入卷组来做快照区了(麻烦,再将/dev/hdd1变回 PV 之身吧)。1.将/dev/hdd1建立为 PV(不要忘了先改System ID)rootFIHSER-V49#pvcreate/dev/hdd1 Physical volume/de
30、v/hdd1 successfully created 2.将/dev/hdd1加入卷组rootFIHSER-V49#vgextend VG/dev/hdd1/dev/cdrom:open failed:Read-only file system Attempt to close device/dev/cdrom which is not open.Volume group VG successfully extended rootFIHSER-V49#vgdisplay 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 13 页 -Volume group-VG Name VG
31、System ID Format lvm2 Metadata Areas 4 Metadata Sequence No 10 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 4 Act PV 4 VG Size 9.98 GB PE Size 16.00 MB Total PE 639 Alloc PE/Size 511/7.98 GB Free PE/Size 128/2.00 GB#新加入的 PV,用来做快照区VG UUID Kyrkwu-v7Zs-QaxL-QThk-
32、3v1b-Q4ja-17IlXO 3.建立快照区域rootFIHSER-V49#lvcreate-l 128-s-n VG_ss/dev/VG/lv Logical volume VG_ss created rootFIHSER-V49#lvdisplay-Logical volume-LV Name/dev/VG/VG_ss VG Name VG LV UUID OXjCue-UcCp-zWGI-54Qg-TyYs-QKY3-YSlOJt LV Write Access read/write 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 13 页 -LV snapshot s
33、tatus active destination for/dev/VG/lv LV Status available#open 0 LV Size 7.98 GB Current LE 511 COW-table size 2.00 GB COW-table LE 128 Allocated to snapshot 0.00%Snapshot chunk size 4.00 KB Segments 1 Allocation inherit Read ahead sectors auto-currently set to 256 Block device 253:1 4.挂载快照区rootFIH
34、SER-V49#mkdir/mnt/snapshot rootFIHSER-V49#mount/dev/VG/VG_ss/mnt/snapshot rootFIHSER-V49#df-h Filesystem Size Used Avail Use%Mounted on/dev/hda3 29G 9.2G 18G 35%/dev/hda1 99M 12M 83M 12%/boot/dev/hdb1 50G 2.5G 45G 6%/p1 tmpfs 1014M 0 1014M 0%/dev/shm/dev/mapper/VG-lv 7.7G 252M 7.2G 4%/mnt/lvm/dev/ma
35、pper/VG-VG_ss 7.7G 252M 7.2G 4%/mnt/snapshot 看到没有,快照区和被快照的是一样的。解除挂载,我们来还原试试看5.还原测试rootFIHSER-V49#umount/mnt/snapshot 先查看被快照区里面有哪些东西吧名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 13 页 -rootFIHSER-V49#ll/mnt/lvm total 40 drwxr-xr-x 123 root root 12288 Apr 28 09:40 etc drwxr-xr-x 26 root root 4096 Apr 28 06:57 log d
36、rwx-2 root root 16384 Apr 28 09:39 lost+found 删除被快照区的一些东西rootFIHSER-V49#rm-r/mnt/lvm/log 再复制点新东西进去以彰显和以前不一样了嘛rootFIHSER-V49#cp-a/boot/lib/mnt/lvm 再来看看快照区有什么不一样了rootFIHSER-V49#lvdisplay/dev/VG/VG_ss-Logical volume-LV Name/dev/VG/VG_ss VG Name VG LV UUID OXjCue-UcCp-zWGI-54Qg-TyYs-QKY3-YSlOJt LV Write
37、 Access read/write LV snapshot status active destination for/dev/VG/lv LV Status available#open 0 LV Size 7.98 GB Current LE 511 COW-table size 2.00 GB COW-table LE 128 Allocated to snapshot 4.18%#不再是 0.00%,说明确实有快照东西了Snapshot chunk size 4.00 KB Segments 1 Allocation inherit Read ahead sectors auto-c
38、urrently set to 256 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 13 页 -Block device 253:1 利用快照区将原本的filesystem备份rootFIHSER-V49#mount/dev/VG/VG_ss/mnt/snapshot rootFIHSER-V49#df-h Filesystem Size Used Avail Use%Mounted on/dev/hda3 29G 9.2G 18G 35%/dev/hda1 99M 12M 83M 12%/boot/dev/hdb1 50G 2.5G 45G 6%/p1 tmpfs 101
39、4M 0 1014M 0%/dev/shm/dev/mapper/VG-lv 7.7G 330M 7.1G 5%/mnt/lvm/dev/mapper/VG-VG_ss 7.7G 252M 7.2G 4%/mnt/snapshot 格式化被快照区的东西rootFIHSER-V49#umount/mnt/lvm/rootFIHSER-V49#mkfs-t ext3/dev/VG/lv rootFIHSER-V49#mount/dev/VG/lv/mnt/lvm 原被快照区里的东西全部都回来了。这里有一个问题,那就是你的快照区要足够大容纳被快照区里面被改的数据,比如格式化被快照区时则全部的数据会搬
40、一份至快照区rootFIHSER-V49#cp-rf/mnt/snapshot/*/mnt/lvm rootFIHSER-V49#ll-al/mnt/lvm/total 48 drwxr-xr-x 6 root root 4096 Apr 28 11:21.drwxr-xr-x 4 root root 4096 Apr 28 11:06.drwxr-xr-x 123 root root 12288 Apr 28 11:21 etc drwxr-xr-x 26 root root 4096 Apr 28 11:21 log drwx-2 root root 16384 Apr 28 11:18
41、lost+found LVM 的删除一解除挂载rootFIHSER-V49#umount/mnt/lvm rootFIHSER-V49#umount/mnt/snapshot/名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 13 页 -二移除逻辑卷rootFIHSER-V49#lvremove/dev/VG/VG_ss Do you really want to remove active logical volume VG_ss?y/n:y Logical volume VG_ss successfully removed rootFIHSER-V49#lvremove/de
42、v/VG/lv Do you really want to remove active logical volume lv?y/n:y Logical volume lv successfully removed 三移除卷组rootFIHSER-V49#vgchange-a n VG 0 logical volume(s)in volume group VG now active rootFIHSER-V49#vgremove VG/dev/cdrom:open failed:Read-only file system Volume group VG successfully removed
43、四移除物理卷rootFIHSER-V49#pvremove/dev/hdd1,2,3,5 Labels on physical volume/dev/hdd1 successfully wiped Labels on physical volume/dev/hdd2 successfully wiped Labels on physical volume/dev/hdd3 successfully wiped Labels on physical volume/dev/hdd5 successfully wiped 五将 System ID 改回 82 名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 13 页 -