linux创建测试分区,Linux下LVM分区创建、管理详解

一 简介

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

与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用和用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如”sales’、 ‘development’)代替物理磁盘名(如’sda’、’sdb’)来标识存储卷

几个基本概念:PV:物理卷,相当于物理的磁盘分区

VG:卷组,LVM卷组类似于非LVM系统中的物理硬盘,由一个或多个物理卷组成。PV必须加入VG,可以将VG理解为一个仓库或者几个大的硬盘

LV:从VG中划分的逻辑分区

二 创建LVM分区

(1)创建主分区并修改分区类型:

Shell

[root@bogon ~]# fdisk /dev/xvdb

1[root@bogon~]# fdisk /dev/xvdb

Command (m for help): n ##创建新分区

Command action

e extended

p primary partition (1-4)

p ##分区类型为主分区

Partition number (1-4): 1##设置分区号

First cylinder (1-26108, default 1): 1

Last cylinder, +cylinders or +size{K,M,G} (1-26108, default 26108):

Using default value 26108

Command (m for help): p

Disk /dev/xvdb: 214.7 GB, 214748364800 bytes

255 heads, 63 sectors/track, 26108 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: 0x52ba9efb

Device Boot Start End Blocks Id System

/dev/xvdb1 1 26108 209712478+ 83 Linux

Command (m for help): t ##修改分区格式

Selected partition 1##只有一块主分区

Hex code (type L to list codes): 8e ##类型改成LVM

Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/xvdb: 214.7 GB, 214748364800 bytes

255 heads, 63 sectors/track, 26108 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: 0x52ba9efb

Device Boot Start End Blocks Id System

/dev/xvdb1 1 26108 209712478+ 8e Linux LVM

Command (m for help): w ##保存退出

The partition table has been altered!

(2)创建物理卷PV:

使用上面新创建的分区 /dev/xvdb1 创建物理卷:

Shell

[root@bogon ~]# pvcreate /dev/xvdb1

1[root@bogon~]# pvcreate /dev/xvdb1

Physical volume “/dev/xvdb1” successfully created

查看已经存在的PV:

Shell

[root@bogon ~]# pvs

1[root@bogon~]# pvs

PV VG Fmt Attr PSize PFree

/dev/xvda2 VolGroup lvm2 a–u 49.51g 0

/dev/xvdb1 lvm2 —- 200.00g 200.00g

或者使用以下命令查看详细信息:

Shell

[root@bogon ~]# pvdisplay

1[root@bogon~]# pvdisplay

(3)创建卷组VG:

Shell

[root@bogon ~]# vgcreate vg_server1 /dev/xvdb1

1[root@bogon~]# vgcreate vg_server1 /dev/xvdb1

Volume group “vg_server1” successfully created

如果想要将多个物理卷添加到卷组,可以使用以下命令:

Shell

[root@bogon ~]# vgcreate vg_server2 /dev/xvdb2 /dev/xvdb3

1[root@bogon~]# vgcreate vg_server2 /dev/xvdb2 /dev/xvdb3

含义:创建卷组“vg_server2”,并且将物理卷“ /dev/xvdb2”、“ /dev/xvdb3”添加到卷组中

查看已经存在的VG:

Shell

[root@bogon ~]# vgs

1[root@bogon~]# vgs

VG #PV #LV #SN Attr VSize VFree

VolGroup 1 2 0 wz–n- 49.51g 0

vg_server1 1 0 0 wz–n- 200.00g 200.00g

或者使用以下命令查看详细信息:

Shell

[root@bogon ~]# vgdisplay

1[root@bogon~]# vgdisplay

(4)创建逻辑卷LV:

Shell

[root@bogon ~]# lvcreate -L 50G -n home vg_server1

1[root@bogon~]# lvcreate -L 50G -n home vg_server1

Logical volume “home” created.

参数含义:-L:指定分区大小

-n:指定逻辑卷名称,同时需要指定这个逻辑卷所属的卷组,这里就是“vg_server1”

显示已经存在的LV:

Shell

[root@bogon ~]# lvs

1[root@bogon~]# lvs

或者使用以下命令查看详细信息:

Shell

[root@bogon ~]# lvdisplay

1[root@bogon~]# lvdisplay

— Logical volume —

LV Path /dev/vg_server1/home

LV Name home

VG Name vg_server1

LV UUID Br0nXE-P5LX-w6dZ-BuzF-Km35-J8TF-mkp8mO

LV Write Access read/write

LV Creation host, time bogon, 2017-12-27 18:55:14 +0800

LV Status available

# open 0

LV Size 50.00 GiB

Current LE 12800

Segments 1

Allocation inherit

Read ahead sectors auto

– currently set to 256

Block device 253:2

(5)格式化新创建的逻辑分区:

Shell

[root@bogon ~]# mkfs.ext4 /dev/vg_server1/home

1[root@bogon~]# mkfs.ext4 /dev/vg_server1/home

注:这里使用ext3格式格式化也可以

(6)挂载新分区到/home目录:

Shell

[root@bogon ~]# mount /dev/vg_server1/home /home

1[root@bogon~]# mount /dev/vg_server1/home /home

注:通过 fdisk -l 命令可以发现上面创建的新分区也可以是下面这个路径:

9a4b19b2bbfa1e14b9f2135af79269b5.gif

因此使用以下命令挂载也可以:

Shell

[root@bogon ~]# mount /dev/mapper/vg_server1-home /home

1[root@bogon~]# mount /dev/mapper/vg_server1-home /home

查看挂载情况:

Shell

[root@bogon ~]# df -lh

1[root@bogon~]# df -lh

9a4b19b2bbfa1e14b9f2135af79269b5.gif

(7)写入开机自动挂载:

Shell

[root@bogon ~]# vim /etc/fstab

1[root@bogon~]# vim /etc/fstab

在最后一行添加:

/dev/mapper/vg_server1-home /home ext4 defaults 0 0

1/dev/mapper/vg_server1-home/homeext4defaults00

意思很简单,就是开机自动将/dev/mapper/vg_server1-home分区挂载到/home路径

(8)测试:

i)先取消上面的分区挂载:

Shell

[root@bogon ~]# umount /home

1[root@bogon~]# umount /home

ii)挂载/etc/fstab 中定义的所有配置:

Shell

[root@bogon ~]# mount -a

1[root@bogon~]# mount -a

iii)再次查看挂载情况:

Shell

[root@bogon ~]# df -lh

1[root@bogon~]# df -lh

如果出现以下信息,则说明/etc/fstab文件已经配置正确了

9a4b19b2bbfa1e14b9f2135af79269b5.gif

三 LVM分区基本管理

(1)使用lvextend命令增加LVM逻辑分区容量:

lvextend命令:在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问

主要参数:-L:指定逻辑卷的大小,单位为“kKmMgGtT”

-l:指定逻辑卷的大小(LE数)

i)增加10G容量:

Shell

[root@bogon ~]# lvextend -L +10G /dev/vg_server1/home

1[root@bogon~]# lvextend -L +10G /dev/vg_server1/home

ii)扩展到70G容量:

Shell

[root@bogon ~]# lvextend -L 70G /dev/vg_server1/home

1[root@bogon~]# lvextend -L 70G /dev/vg_server1/home

需要注意的是,当逻辑分区空间大小改变之后,使用df命令查看却并不能立即看到这种变化,这时就需要使用resize2fs命令

resize2fs命令被用来增大或者收缩未加载的“ext2/ext3”文件系统的大小,前提条件是内核支持在线resize。如果文件系统是处于mount状态下,那么它只能做到扩容

因此还需要执行以下命令:

Shell

[root@bogon ~]# resize2fs /dev/vg_server1/home

1[root@bogon~]# resize2fs /dev/vg_server1/home

(2)使用lvreduce命令减小LVM逻辑分区容量:

i)取消分区挂载:

Shell

[root@bogon ~]# umount /dev/vg_server1/home

1[root@bogon~]# umount /dev/vg_server1/home

ii)使用e2fsck命令检查分区是否正常:

Shell

[root@bogon ~]# e2fsck -a -f /dev/vg_server1/home

1[root@bogon~]# e2fsck -a -f /dev/vg_server1/home

iii)使用lvreduce命令减小分区容量:

lvreduce命令的主要参数类似于上面的lvextend命令,略

减小10G容量:

Shell

[root@bogon ~]# lvreduce -L -10G /dev/vg_server1/home

1[root@bogon~]# lvreduce -L -10G /dev/vg_server1/home

直接减小到50G容量:

Shell

[root@bogon ~]# lvreduce -L 50G /dev/vg_server1/home

1[root@bogon~]# lvreduce -L 50G /dev/vg_server1/home

(3)使用lvresize命令增加或减小LVM逻辑分区容量:

lvresize命令用于调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。使用lvresize命令调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失

i)使用e2fsck命令检查分区是否正常:

Shell

[root@bogon ~]# e2fsck -a -f /dev/vg_server1/home

1[root@bogon~]# e2fsck -a -f /dev/vg_server1/home

ii)增加10G容量:

Shell

[root@bogon ~]# lvresize -L +10G /dev/vg_server1/home

1[root@bogon~]# lvresize -L +10G /dev/vg_server1/home

iii)减小10G容量:

Shell

[root@bogon ~]# lvresize -L -10G /dev/vg_server1/home

1[root@bogon~]# lvresize -L -10G /dev/vg_server1/home

(4)使用lvremove命令删除LVM逻辑分区:

lvremove命令:用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令挂载,则不能使用lvremove命令删除。必须先使用umount命令取消挂载后,方可使用lvremove命令删除

主要参数:-f:强制删除

测试之前先创建一个100M的名为“lv_test”的LVM逻辑分区:

Shell

[root@bogon ~]# lvcreate -L 100M -n lv_test vg_server1

1[root@bogon~]# lvcreate -L 100M -n lv_test vg_server1

通过lvdisplay命令可以发现新创建的逻辑卷的路径为:/dev/vg_server1/lv_test

然后删除这个逻辑分区:

Shell

[root@bogon ~]# lvremove /dev/vg_server1/lv_test

1[root@bogon~]# lvremove /dev/vg_server1/lv_test

Do you really want to remove active logical volume lv_test? [y/n]: y

Logical volume “lv_test” successfully removed

类似的命令还有:vgremove命令:用于删除LVM卷组

pvremove命令:用于删除一个存在的物理卷

(5)使用vgextend命令动态扩展LVM卷组:

vgextend命令用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态地添加

将物理卷“/dev/xvdb2”添加到卷组“vg_server1”:

Shell

[root@bogon ~]# vgextend vg_server1 /dev/xvdb2

1[root@bogon~]# vgextend vg_server1 /dev/xvdb2

参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值