0
点赞
收藏
分享

微信扫一扫

vmware虚拟机



vmware虚拟机"/dev/centos/root"逻辑卷(xfs文件系统)扩容



目录

​​1 centos7 lvm分区格式如下 2​​

​​2 lvm扩展需求 2​​

​​3 将新添加的20G容量进行分区(可以不对分区磁盘进行8e的转换也可进行pvcreate操作;如果是新加的磁盘,在不进行分区也可以进行pvcreate操作) 3​​

​​4 输入【reboot】重启linux 5​​

​​5 将新添加的/dev/sda3容量扩展给现有的文件系统 5​​

​​6 使用【vgs】,【df -h】,【lsblk】等命令检查是否正确 7​​

​​7 输入【reboot】,重启虚机 7​​

​​8 总结 7​​

​​9 磁盘的扩容 9​​

​​10 磁盘的缩容 10​​

 




 

1 centos7 lvm分区格式如下

虚机只有一块硬盘/dev/sda

​​

vmware虚拟机_ubuntu

​​ 

​​

vmware虚拟机_centos_02

​​ 

 

2 lvm扩展需求

本次VM虚机由硬盘60G扩大硬盘到80G,linux中自动将新增加的磁盘空间添加到/dev/sda上,因此通过lsblk看到的磁盘空间已经是变更后的80G,但显示的分区(/, /home, swap)依旧只是之前的容量,同时新添加的20G不显示。

​​

vmware虚拟机_逻辑卷_03

​​ 

 

3 将新添加的20G容量进行分区(可以不对分区磁盘进行8e的转换也可进行pvcreate操作;如果是新加的磁盘,在不进行分区也可以进行pvcreate操作)

3.1 输入【fdisk /dev/sda】,进入/dev/sda磁盘

3.2 命令行提示下输入【m】,将显示所有可用命令选项

3.3 输入命令【n】添加新分区。

3.4 输入命令【p】创建主分区。 请注意一定要是新的分区号码,系统默认有sda1和sda2,我这里新建的是sda3

3.5 输入【回车】,选择默认大小,这样不浪费空间

3.6 输入【回车】,选择默认

3.7输入命令【t】转换分区类型

3.7输入命令【8e】表示转换为linux lvm分区

3.8输入【w】,保持修改

​​

vmware虚拟机_centos_04

​​ 

 

4 输入【reboot】重启linux

需要reboot,否则"ls /dev/sda3"找不到分区,如果是对新加盘"/dev/sdb"进行分区不会出现这种状况。

如果不能reboot,使用partprobe命令也可以。

 

5 将新添加的/dev/sda3容量扩展给现有的文件系统

5.1 输入【pvs】,此时看到lvm物理卷依旧只有之前的容量

​​

vmware虚拟机_逻辑卷_05

​​ 

5.2 输入【pvcreate /dev/sda3】,将/dev/sda3的容量添加到lvm物理卷中

​​

vmware虚拟机_centos_06

​​ 

5.3 输入【pvs】,此时将看到除了之前的容量,还有出现一条新的记录,显示的是新增加的容量,并且Pfree是可用的。

​​

vmware虚拟机_ubuntu_07

​​ 

5.4 输入【vgs】,此时看到卷组的Vsize容量依旧只有之前的大小

​​

vmware虚拟机_逻辑卷_08

​​ 

5.5 输入【vgextend centos /dev/sda3】将/dev/sda3添加到磁盘卷组centos

​​

vmware虚拟机_centos_09

​​ 

5.6 输入【vgs】,此时看到的Vsize容量变成80G的容量,同时Vfree可分配的容量是新增加的20G

​​

vmware虚拟机_centos_10

​​ 

lvdisplay查看逻辑卷名称。

​​

vmware虚拟机_centos_11

​​ 

5.7 输入【lvextend -L +20G /dev/centos/root】,为逻辑卷root增加容量

​​

vmware虚拟机_centos_12

​​ 

5.8 使用下面命令生效新扩容的磁盘空间,请注意这一步必须进行(可能swap会提示错误,请忽略)持续完成后,所新增加的硬盘容量正式生效。

xfs_growfs /dev/centos/root

​​

vmware虚拟机_逻辑卷_13

​​ 

因为安装CentOS用的xfs分区,所以使用命令xfs_growfs扩展文件系统大小,否则的话使用resize2fs命令。resize2fs /dev/centos/root

 

6 使用【vgs】,【df】,【lsblk】等命令检查是否正确

​​

vmware虚拟机_逻辑卷_14

​​ 

 

7 输入【reboot】,重启虚机

再次检查扩容是否正确,确认无误后,扩容完成。

 

8 总结

(1) lvm原理

​​

vmware虚拟机_centos_15

​​ 

物理卷处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列,这都可以。卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷。逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。这就是LVM的核心理念。

 

物理卷(PV:Physical Volume):物理卷是底层真正提供容量,存放数据的设备,它可以是整个硬盘、硬盘上的分区等。

卷组(VG:Volume Group):卷组建立在物理卷之上,它由一个或多个物理卷组成。即把物理卷整合起来提供容量分配。一个LVM系统中可以只有一个卷组,也可以包含多个卷组。

逻辑卷(LV:Logical Volume):逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间。它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小可以伸缩。

基本单元(PE:Physical Extents):具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小可以指定,默认为4MB。PE的大小一旦确定将不能改变,同一个卷组中的所有的物理卷的PE的大小是一致的。

 

 

(2) lvm常用部署命令

​​

vmware虚拟机_逻辑卷_16

​​ 

 

(3) 安装centos系统时选择分区模式为lvm格式时:

1) sda1分区挂载在/boot目录

2) sda2分区被作为物理卷加入到了centos卷组

A卷组将/dev/sda2磁盘分区的容量分配给centos卷组中的/dev/centos/swap逻辑卷和

/dev/centos/root逻辑卷。

B逻辑卷挂载到[SWAP]。/dev/centos/root逻辑卷挂载到/目录。

 

(4) 相关命令

pvs: 物理卷(lvm格式的磁盘分区)

vgs: 物理卷组(将物理卷中的多个lvm磁盘分区加入同一个组)

lvdisplay:查看现有的逻辑卷信息(包括这个逻辑卷属于哪个卷组)

 

(5) lvm逻辑卷管理思路

0) 通过lsblk命令查看需要扩展的磁盘目录及对应的逻辑卷(centos-root => /)

1) 通过lvdisplay /dev/centos/root命令查看逻辑卷对应的卷组

2) 如果逻辑卷组容量足够

直接从卷组扩展容量到逻辑卷

3) 如果逻辑卷容量不足

A将空闲磁盘分成为lvm格式的分区

B将lvm格式的磁盘分区变成物理卷

C 将物理卷加入到卷组

D 从卷组扩展容量到逻辑卷

 

(6) lvm逻辑卷的扩容和缩容

1) lvm支持文件系统为ext4逻辑卷(挂载点在线或不在线)的扩容和(挂载点不在线)的缩容。

2) lvm只支持文件系统为xfs逻辑卷(挂载点在线或不在线)的扩容,不支持缩容。
3) lvresize命令实际上是包含了lvextend和lvreduce的功能。

 

9 磁盘的扩容

1 增加一块新盘/dev/sdb

# lsblk
​​​

vmware虚拟机_centos_17

​​​
# df -hT
​​

vmware虚拟机_ubuntu_18

​​

 

2扩容(可以不卸载lv操作)

(1) 对磁盘进行分区
# parted /dev/sdb mklabel gpt
# parted /dev/sdb "mkpart primary 0% 100%"
# lsblk /dev/sdb
​​​

vmware虚拟机_centos_19

​​​
(2) 新加磁盘加入卷组
# pvcreate /dev/sdb1
# vgextend ubuntu-vg /dev/sdb1
# pvs
​​

vmware虚拟机_逻辑卷_20

​​# vgs
​​

vmware虚拟机_centos_21

​​
(3) ubuntu-lv 59G扩容到119G
# 方法一: 直接增加
lvextend/lvresize -L +59.99G /dev/ubuntu-vg/ubuntu-lv
# 方法二: 扩容到
lvextend/lvresize -L 118.99G /dev/ubuntu-vg/ubuntu-lv

(4) 生效扩容
# ext4模式
resize2fs /dev/ubuntu-vg/ubuntu-lv

注: 如果是xfs文件系统使用下面的命令
xfs_growfs resize2fs /dev/ubuntu-vg/ubuntu-lv

(5) 查看容量
# lsblk
​​

vmware虚拟机_centos_22

​​# df -hT
​​

vmware虚拟机_centos_23

​​

10 磁盘的缩容

1 增加一块新盘/dev/sdb

​​

vmware虚拟机_逻辑卷_24

​​ 

 

2 创建逻辑卷

(1) 对磁盘进行分区
# parted /dev/sdb mklabel gpt
# parted /dev/sdb "mkpart primary 0% 10GiB"
# parted /dev/sdb "mkpart primary 10GiB 30GiB"
# parted /dev/sdb "mkpart primary 30GiB 100%"
# lsblk /dev/sdb
​​​

vmware虚拟机_centos_25

​​​
(2) 创建卷组
# pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
# vgcreate test-vg /dev/sdb1 /dev/sdb2 /dev/sdb3
# pvs
​​

vmware虚拟机_ubuntu_26

​​# vgs
​​

vmware虚拟机_ubuntu_27

​​
(3) 创建逻辑卷
# lvcreate -L 59.98G -n test-lv test-vg
# mkfs.ext4 /dev/test-vg/test-lv
# lsblk /dev/sdb
​​

vmware虚拟机_centos_28

​​# mount /dev/test-vg/test-lv /mnt/
# df -hT /dev/test-vg/test-lv
​​

vmware虚拟机_逻辑卷_29

​​

 

3 缩容操作(不支持xfs,必须卸载lv操作)

(1) 先卸载lv挂载点
# umount -lf /mnt/

(2) 检查逻辑卷
# e2fsck -f /dev/test-vg/test-lv

(3) 缩容逻辑卷到49G
# resize2fs /dev/test-vg/test-lv 49G
# lvreduce/lvresize -L 49G /dev/test-vg/test-lv
# lsblk /dev/sdb
​​​

vmware虚拟机_逻辑卷_30

​​​# mount /dev/test-vg/test-lv /mnt/
# df -hT /dev/test-vg/test-lv
​​

vmware虚拟机_centos_31

​​
(4) 删除缩容后空余出的物理卷
​​

vmware虚拟机_ubuntu_32

​​# vgreduce test-vg /dev/sdb1
# pvremove /dev/sdb1
​​

vmware虚拟机_ubuntu_33

​​
(5) 补充: 删除逻辑卷
1) 删除逻辑卷设备
# umount -lf /mnt/
# lvremove /dev/test-vg/test-lv
2) 删除卷组
# vgremove test-vg
3) 删除物理卷设备
# pvremove /dev/sdb1 /dev/sdb2 /dev/sdb3

 



举报

相关推荐

0 条评论