1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Linux运维养成记-磁盘管理LVM 逻辑卷

Linux运维养成记-磁盘管理LVM 逻辑卷

时间:2018-09-04 22:32:25

相关推荐

Linux运维养成记-磁盘管理LVM 逻辑卷

目录

1.LVM 逻辑卷概述2. 创建 LVM 分区实例3.修改 LVM 分区容量4.删除 LVM 分区

1.LVM 逻辑卷概述

随着企业业务的增加,文件系统负载加大,很可能导致空间不足,用传统的分区方式管理磁盘,得把现有的分区删除,然后重新规划新的存储方案,因此我们需要一种管理机制,可以帮我们动态管理存储,而 LVM 就可以提供这种功能。

LVM(Logical Volume Manager)是基于内核的一种逻辑卷管理器,LVM 适合管理大存储设备,并允许用户动态调整文件系统的大小。此外,LVM 的快照功能可以帮助我们快速备份数据。

下面是关于 LVM的几个概念。

物理卷(PV):物理卷是 LVM 的最底层概念,是 LVM 的逻辑存储块,物理卷与磁盘分区是逻辑的对应关系。多个逻辑卷可以组合或拆分,实现容量扩充或缩减。LVM 提供的命令可以将分区转化成物理卷,通过组合生成卷组。卷组(VG):卷组时 LVM 逻辑概念上的磁盘设备,通过单个或多个 PV 组合生成的。物理长度(PE):物理长度为 PV 合成 VG 后,所划分的最小存储单元,PE 默认为 4MB。逻辑卷(LV):逻辑卷是 LVM 逻辑意义分区,我们可以指定从卷组中分多少容量来创建逻辑卷,最后将此逻辑卷挂载使用。

下面是逻辑卷分区的一些命令解释:

pvcreate

描述:使用 LVM 对磁盘或分区进行初始化。

用法:pvcreate [选项] 物理卷 [物理卷…]

例:

pvcreate /dev/sdc2 /dev/sdepvcreate /dev/sdb{1,2,3}

vgcreate

描述:创建卷组。

用法:vgcreate [选项] 卷组名 物理设备路径 [物理设备路径…]

例:

vgcreate test_vg1 /dev/sdb1 /dev/sdb2vgcreate test_vg2 -s 16M /dev/sdb3 /dev/sdb4#-s表示指定 PE 大小为 16MB

lvcreate

描述:从卷组中提取存储空间,创建逻辑卷。

用法:lvcreate [选项] 卷组名或路径 [物理卷路径]

选项:-l:指定使用多少个卷组中的 PE 创建逻辑卷,PE 容量在创建卷组时已定-L:直接指定逻辑卷容量大小-n:指定逻辑卷名

例:

lvcreate -L 2G -n test_lv1 test_vg1#从卷组 test_vg1 中取 2G 创建名为 test_lv1 的逻辑卷lvcreate -l 200 -n test_lv2 test_vg2#使用 200 个 PE 创建名为 test_lv2 的逻辑卷lvcreate -L 2G -n test_lv3 test_vg1 /dev/sdb2#指定 test_lv3 这个逻辑卷使用 test_vg1 下的/dev/sdb2创建

2. 创建 LVM 分区实例

使用之前 sdb 这块磁盘创建两个分区,用这两个创建一个名为 test_vg 的卷组,最后从卷组中创建两个大小为 1G 的逻辑卷,名为 test_web、test_data。

使用 fdiask 创建分区

[root@localhost ~]# fdisk -l...Device BootStart EndBlocks Id System/dev/sdb11 2622104483+ 83 Linux/dev/sdb2 263 13058377897+ 5 Extended#这里已有一个主分区和一个扩展分区,下面将扩展分区创建一个逻辑分区,并修改分区标签LVMCommand (m for help): nCommand actionl logical (5 or over)p primary partition (1-4)l#l 创建逻辑分区First cylinder (263-1305, default 263): Using default value 263Last cylinder, +cylinders or +size{K,M,G} (263-1305, default 1305):+2G#穿件 sdb5 逻辑分区大小为2GCommand (m for help): tPartition number (1-5): 5 #指定分区编号sdb5Hex code (type L to list codes): 8e#改变分区 id 为 LVMChanged system type of partition 5 to 8e (Linux LVM)Command (m for help): pDevice BootStart EndBlocks Id System/dev/sdb11 2622104483+ 83 Linux/dev/sdb2 263 13058377897+ 5 Extended/dev/sdb5 263 5242104483+ 8e Linux LVMCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.partprobe /dev/sdb

pvcreate创建物理卷并使用pvdisplay查看结果

[root@localhost ~]# pvcreate /dev/sdb{1,5}Physical volume "/dev/sdb1" successfully createdPhysical volume "/dev/sdb5" successfully created[root@localhost ~]# pvdisplay"/dev/sdb1" is a new physical volume of "2.01 GiB"--- NEW Physical volume ---PV Name/dev/sdb1VG NamePV Size2.01 GiBAllocatable NOPE Size0 Total PE 0Free PE0Allocated PE0PV UUIDGVq0p6-LA0y-zsVA-NAK4-wyan-qB74-0ajhqM"/dev/sdb5" is a new physical volume of "2.01 GiB"--- NEW Physical volume ---PV Name/dev/sdb5VG NamePV Size2.01 GiBAllocatable NOPE Size0 Total PE 0Free PE0Allocated PE0PV UUIDRU8NUI-1gkC-gaMW-ubHp-LDAz-8xS4-6nbO9J

使用vgcreate创建卷组并使用vgdisplay查看结果

[root@localhost ~]# vgcreate test_vg /dev/sdb{1,5}Volume group "test_vg" successfully created[root@localhost ~]# vgdisplay--- Volume group ---VG Nametest_vgSystem ID Formatlvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV0Cur LV0Open LV0Max PV0Cur PV2Act PV2VG Size4.01 GiB#卷组大小PE Size4.00 MiB#PE 大小Total PE 1026Alloc PE / Size 0 / 0 Free PE / Size 1026 / 4.01 GiBVG UUIDvVhxaV-sX5z-52Sd-vj9N-8jre-CaXZ-gXeFM6

使用lvcreate创建逻辑卷,lvdisplay查看结果

[root@localhost ~]# lvcreate -n test_web -L 1G test_vgLogical volume "test_web" created[root@localhost ~]# lvcreate -n test_data -L 1G test_vgLogical volume "test_data" created[root@localhost ~]# lvdisplay--- Logical volume ---LV Path/dev/test_vg/test_webLV Nametest_webVG Nametest_vgLV UUIDY2B4Eh-fraF-1Szh-1gov-kyCc-vUMi-1ks8czLV Write Access read/writeLV Creation host, time localhost.localdomain, -06-13 07:28:27 -0700LV Status available# open 0LV Size1.00 GiBCurrent LE 256Segments1Allocation inheritRead ahead sectorsauto- currently set to256Block device 253:0--- Logical volume ---LV Path/dev/test_vg/test_dataLV Nametest_dataVG Nametest_vgLV UUIDNIF17d-8Hy0-er6o-Eaus-efks-1xS7-XMlXkJLV Write Access read/writeLV Creation host, time localhost.localdomain, -06-13 07:28:41 -0700LV Status available# open 0LV Size1.00 GiBCurrent LE 256Segments1Allocation inheritRead ahead sectorsauto- currently set to256Block device 253:1

格式化并挂载

[root@localhost ~]# mkfs.ext4 /dev/test_vg/test_web [root@localhost ~]# mkfs.ext4 /dev/test_vg/test_data[root@localhost ~]# mkdir -p /test/{web,data}[root@localhost ~]# cat >> /etc/fstab <<EOF> /dev/test_vg/test_web /test/web/ ext4 defaults 0 0> /dev/test_vg/test_data /test/data/ ext4 defaults 0 0> EOF[root@localhost test]# mount -a[root@localhost test]# df -h#查看挂载结果

3.修改 LVM 分区容量

下面使用lvextend命令调整逻辑卷大小。调整后使用ext4_growfs命令更新文件系统大小,方法如下:

[root@localhost test]# lvextend -L +1G /dev/test_vg/test_data Extending logical volume test_data to 2.00 GiBLogical volume test_data successfully resized[root@localhost test]# lvsLV VGAttr LSize Pool Origin Data% Move Log Cpy%Sync Converttest_data test_vg -wi-ao---- 2.00gtest_web test_vg -wi-ao---- 1.00g[root@localhost test]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda2 18G 2.9G 14G 18% /tmpfs491M 80K 491M 1% /dev/shm/dev/sda1 291M 34M 242M 13% /boot/dev/mapper/test_vg-test_web 1008M 34M 924M 4% /test/web/dev/mapper/test_vg-test_data 1008M 34M 924M 4% /test/data#这里系统文件大小还未变化[root@localhost test]# resize2fs /dev/test_vg/test_data#调整文件系统大小,使之生效resize2fs 1.41.12 (17-May-)Filesystem at /dev/test_vg/test_data is mounted on /test/data; on-line resizing requiredold desc_blocks = 1, new_desc_blocks = 1Performing an on-line resize of /dev/test_vg/test_data to 524288 (4k) blocks.The filesystem on /dev/test_vg/test_data is now 524288 blocks long.[root@localhost test]# df -h#查看结果Filesystem Size Used Avail Use% Mounted on/dev/sda2 18G 2.9G 14G 18% /tmpfs491M 80K 491M 1% /dev/shm/dev/sda1 291M 34M 242M 13% /boot/dev/mapper/test_vg-test_web 1008M 34M 924M 4% /test/web/dev/mapper/test_vg-test_data 2.0G 34M 1.9G 2% /test/data

此外当卷组没有足够空间时,可以再加磁盘然后fdisk分区,将新分区做成物理卷,然后通过vgextend将新的物理卷追加至现有的卷组中,最后lvextend调整逻辑卷大小,以下演示追加新的物理卷至已有卷组中。

fdisk /dev/sdb#分新区pvcreate /dev/sdb6#将分区做成物理卷 PVvgextend test_vg /dev/sdb6#将新的 PV 加到 test_vg 卷中vgdisplay test_vg#查看结果lvextend -L 2G /dev/test_vg/test_data#将逻辑卷扩充2Gresize2fs /dev/test_vg/test_data#调整文件大小,使之生效df -h#查看结果

4.删除 LVM 分区

删除 LVM 分区的顺序与创建时相反,即先卸载文件系统、删除逻辑卷、删卷组,删物理卷。下载文件系统时应更新/etc/fstab文件。

下面是删除 LVM 分区命令,步骤:

umount /dev/test_vg/test_webumount /dev/test_vg/test_datalvremove /dev/test_vg/test_weblvremove /dev/test_vg/test_datavgremove /dev/test_vgpvremove /dev/sdb{1,5,6}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。