为 CentOS 添加磁盘并扩容
lvm 好处多多,灵活方便。现在我们来试试。
首先挂上磁盘,然后查看新盘信息:
fdisk -l
可以看到新盘的盘符,如: /dev/sdb 之类的。
然后对新盘进行分区:
fdisk /dev/sdb
在这儿添加一个 Primary 分区(P),完成后再改变分区类型为 Linux LVM,代码是 8e ,保存后退出。然后用
partprobe
重新读取分区表。用
ll /dev/sdb*
会发现生成了一个 /dev/sdb1 的分区。
为这个分区建立物理卷。
pvcreate /dev/sdb1
完成后,用
pvdisplay
查看。显示成功。
下一步是将 pv(物理卷) 加入 vg(卷组),先查看卷组信息:
vgdisplay
显示已经有一个叫做 centos 的 vg 了。使用
vgextend centos /dev/sdb1
把新的 pv 加入到 centos 这个 vg 中去。
再使用
vgdisplay
就会发现添加成功了。
然后再通过创建 lv(逻辑卷) 来划分新的分区供使用:
lvcreate -L 200G -n lv-data centos
或所有剩余空间
lvcreate -l 100%FREE -n lv-data centos
在这里,200G 是要创建的 lv 大小, lv-data 是 lv 的名称。
然后使用
lvdisplay
查看,发现已经成功了。
格式化后的 lv 就可以开始挂载使用了:
mkfs.xfs /dev/centos/lv-data
挂上去看看大小:
mount /dev/centos/lv-data /mnt df -h
但这个重启后就没了,所以要设置成自动挂载,在 /etc/fstab 文件下面加多一行就可以了:
/dev/centos/lv-data /data xfs defaults 0 0
重启就OK了。
使用一段时间之后,发现空间不够用了,怎么办?如果是虚拟机,就直接在虚拟机管理里面把硬盘扩容。如果是物理机,就添加一块新硬盘。在这儿我们以虚拟机为例。
硬盘扩容之后,查看分区情况:
df -Th
然后给扩容的部分分区,注意要选 lvm 。
fdisk /dev/sdb # 选 p 打印,然后按提示添加分区
然后用
partprobe
重新读取分区表,完成之后,会多一个分区。
将其格式化,具体是什么格式看 df -Th 的结果。在这儿我们以 ext4 为例:
mkfs.ext4 /dev/sdb2
然后扩展 vg :
vgextend lvg-data /dev/sdb2
使用如下命令对 lv 进行扩容:
# 把所有剩余空间都分配给 lv-data lvextend -l +100%FREE /dev/centos/lv-data
或
# 为 lv-data 增加 10G 空间 lvextend -L +10G /dev/centos/lv-data
查看一下:
lvdisplay
嗯,生效了。
然后再调整系统大小:
xfs_growfs /dev/centos/lv-data
或
resize2fs /dev/centos/lv-data
再查看一下:
df -Th
已经扩容成功了。