接收到数据转储项目组需求,需要将虚拟机的硬盘扩容,满足后续运维需求; 操作系统:CENTOS 6
命令清单
lsblk:查看分区信息df -h查看文件系统及空间使用信息fdisk [-l][/dev/sda]查看,修改系统分区信息,创建分区pvdisplsy查看LVM中PV信息vgdisplay查看LVM中VG信息lvdisplay查看LVM中LV信息pvcreate [/dev/sda3]基于现有分区,创建PVvgextend [vg_bigdata] [/dev/sda3]扩充VGlvextend -L +149G /dev/vg_bigdata/lv_home扩充LVresize2fs /dev/vg_bigdata/lv_home增大或者收缩未加载的“ext2/ext3”文件系统的大小。如果文件系统是处于mount状态下,那么它只能做到扩容
操作步骤
- 在虚拟机控制台,扩展现有硬盘大小,步骤如下图所示

- ssh登录进目标系统
ssh root@172.16.0.250 查看系统分析信息及文件系统信息,主要关注LV名称与挂载点
[root@bigdata ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 650G 0 disk©À©¤sda1 8:1 0 500M 0 part /boot©¸©¤sda2 8:2 0 499.5G 0 part©À©¤vg_bigdata-lv_root (dm-0) 253:0 0 50G 0 lvm /©À©¤vg_bigdata-lv_swap (dm-1) 253:1 0 7.9G 0 lvm [SWAP]©¸©¤vg_bigdata-lv_home (dm-2) 253:2 0 441.7G 0 lvm /homesr0 11:0 1 1024M 0 rom[root@bigdata ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_bigdata-lv_root50G 2.5G 45G 6% /tmpfs 7.8G 0 7.8G 0% /dev/shm/dev/sda1 477M 40M 412M 9% /boot/dev/mapper/vg_bigdata-lv_home435G 6.1G 407G 2% /home
lsblk可以看到硬盘已经扩充了,需要将扩充的150G的空间加到vg_bigdata-lv_home中
首先查看当前分区信息,添加磁盘分区
[root@bigdata ~]# fdisk -lDisk /dev/sda: 697.9 GB, 697932185600 bytes255 heads, 63 sectors/track, 84852 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00014553Device Boot Start End Blocks Id System/dev/sda1 * 1 64 512000 83 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 64 65271 523774976 8e Linux LVMDisk /dev/mapper/vg_bigdata-lv_root: 53.7 GB, 53687091200 bytes255 heads, 63 sectors/track, 6527 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/mapper/vg_bigdata-lv_swap: 8438 MB, 8438939648 bytes255 heads, 63 sectors/track, 1025 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/mapper/vg_bigdata-lv_home: 474.2 GB, 474216398848 bytes255 heads, 63 sectors/track, 57653 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000[root@bigdata ~]# fdisk /dev/sdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended toswitch off the mode (command 'c') and change display units tosectors (command 'u').Command (m for help): mCommand actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitionl list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)Command (m for help): nCommand actione extendedp primary partition (1-4)pPartition number (1-4): 2Partition 2 is already defined. Delete it before re-adding it.Command (m for help): nCommand actione extendedp primary partition (1-4)pPartition number (1-4): 3First cylinder (65271-84852, default 65271):Using default value 65271Last cylinder, +cylinders or +size{K,M,G} (65271-84852, default 84852):Using default value 84852Command (m for help): mCommand actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitionl list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.
- 此次分区创建为创建了第三个主分区,注意创建过程中各个选项的选择,另外在这个场景下,创建主分区或者扩展分区都是可以的;
- 创建分区的过程中会涉及到分区大小的选择,这个场景下为全部分配,
First cylinder (65271-84852, default 65271):
Using default value 65271
Last cylinder, +cylinders or +size{K,M,G} (65271-84852, default 84852):
注意分区大小的指定 - 分区创建完成后按w保存,重启系统
创建PV
[root@bigdata ~]# pvcreate /dev/sda3Physical volume "/dev/sda3" successfully created
扩展VG
[root@bigdata ~]# vgextend vg_bigdata /dev/sda3Volume group "vg_bigdata" successfully extended
扩展LV
[root@bigdata ~]# lvextend -L +149G /dev/vg_bigdata/lv_homeSize of logical volume vg_bigdata/lv_home changed from 441.65 GiB (113062 extents) to 590.65 GiB (151206 extents).Logical volume lv_home successfully resized.
扩容文件系统
[root@bigdata ~]# resize2fs /dev/vg_bigdata/lv_homeresize2fs 1.41.12 (17-May-2010)Filesystem at /dev/vg_bigdata/lv_home is mounted on /home; on-line resizing requiredold desc_blocks = 28, new_desc_blocks = 37Performing an on-line resize of /dev/vg_bigdata/lv_home to 154834944 (4k) blocks.The filesystem on /dev/vg_bigdata/lv_home is now 154834944 blocks long.
df -h查看扩容后的文件系统信息[root@bigdata ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_bigdata-lv_root50G 2.5G 45G 6% /tmpfs 7.8G 0 7.8G 0% /dev/shm/dev/sda1 477M 40M 412M 9% /boot/dev/mapper/vg_bigdata-lv_home582G 6.1G 546G 2% /home
知识点说明
LINUX中的LVM管理与AIX中的LVM管理是相通的,均存在PV/VG/LV/文件系统的概念,只是在具体操作上命令不同;
- 在AIX中,PV一般对应一块物理硬盘,在LINUX上,本场景对应的是磁盘的一个分区,理论上物理硬盘也是可以的,比如将第一步扩展当前硬盘大小变更为添加一个新的硬盘;
- AIX与LINUX,扩容的步骤都是一致的,如果当前VG有空间,则直接扩展文件系统,如果没有空间,则添加硬盘(扩展硬盘),创建PV(linux下先分区),加入VG,扩展LV,扩展文件系统;
AIX下扩展大小要注意mirror的使用,一定要遵守先扩LV再扩文件系统的步骤,如果不按照此步骤操作,可能导致镜像盘的大小分配不平均;
参考资料
- Centos下磁盘管理—-分区
- lvextend 扩展逻辑卷大小
- Centos/Linux下调整分区大小(以home和根分区为例)
