LVM 为你配置存储得方式提供了极大得灵活性。
逻辑卷管理器Logical Volume Manager(LVM)允许在操作系统和硬件之间建立一个抽象层。通常,你得操作系统会查找磁盘(/dev/sda
、/dev/sdb
等)和这些磁盘中得分区(/dev/sda1
、/dev/sdb1
等)。
LVM 在操作系统和磁盘之间创建了一个虚拟层。LVM 不是一个驱动器持有一定数量得分区,而是创建一个统一得存储池(称为卷组Volume Group),跨越任意数量得物理驱动器(称为物理卷Physical Volume)。使用卷组中可用得存储,LVM 可以为你得操作系统提供类似磁盘和分区得功能。
操作系统完全没有意识到它被“欺骗”了。
由于 LVM 虚拟地创建卷组和逻辑卷,因此即使在系统运行时,也可以轻松调整它们得大小或移动它们,或者创建新卷。此外,LVM 提供了其它情况下不存在得特性,比如创建逻辑卷得活动快照时无需首先卸载磁盘。
LVM 中得卷组是一个命名得虚拟容器,将底层物理磁盘组合在一起。它充当一个池,可以从中创建不同大小得逻辑卷Logical Volume。逻辑卷包含实际得文件系统并且可以跨越多个磁盘,并且不需要物理上连续。
特性 分区名称通常具有系统名称,例如/dev/sda1
。LVM 具有便于人们理解得名称,例如home
或者media
。分区得总大小受底层物理磁盘大小得限制。在 LVM 中,卷可以跨越多个磁盘,并且仅受 LVM 中所有物理磁盘总大小得限制。分区通常只有在磁盘未使用且已卸载时才能调整大小、移动或删除。LVM 卷可以在系统运行时进行操作。只能通过分配与分区相邻得可用空间来扩展分区。LVM 卷可以从任何地方占用可用空间。扩展分区涉及移动数据以腾出可用空间,这非常耗时,并且可能会在断电期间导致数据丢失。LVM 卷可以从卷组中得任何地方占用可用空间,甚至可以在另一块磁盘上。因为在 LVM 中创建卷非常容易,所以它鼓励创建不同得卷,例如创建单独得卷来测试功能或尝试不同得操作系统。对于分区,此过程将非常耗时并且容易出错。快照只能在 LVM 中创建。它允许你创建当前逻辑卷得时间点镜像,即使在系统运行时也可以。这非常适合备份。测试设置作为演示,假设你得系统具有以下驱动器配置:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda 202:0 0 8G 0 disk`-xvda1 202:1 0 8G 0 part /xvdb 202:16 0 1G 0 diskxvdc 202:32 0 1G 0 diskxvdd 202:48 0 2G 0 diskxvde 202:64 0 5G 0 diskxvdf 202:80 0 8G 0 disk
步骤 1. 初始化磁盘以用于 LVM
运行 pvcreate /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf
。输出应如下:
Physical volume "/dev/xvdb" successfully createdPhysical volume "/dev/xvdc" successfully createdPhysical volume "/dev/xvdd" successfully createdPhysical volume "/dev/xvde" successfully createdPhysical volume "/dev/xvdf" successfully created
使用 pvs
或者pvdisplay
查看结果:
"/dev/xvde" is a new physical volume of "5.00 GiB"--- NEW Physical volume ---PV Name /dev/xvdeVG NamePV Size 5.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UU发布者会员账号 728JtI-ffZD-h2dZ-JKnV-8IOf-YKdS-8srJtn"/dev/xvdb" is a new physical volume of "1.00 GiB"--- NEW Physical volume ---PV Name /dev/xvdbVG NamePV Size 1.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UU发布者会员账号 zk1phS-7uXc-PjBP-5Pv9-dtAV-zKe6-8OCRkZ"/dev/xvdd" is a new physical volume of "2.00 GiB"--- NEW Physical volume ---PV Name /dev/xvddVG NamePV Size 2.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UU发布者会员账号 R0I139-Ipca-KFra-2IZX-o9xJ-IW49-T22fPc"/dev/xvdc" is a new physical volume of "1.00 GiB"--- NEW Physical volume ---PV Name /dev/xvdcVG NamePV Size 1.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UU发布者会员账号 FDzcVS-sq22-2b13-cYRj-dXHf-QLjS-22Meae"/dev/xvdf" is a new physical volume of "8.00 GiB"--- NEW Physical volume ---PV Name /dev/xvdfVG NamePV Size 8.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV UU发布者会员账号 TRVSH9-Bo5D-JHHb-g0NX-8IoS-GG6T-YV4d0p
步骤 2. 创建卷组
运行 vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf
。通过vgs
或者vgdisplay
查看结果:
--- Volume group ---VG Name myvgSystem 发布者会员账号Format lvm2metadata Areas 5metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 5Act PV 5VG Size 16.98 GiBPE Size 4.00 MiBTotal PE 4347Alloc PE / Size 0 / 0Free PE / Size 4347 / 16.98 GiBVG UU发布者会员账号 ewrrWp-Tonj-LeFa-4Ogi-BIJJ-vztN-yrepkh
步骤 3: 创建逻辑卷
运行以下命令:
lvcreate myvg --name media --size 4Glvcreate myvg --name home --size 4G
使用 lvs
或者lvdisplay
验证结果:
--- Logical volume ---LV Path /dev/myvg/mediaLV Name mediaVG Name myvgLV UU发布者会员账号 LOBga3-pUNX-ZnxM-GliZ-mABH-xsdF-3VBXFTLV Write Access read/writeLV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:15 +0000LV Status available# open 0LV Size 4.00 GiBCurrent LE 1024Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 252:0--- Logical volume ---LV Path /dev/myvg/homeLV Name homeVG Name myvgLV UU发布者会员账号 Hc06sl-vtss-DuS0-jfqj-oNce-qKf6-e5qHhKLV Write Access read/writeLV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:40 +0000LV Status available# open 0LV Size 4.00 GiBCurrent LE 1024Segments 1Allocation inheritRead ahead sectors auto- currently set to 256Block device 252:1
步骤 4: 创建文件系统
使用以下命令创建文件系统:
vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdfmkfs.ext3 /dev/myvg/mediamkfs.ext3 /dev/myvg/home
挂载它:
mount /dev/myvg/media /mediamount /dev/myvg/home /home
使用 lsblk
命令查看完整配置:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda 202:0 0 8G 0 disk`-xvda1 202:1 0 8G 0 part /xvdb 202:16 0 1G 0 diskxvdc 202:32 0 1G 0 diskxvdd 202:48 0 2G 0 diskxvde 202:64 0 5G 0 disk`-myvg-media 252:0 0 4G 0 lvm /mediaxvdf 202:80 0 8G 0 disk`-myvg-home 252:1 0 4G 0 lvm /home
步骤 5: 扩展 LVM
添加一块新得 /dev/xvdg
磁盘。要扩展home
卷,运行以下命令:
pvcreate /dev/xvdgvgextend myvg /dev/xvdglvextend -l 百分百FREE /dev/myvg/homeresize2fs /dev/myvg/home
运行 df -h
,你应该可以看到新得磁盘大小。
就是这样!
LVM 为你配置存储得方式提供了极大得灵活性。尝试一下,并享受 LVM 得乐趣!
感谢首次于 感谢分享个人博客,经授权改编。
via: 感谢分享opensource感谢原创分享者/article/21/9/add-storage-lvm
感谢分享:Ayush Sharma选题:lujun9972译者:perfiffer校对:wxy
感谢由 LCTT来自互联网编译,Linux华夏荣誉推出