环境:
CentOS 6.9
平常在VMware上创建Linux系统虚拟机的时候,往往当时不会给太多的磁盘空间,在后期的使用过程中经常会遇到磁盘空间不足的情况,所以需要对Linux系统扩展磁盘空间。
扩展磁盘步骤:
1.磁盘扩展
注意:只能在虚拟机关机的情况下操作,并且这个虚拟机上没有磁盘快照文件,如有需要删除才可以扩展。
此时虽然在VMware虚拟机管理界面的扩容操作已经完成,但是这还只是扩容的第一步,后面还需要到操作系统内部进行操作。
2.查看分区信息
[root@test-centos6 ~]# fdisk -l
Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 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: 0x000a16bc
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2611 20458496 8e Linux LVM
Disk /dev/mapper/vg_testcentos6-lv_root: 18.8 GB, 18798870528 bytes
255 heads, 63 sectors/track, 2285 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: 0x00000000
Disk /dev/mapper/vg_testcentos6-lv_swap: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 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: 0x00000000
[root@test-centos6 ~]# lsblk //列出块设备信息
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 447M 0 rom
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part
├─vg_testcentos6-lv_root (dm-0) 253:0 0 17.5G 0 lvm /
└─vg_testcentos6-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
可以看到目前磁盘/dev/sda已经有两个分区,分别为sda1、sda2。
3.新建分区sda3
[root@test-centos6 ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): m //列出可以执行的命令
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition //选择分区,删除现有分区
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n //建立新的磁盘分区
Command action
e extended //逻辑分区
p primary partition (1-4) //主分区
p //建立主分区
Partition number (1-4): 3 //输入分区号
First cylinder (2611-7832, default 2611): //分区起始位置(可直接回车也可以根据情况输入)
Using default value 2611
Last cylinder, +cylinders or +size{K,M,G} (2611-7832, default 7832): //回车
Using default value 7832
Command (m for help): p //列出磁盘目前的分区情况
Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 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: 0x000a16bc
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2611 20458496 8e Linux LVM
/dev/sda3 2611 7832 41939020 83 Linux
Command (m for help): w //对分区操作进行保存
The 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 at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks. //正在同步磁盘
[root@test-centos6 ~]# fdisk -l //查看分区创建情况
Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 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: 0x000a16bc
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2611 20458496 8e Linux LVM
/dev/sda3 2611 7832 41939020 83 Linux
Disk /dev/mapper/vg_testcentos6-lv_root: 18.8 GB, 18798870528 bytes
255 heads, 63 sectors/track, 2285 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: 0x00000000
Disk /dev/mapper/vg_testcentos6-lv_swap: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 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: 0x00000000
4.重启系统并格式化分区sda3文件系统
[root@test-centos6 ~]# reboot
[root@test-centos6 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 447M 0 rom
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 19.5G 0 part
│ ├─vg_testcentos6-lv_root (dm-0) 253:0 0 17.5G 0 lvm /
│ └─vg_testcentos6-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
└─sda3 8:3 0 40G 0 part
[root@test-centos6 ~]# mkfs.ext4 /dev/sda3 //将/dev/sda3分区文件系统格式化为ext4
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2621440 inodes, 10484755 blocks
524237 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
5.创建物理卷(pv)
此步骤可省略:当将分区直接添加到卷组(vg)时,LVM会自动将分区转换为物理卷(pv)。
[root@test-centos6 ~]# lvm
lvm> pvcreate /dev/sda3 //创建物理卷pv
Physical volume "/dev/sda3" successfully created
lvm> pvdisplay //显示物理卷pv信息
--- Physical volume ---
PV Name /dev/sda2
VG Name vg_testcentos6
PV Size 19.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4994
Free PE 0
Allocated PE 4994
PV UUID jMIPOc-sduo-sl4T-6iQ5-ledQ-1w9O-cweeEC
"/dev/sda3" is a new physical volume of "40.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sda3
VG Name
PV Size 40.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID PVrdc7-fUEX-PAxZ-ME92-IuNU-khDC-c5tYlp
lvm> pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name vg_testcentos6
PV Size 19.51 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4994
Free PE 0
Allocated PE 4994
PV UUID jMIPOc-sduo-sl4T-6iQ5-ledQ-1w9O-cweeEC
"/dev/sda3" is a new physical volume of "40.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sda3
VG Name
PV Size 40.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID PVrdc7-fUEX-PAxZ-ME92-IuNU-khDC-c5tYlp
6.查看并创建卷组(vg)
lvm> vgdisplay //查看需要扩展的卷组vg名称
--- Volume group ---
VG Name vg_testcentos6 //卷组vg名称
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size 59.49 GiB
PE Size 4.00 MiB
Total PE 17790
Alloc PE / Size 15232 / 19.50 GiB
Free PE / Size 2558 / 9.99 GiB
VG UUID yVVWYi-mV3I-f1WI-2QeH-HkVT-oBXP-2KkQ8v
lvm> vgextend vg_testcentos6 /dev/sda3 //扩展卷组(这里的“vg_testcentos6”名称为上面的卷组名称)
Volume group "vg_testcentos6" successfully extended
7.扩展逻辑卷(lv)
[root@test-centos6 ~]# df -h //查看扩展路径,这里也可以用fdisk -l查看
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_testcentos6-lv_root -----》 //**扩展路径**
18G 18G 0 100% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 485M 58M 403M 13% /boot
[root@test-centos6 ~]# lvm //进入LVM管理器
lvm> lvextend -L +39.99G /dev/mapper/vg_testcentos6-lv_root //扩展逻辑卷lv大小(通过fdisk -l/df -h查看要扩展过去的磁盘)
Rounding size to boundary between physical extents: 39.99 GiB.
Size of logical volume vg_testcentos6/lv_root changed from 17.51 GiB (4482 extents) to 57.50 GiB (14720 extents)
Logical volume lv_root successfully resized.
lvm> lvscan
ACTIVE '/dev/vg_testcentos6/lv_root' [57.50 GiB] inherit
ACTIVE '/dev/vg_testcentos6/lv_swap' [2.00 GiB] inherit
lvm> pvscan
PV /dev/sda2 VG vg_testcentos6 lvm2 [19.51 GiB / 0 free]
PV /dev/sda3 VG vg_testcentos6 lvm2 [39.99 GiB / 0 free]
Total: 2 [59.50 GiB] / in use: 2 [59.50 GiB] / in no VG: 0 [0 ]
lvm> exit
Exiting.
8.查看分区情况
[root@test-centos6 ~]# fdisk -l
Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 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: 0x000a16bc
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2611 20458496 8e Linux LVM
/dev/sda3 2611 7832 41939020 83 Linux
Disk /dev/mapper/vg_testcentos6-lv_root: 18.8 GB, 18798870528 bytes
255 heads, 63 sectors/track, 2285 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: 0x00000000
Disk /dev/mapper/vg_testcentos6-lv_swap: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 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: 0x00000000
注意:上面虽然显示物理卷/dev/sdb3有40G空闲,但是这里不能全部使用,可能只有39.99G可以使用。
7.激活即重新读取磁盘信息
查看/dev/mapper/vg_testcentos6-lv_root的Type为ext4,所以使用resize2fs;如果文件类型是 xfs ,则使用xfs_growfs命令格式化。
[root@test-centos6 ~]# blkid //查看文件系统
/dev/sda1: UUID="32a489a3-65c2-43a4-9aff-12c03eabc4dd" TYPE="ext4"
/dev/sda2: UUID="jMIPOc-sduo-sl4T-6iQ5-ledQ-1w9O-cweeEC" TYPE="LVM2_member"
/dev/sda3: UUID="PVrdc7-fUEX-PAxZ-ME92-IuNU-khDC-c5tYlp" TYPE="LVM2_member"
/dev/mapper/vg_testcentos6-lv_root: UUID="e8adf717-e78c-4845-a750-2a22a60689ed" TYPE="ext4" //可以看到文件系统格式化为ext4
/dev/mapper/vg_testcentos6-lv_swap: UUID="ac33f130-95cc-4046-8bdd-db2d7c450f6d" TYPE="swap"
[root@test-centos6 ~]# resize2fs /dev/mapper/vg_testcentos6-lv_root //ext4文件系统使用resize2fs
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_testcentos6-lv_root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 4
Performing an on-line resize of /dev/mapper/vg_testcentos6-lv_root to 15073280 (4k) blocks.
The filesystem on /dev/mapper/vg_testcentos6-lv_root is now 15073280 blocks long.
[root@test-centos6 ~]# df -h //查看激活状态
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_testcentos6-lv_root
57G 4.4G 50G 9% /
tmpfs 1.9G 244K 1.9G 1% /dev/shm
/dev/sda1 485M 58M 403M 13% /boot
可以看到现在我们的磁盘已经从最开始的19G扩展到了57G。