centos7Linux(扩容整理整合) 物理卷、卷组、逻辑卷扩容
提示:centos7Linux 物理卷、卷组、逻辑卷关系,逻辑卷,虚拟机磁盘大小变更后的动态分区调整
pv、lv、vg 介绍
- PV(Phsical
Volume,物理卷),PV是VG的组成部分,由分区构成,多块盘的时候,可以把一块盘格式化成一个主分区,然后用这个分区做成一个PV,只有一块盘的时候,可以这块盘的某一个分区做成一个PV,实际上一个PV就一个分区。 - VG(Volume Group, 卷组),有若干个PV组成,作用就是将PV组成到以前,然后再重新划分空间。
- LV(Logical
Volume,逻辑卷),LV就是从VG中划分出来的卷,LV的使用要比PV灵活的多,可以在空间不够的情况下,增加空间。
可以说成是PV就是硬盘,而VG就是管理硬盘的操作系统,而LV就是操作系统分出来的各个分区. PV->VG->LV-> 文件系统使用(挂载到某个目录) 硬盘或分区做成pv,然后将pv或多个pv建立vg,vg上建立lv,其模型如下
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
命令集合
PV
pvcreate :根据物理盘,创建pv pvcreate /dev/sdb
pvscan :查询目前系统里的pv
pvdisplay:显示pv的状态
pvremove:将pv属性移除 pvremove /dev/sdb1
pvresize://扩展 刷新
VG
vgcreate:创建vg vgcreate datavg /dev/sdb /dev/sdc #创建datavg的卷组并将sdb和sdc物理卷加入其中
vgscan:查找当前系统里面的vg
vgdisplay:显示当前系统vg的状态
vgextend:给vg添加额外的pv
vgreduce:在vg内删除pv
vgchange:设置vg是否是启动状态(active)
vgremove:删除一个vg vgremove datavg
LV
卸载已经挂载的逻辑卷umount /data/ mount /data/
lvcreate:创建lv lvcreate -l+100%FREE -n data datavg
lvscan:查询当前系统的lv
lvdisplay:显示lv的属性
lvextend:给lv添加容量
lvredurce:给lv减少容量
lvremove:删除一个lv lvremove /dev/mapper/datavg-data
lvresize:对lv大小的容量进行调整
基本思路和命令详解:
LVM逻辑卷扩容根分区重要步骤:
1 添加磁盘
2 格式化磁盘
3 pv vg lv
4 扩容文件系统
格式化磁盘:
1 文件系统为xfs,则格式化磁盘用mkfs.xfs /dev/sdb1
2 文件系统为ext4,则格式化磁盘用mkfs.ext4 /dev/sdb1
扩容pv:
pvcreate /dev/sdb1(注意此为分区名)
扩容vg:
vgextend vgname pvname
扩容lv:
lvextend -L +20G lvname (此表示在原来lv大小的基础上新增20G)
lvextend -L 50G lvname (此表示将lv的大小设置为50G)
lvextend -l +100%FREE lvname (将lv扩展到其所在的vg中剩余的所有可用空间)
扩容文件系统:
1 文件系统为ext4,则扩容文件系统用resize2fs lvname/要扩容目录上的文件系统名称
2 文件系统为xfs,则扩容文件系统用xfs_growfs lvname/要扩容目录上的文件系统名称
创建目录
创建测试目录:mkdir /test
挂载目录:mount /dev/datevg/lv1 /test
mount /dev/mapper/datavg-data /data
vi编辑/etc/fstab文件系统信息
提示:以下是本篇文章正文内容,下面案例可供参考
扩容实例:
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用步骤
一、虚拟机原有磁盘增大扩容
代码如下(示例):/dev/mapper/datavg-data 35G 33M 35G 1% /data 原扩容目录大小35G
代码如下(示例):
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 498.8G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 3.3G 0 lvm [SWAP]
└─centos-home 253:2 0 445.6G 0 lvm /home
sdb 8:16 0 70G 0 disk
├─sdb1 8:17 0 60G 0 part
│ └─centos-data 253:3 0 60G 0 lvm /data
└─sdb2 8:18 0 10G 0 part
sr0 11:0 1 1024M 0 rom
该处使用的url网络请求的数据。
一、虚拟机原有磁盘增大扩容
首先打印磁盘,此时data还没扩容
/dev/mapper/datavg-data 35G 33M 35G 1% /data 原扩容目录大小35G
编辑原磁盘sdb 35G增加至45G
[root@localhost ~]# df -h 查看
[root@localhost ~]# df -HT 查看 文件系统为xfs
[root@localhost ~]# lsblk
磁盘Sbd容量由35G已识别为45G, PV:sdb1 > VG:datavg > LV:/dev/mapper/datavg-data依旧是35G
磁盘Sbd容量由35G已识别为45G,需要扩容磁盘sdb子分区sdb1
将虚拟机新增加的空间加入物理卷
[root@localhost ]# pvresize /dev/vdb
三种方式:
方法1
扩分区fdisk /dev/sdb //使用fdisk命令删除已有磁盘的分区。
使用fdisk工具先删除/dev/sdb1分区,然后创建新分区,注意开始的磁柱号要和原来的一致(是保证数据不丢失的关键步骤),结束的磁柱号默认回车使用全部磁盘。p查看,d删除分区,p命令确认磁盘信息,新建n,p,回车,回车,最后w保存,退出fdisk命令。partprobe更新,lsblk, /dev/sdb1会变大。 Linux的分区创建好了以后,是无法进行扩分区的,这也是后面引入文件系统的原因;但是Linux也可以通过其他变通的方式来实现扩分区的功能,方法和windows一样,先删除,再重建,当然删除分区前要记得备份分区下面的数据。
(本次实验主要对/dev/sdb1这个分区扩展,如果是生产环境,请提前做好备份保存到其他分区,虽然扩展分区大小不会导致数据丢失,安全起见,请提前做好备份;)
lsblk //查看 跳到方法2之后。
其他命令:
让内核重读分区表 partx -a /dev/sdb 检查分区信息 e2fsck -f /dev/sdb1 调整分区大小 resize2fs -p /dev/sdb1 xfs_growfs /dev/sdb1
方法2
[root@localhost ~]# parted /dev/sdb resizepart 1 100%
parted /dev/sdb resizepart 1 100% //因为sdb1,对应的是第一个分区(sdb也只有sdb1这一个分区)将第一个分区resize
如果失败可能需要umount /dev/sdb1 //取消挂载 mount /dev/sdb1 挂载 注意:以上要删除重建可能存在风险需要备份数据!
以下是方法一、二共同部分:方法3后面另列。
partprobe更新,lsblk /dev/sdb1 查看 空间由35G增大至45G
pvs查看datavg空间还是35G
pvresize /dev/sdb1 //扩展 刷新 xfs_growfs /dev/sdb1
或 resize2fs -p /dev/sdb1 刷新 xfs_growfs /dev/sdb1
pvresize --setphysicalvolumesize 45G /dev/sdb1 //调整物理卷/dev/sdb1的大小为45GB
vgdisplay centos //vgdisplay确认卷组信息
pvs\vgs\lvs\ 查看
或 pvscan\vgscan\lvscan
lvextend -l +100%FREE /dev/mapper/datavg-data // lvresize对逻辑卷扩容
或
lvresize --extents +100%FREE --resizefs /dev/mapper/ datavg-data // lvresize对逻辑卷100%可用空间扩容
或
lvresize --size +10G --resizefs /dev/mapper/datavg-data / lvresize对逻辑卷指定扩容10G
或
lvextend -L +10g -n /dev/mapper/datavg-data
最后请用growfs刷新扩展文件系统,否则fdisk查看还是显示原数值,我这里是xfs,请自己判断文件格式选择正确的命令。
xfs文件系统用xfs_growfs /dev/mapper/datavg-data
以上方法1、2完。
方法3
给sdb硬盘从60G扩展到70G增加到data目录 centos-data
1、fdisk /dev/sdb 对sdb磁盘进行分区操作。
fdisk /dev/sdb 对sdb t 8e 更改分区
partprobe更新, 将 sdb2 挂载给 /data
创建pv pvcreate /dev/sdb2
扩容vg vgextend centos /dev/sdb2(这里是使用原来的vgcentos,也可以单独创建vg,vgcreate vg_data /dev/sdb2)
扩容Lv, lvextend /dev/mapper/centos-data -l +100%FREE
或创建其他lv lvcreate -L 70G -n lv_data centos
格式化lv mkfs -t xfs /dev/centos/lv_data
注意:命令后面的路径不可照抄,要根据实际变换。
异常例子:
给sda硬盘从85G扩展到90G增加到home目录
1、lsblk 查看磁盘信息,我们可以看到sda是90G,但sda1-sda3三个分区加起来才使用了85G;这是因为建立模板机时的分区导致的,接下来我们就对新增的100G容量进行扩容。
2、fdisk /dev/sda 对sda磁盘进行分区操作。
打印p 按理应该会存在sda1、sda2、sda3 但却只有sda1
让内核重读分区表partx -a /dev/sda
[root@contos ~]# partx -a /dev/sda
partx: /dev/sda: error adding partitions 1-3 // sda 1-3 分区表有错误或不一致。
检查分区信息e2fsck -f /dev/sda3
没有sda2和sda3无法正常创建sda4。
parted /dev/sdb 提示错误修复,Fix修复后 print打印 信息正常
或可能fdisk /dev/sda 对sda 默认分区,默认会分区号为2默认完成w保存,再进入fdisk /dev/sda 打印p分区就有三个分区
以上是因为异常情况:下面才是正式的操作;
fdisk /dev/sda 对sda磁盘进行分区操作依旧无法分区,返回方法2,执行方法2扩容相应分区,或
用parted /dev/sdb 新建分区扩容进VG
mkpart p3 10.7GB -1 #创建p3分区,使用剩余空间
print #打印查看分区
这时用fdisk -l是看不到sdi1的,可以ls /dev/sdi*来查看分区是否建好
partprobe更新, 将 sdb2 挂载给 /data
创建pv pvcreate /dev/sdb2
扩容vg vgextend centos /dev/sdb2(这里是使用原来的vgcentos,也可以单独创建vg,vgcreate vg_data /dev/sdb2)
扩容Lv, lvextend /dev/mapper/centos-data -l +100%FREE
或创建其他lv lvcreate -L 70G -n lv_data centos
格式化lv mkfs -t xfs /dev/centos/lv_data
注意:命令后面的路径不可照抄,要根据实际变换。
二、虚拟机添增新磁盘扩容
Lsblk、 df-h 查看data原空间45G
新增硬盘50G
1、 查询磁盘列表,是否新增的硬盘容量出现
lsblk
或
fdisk -l
2、 新增对应的空间
pvcreate /dev/sdc
3、 查询磁盘属性
more /etc/fstab
或
df -HT
或df -TH
使用扩展卷到对应的磁盘
vgextend datavg /dev/sdc
使用“lvresize”命令将逻辑卷扩展到所需的大小
lvextend -l +100%FREE /dev/mapper/datavg-data // lvresize对逻辑卷扩容
或lvextend /dev/mapper/datavg-data -l +100%FREE 或
lvresize --extents +100%FREE --resizefs /dev/mapper/ datavg-data // lvresize对逻辑卷100%可用空间扩容
或
lvresize --size +50G --resizefs /dev/mapper/datavg-data / lvresize对逻辑卷指定扩容50G
或
lvextend -L +50g -n /dev/mapper/datavg-data
扩展 XFS 文件系统
xfs_growfs /dev/mapper/datavg-data
总结
提示:这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅简单介绍了centos7Linux 物理卷、卷组、逻辑卷关系,逻辑卷,虚拟机磁盘大小变更后的动态分区调整。