VirtualBox中安装了CentOS 7,给同事用来做kafka和zookeeper测试服务器。昨晚kafka意外终止,看了日志发现是/root只分配了1GiB大小,已接近饱和。开始bing,总结一下步骤:
列出各分区使用情况:
# df -Th
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/centos-root xfs 997M 994M 2.9M 100% / devtmpfs devtmpfs 915M 0 915M 0% /dev tmpfs tmpfs 921M 0 921M 0% /dev/shm tmpfs tmpfs 921M 17M 905M 2% /run tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup /dev/mapper/centos-usr xfs 4.9G 1.6G 3.4G 33% /usr /dev/sda1 xfs 97M 66M 31M 69% /boot /dev/mapper/centos-var xfs 2.4G 473M 1.9G 21% /var
可以看见 /dev/mapper/centos-root 已经使用了100%,我们准备为它扩容。
先关闭操作系统。在VirtualBox中选中当前VM,设置->存储->控制器->SATA控制器,点击图标“添加虚拟硬盘”,新建一个虚拟硬盘。我增加了一块3GiB大小的虚拟磁盘,保存后再次启动虚拟机。
创建新分区
先看一下现有磁盘情况:
# fdisk -l
结果:
Disk /dev/sda: 21.5 GB,21474836480 bytes,41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000940ec Device Boot Start End Blocks Id System /dev/sda1 * 2048 206847 102400 83 Linux /dev/sda2 206848 41943039 20868096 8e Linux LVM Disk /dev/sdb: 3221 MB,3221225472 bytes,6291456 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/centos-swap: 2097 MB,2097152000 bytes,4096000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/centos-usr: 5242 MB,5242880000 bytes,10240000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mapper/centos-root: 1048 MB,1048576000 bytes,2048000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes ... ... ...
已经可以看到新磁盘/dev/sdb。
对新磁盘进行分区:
# fdisk /dev/sdb
在fdisk的交互模式中,依次输入:
n --创建新分区 p --创建主分区 <回车> --默认分区编号 <回车> --默认起始扇区位置。 <回车> --默认结束扇区位置。 w --写入分区表
这样就把整个磁盘分成了一个区。
再看一下现有磁盘情况:
# fdisk -l
已经多出了一个新分区:
Device Boot Start End Blocks Id System /dev/sdb1 2048 6291455 3144704 83 Linux
将新分区用于扩展/root
先看一下卷分组:
# vgdisplay -v
Finding all volume groups Finding volume group "centos" --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 6 VG Access read/write VG Status resizable MAX LV 0 Cur LV 5 Open LV 5 Max PV 0 Cur PV 1 Act PV 1 VG Size 19.90 GiB PE Size 4.00 MiB Total PE 5094 Alloc PE / Size 5093 / 19.89 GiB Free PE / Size 1 / 4.00 MiB VG UUID vtJL08-7Jxi-5IqK-3fUg-Pben-682a-wiv2GL --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID ZWTgoT-AMWs-g54v-dZA1-NQUj-mqGa-8tmr4U LV Write Access read/write LV Creation host,time localhost,2016-07-03 21:59:31 -0400 LV Status available # open 1 LV Size 1000.00 MiB Current LE 250 Segments 1 Allocation inherit Read ahead sectors auto currently set to 256 Block device 253:2 ... ... ... --- Physical volumes --- PV Name /dev/sda2 PV UUID fiVH1e-lwfi-63Lr-oIlK-GDZI-dcuZ-T04VlC PV Status allocatable Total PE / Free PE 5094 / 1
可以看到当前卷分组名为"centos"。
为之前新增的分区创建物理卷:
# pvcreate /dev/sdb1
提示是否擦除xfs签名,我选了y:
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n] y Wiping xfs signature on /dev/sdb1. Physical volume "/dev/sdb1" successfully created
查看结果:
# pvdisplay
已经看到新创建的3GiB大小的物理卷:
--- Physical volume --- PV Name /dev/sda2 VG Name centos PV Size 19.90 GiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 5094 Free PE 1 Allocated PE 5093 PV UUID fiVH1e-lwfi-63Lr-oIlK-GDZI-dcuZ-T04VlC "/dev/sdb1" is a new physical volume of "3.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 3.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID VGXSAn-UiZ0-Fy40-eQxb-53xA-5hZM-3eGPg0
扩展卷分组,"centos"是vgdisplay命令查到的卷分组名:
# vgextend centos /dev/sdb1
提示成功扩展。
下面查看一下逻辑卷:
# lvdisplay
可以看到/dev/centos/root目前的LV Size是1000MiB。
下面扩展逻辑卷/dev/centos/root:
# lvextend -L +3G /dev/centos/root
注:+3G是我们新增加的分区大小。
扩展后,还要执行一步:
# xfs_growfs /dev/centos/root
将文件系统扩大。
完成。
因为安装CentOS用的xfs分区,所以使用命令xfs_growfs扩展文件系统大小。否则的话使用resize2fs命令。
查看结果:
# df -Th
/root已经扩充到4GiB:
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/centos-root xfs 4.0G 995M 3.1G 25% / devtmpfs devtmpfs 915M 0 915M 0% /dev tmpfs tmpfs 921M 0 921M 0% /dev/shm tmpfs tmpfs 921M 8.4M 913M 1% /run tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup /dev/mapper/centos-usr xfs 4.9G 1.6G 3.4G 33% /usr /dev/mapper/centos-home xfs 9.8G 391M 9.4G 4% /home /dev/mapper/centos-var xfs 2.4G 469M 1.9G 20% /var /dev/sda1 xfs 97M 66M 31M 69% /boot