lvm分区扩容实例_jlxzyy

分区扩容实例jlxzyy

服务器信息

#查看linux发行版本
[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

#查看linux内核版本
[root@localhost ~]# cat /proc/version
Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015

#cpu个数(线程数)
[root@localhost ~]# cat /proc/cpuinfo |grep processor
processor   : 0
processor   : 1

#内存大小
[root@localhost ~]# cat /proc/meminfo | grep Mem*
MemTotal:        7995708 kB
MemFree:         6338684 kB
MemAvailable:    6710888 kB

查看磁盘信息(后面有进行磁盘扩容,详见后文)

#查看已挂载磁盘分区大小、文件系统类型、挂载位置
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        48G  3.2G   45G    7% /
devtmpfs                devtmpfs  3.8G     0  3.8G    0% /dev
tmpfs                   tmpfs     3.9G   88K  3.9G    1% /dev/shm
tmpfs                   tmpfs     3.9G   49M  3.8G    2% /run
tmpfs                   tmpfs     3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda1               xfs       497M  157M  340M   32% /boot
tmpfs                   tmpfs     781M  4.0K  781M    1% /run/user/42
tmpfs                   tmpfs     781M   16K  781M    1% /run/user/0

#查看块设备信息
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk 
sda               8:0    0  300G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 49.5G  0 part 
  ├─centos-root 253:0    0 47.5G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom  

可以看到sda有300G,根分区、boot分区和swap分区使用了大概50G,有250G左右未分配。

配置光盘yum源(可选)

想要扩展根分区,需要一些工具,可以下载所需的rpm包,也可以配置光盘yum源,然后安装工具。这里配置光盘yum源。

系统光盘下载

对于centos7.2.1511,

各iso镜像以及种子文件在Index of /7.2.1511/isos/x86_64 (centos.org)目录下,

所有官方rpm包在Index of /7.2.1511/os/x86_64/Packages (centos.org)目录下

配置光盘yum源

下载带rpm包的centos镜像(CentOS-7-x86_64-Everything-1511.iso)。

上传iso文件到/ (一定要确保这个ISO文件上传完毕后再进行下面的操作)

关闭其他yum源,仅启动centos-media源

#备份原来的yum源
mv /etc/yum.repos.d /etc/yum.repos.d.bak
#使用CentOS-Media.repo源
mkdir /etc/yum.repos.d

cp /etc/yum.repos.d.bak/CentOS-Media.repo /etc/yum.repos.d/
vim /etc/yum.repos.d/CentOS-Media.repo
#设置enabled=1

创建挂载目录

mkdir /media/cdrom

挂载iso文件

mount -t iso9660 -o ro /CentOS-7-x86_64-Everything-1810.iso /media/cdrom

配置好就可以在内网环境使用yum命令了。

扩展分区及文件系统容量

扩容前:

# 扩容前
[root@localhost tmp]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk 
sda               8:0    0  300G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 49.5G  0 part 
  ├─centos-root 253:0    0 47.5G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom  
loop0             7:0    0  7.2G  1 loop /media/cdrom

# 可以看到sda2是lvm类型的分区,当前分配了49.5G的大小

物理分区扩容(加后面未使用的磁盘sectors)

centos7.2的yum源以及官方软件包中没包含cloud-utils-growpart的rpm包,下载了Centos7.6的 cloud-utils-growpart包,可以正常安装。

下载growpart命令依赖包https://vault.centos.org/7.6.1810/os/x86_64/Packages/cloud-utils-growpart-0.29-2.el7.noarch.rpm

rpm -ivh cloud-utils-growpart-0.29-2.el7.noarch.rpm

物理分区扩容:

#growpart命令扩展分区(extend a partition in a partition table to fill available space)

[root@localhost tmp]# growpart /dev/sda 2
unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]

#网上说出现此问题的原因是shell的语言环境不对
[root@localhost tmp]# echo $LANG
zh_CN.UTF-8

#临时改一下语言环境
[root@localhost tmp]# LANG=en_US.UTF-8

#重新扩展下sda2 大小
[root@localhost tmp]# growpart /dev/sda 2
CHANGED: partition=2 start=1026048 old: size=103831552 end=104857600 new: size=628119519,end=629145567

#重新查看下块设备信息
[root@localhost tmp]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
fd0               2:0    1     4K  0 disk 
sda               8:0    0   300G  0 disk 
├─sda1            8:1    0   500M  0 part /boot
└─sda2            8:2    0 299.5G  0 part 
  ├─centos-root 253:0    0  47.5G  0 lvm  /
  └─centos-swap 253:1    0     2G  0 lvm  [SWAP]
sr0              11:0    1  1024M  0 rom  
loop0             7:0    0   7.2G  1 loop /media/cdrom

#发现sda2的物理分区大小已经变为299.5G.
#但是这个时候,受lvm管理的分区信息没有更新。
#lvm类型的centos-root逻辑卷分区还是47.5G。

lvm分区扩容

然后参考下面的步骤操作: 在Linux上使用LVM扩展根文件系统的步骤_Linux教程_云网牛站 (ywnz.com)

#更新物理分区后,先更新受lvm管理的物理卷槽大小。
[root@localhost tmp]# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

#查看lvm管理的物理卷槽大小
[root@localhost tmp]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sda2  centos lvm2 a--  299.51g 250.04g

#查看卷组信息
[root@localhost tmp]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree  
  centos   1   2   0 wz--n- 299.51g 250.04g
#可以看到lvm管理的物理卷槽已经更新为299.51G,有250.04G的物理卷槽未分配。

#将未分配的卷槽分配给/dev/mapper/centos-root (扩展centos-root逻辑分区)
[root@localhost mapper]# lvextend -l +100%FREE /dev/mapper/centos-root
  Size of logical volume centos/root changed from 47.46 GiB (12151 extents) to 297.51 GiB (76162 extents).
  Logical volume root successfully resized.


#继续查看块设备信息
[root@localhost mapper]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
fd0               2:0    1     4K  0 disk 
sda               8:0    0   300G  0 disk 
├─sda1            8:1    0   500M  0 part /boot
└─sda2            8:2    0 299.5G  0 part 
  ├─centos-root 253:0    0 297.5G  0 lvm  /
  └─centos-swap 253:1    0     2G  0 lvm  [SWAP]
sr0              11:0    1  1024M  0 rom  
loop0             7:0    0   7.2G  1 loop /media/cdrom

#可以发现lvm类型的centos-root逻辑分区已经更新为297.5G大小

文件系统扩容

#查看已挂载磁盘分区、文件系统类型、挂载位置
[root@localhost mapper]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        48G   11G   37G  23% /
devtmpfs                devtmpfs  3.8G     0  3.8G   0% /dev
tmpfs                   tmpfs     3.9G   84K  3.9G   1% /dev/shm
tmpfs                   tmpfs     3.9G   49M  3.8G   2% /run
tmpfs                   tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1               xfs       497M  157M  340M  32% /boot
tmpfs                   tmpfs     781M  4.0K  781M   1% /run/user/42
tmpfs                   tmpfs     781M   20K  781M   1% /run/user/0
/dev/loop0              iso9660   7.3G  7.3G     0 100% /media/cdrom


#可以看到/dev/mapper/centos-root分区上挂载了根文件系统,文件系统类型xfs,当前文件系统大小48G (其实是47.5G)

#还需要调整文件系统大小,与lvm分区大小一致

#xfs文件系统扩容
[root@localhost mapper]# xfs_growfs /
meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=3110656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=12442624, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=6075, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 12442624 to 77989888

#再次查看已挂载磁盘分区、文件系统类型、挂载位置
[root@localhost mapper]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs       298G   11G  287G   4% /
devtmpfs                devtmpfs  3.8G     0  3.8G   0% /dev
tmpfs                   tmpfs     3.9G   84K  3.9G   1% /dev/shm
tmpfs                   tmpfs     3.9G   49M  3.8G   2% /run
tmpfs                   tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1               xfs       497M  157M  340M  32% /boot
tmpfs                   tmpfs     781M  4.0K  781M   1% /run/user/42
tmpfs                   tmpfs     781M   20K  781M   1% /run/user/0
/dev/loop0              iso9660   7.3G  7.3G     0 100% /media/cdrom

#可以看到根文件系统大小已经更新为298G

进一步阅读

ext4和xfs文件系统的扩容和收缩

在Linux上使用LVM扩展根文件系统的步骤_Linux教程_云网牛站 (ywnz.com)


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注