本地SSD盘扩容方法
操作场景
本章介绍有实例的主机新增一块数据盘进行扩容的方法。
操作步骤
- 以root用户登录主机(也可使用非root用户登录主机,请使用sudo命令提权执行命令)。
- 执行lsblk命令,确保扩容的本地SSD盘已被主机识别到。
以主机上有沙箱类型的实例、新增数据盘vdc进行扩容为例,回显如下所示,数据盘扩容路径为/var/chroot/var/lib/engine/data1。
![点击放大]()
- 执行如下命令,新建并打开脚本extend.sh。
vi extend.sh
- 复制如下代码至extend.sh脚本中。
#! /bin/bash new_disks=$1 target=$2 extend_size=$3 # new_disk make sure the disk is valid. It can be a list(when split by ','). # target eg:/var/chroot/var/lib/engine/data1 # show lsblk info, check the disk is managed by lvm or lvm2. read vg_name disk_type mount_point <<< $(echo $(lsblk -l|grep $target|awk {'print($ 1, $6,$7)'})) echo "lsblk info: $vg_name, $disk_type, $mount_point" if [[ $disk_type == lvm* ]] then echo "Type: $disk_type, ..." else echo "It's not a lvm filesystem" exit 1 fi # split the new_disks disk_list=(`echo $new_disks |tr ',' ' '`) # ready to create a pv one by one. for new_disk in ${disk_list[@]} do # cmd : pvcreate /dev/sdc pvcreate $new_disk done # pv without vg_group echo "--------------------" echo "$(pvs)" echo "--------------------" # vg extend volume one by one for new_disk in ${disk_list[@]} do # cmd : vgextend gaussdbvg /dev/sdc vgextend gaussdbvg $new_disk done # figure out the target mount_point's FileSystem. read file_system <<< $(df -h |grep $target |awk {'print($1)'}) echo "The $target 's mapper is: $file_system ." # cmd : 100% vg free; lvextend -l +100%FREE /dev/mapper/gaussdbvg-mydata1 # lvextend -l +100%FREE $file_system , should be sum(new_disks) for new_disk in ${disk_list[@]} do # cmd : vgextend gaussdbvg /dev/sdc read size <<< $(echo $(fdisk -l|grep -w $new_disk |awk {'print($3)'})) lvextend -L +$extend_size""G $file_system done resize2fs $file_system - 按“Esc”键后执行如下命令,保存并退出extend.sh脚本。
:wq!
- 执行如下命令,执行extend.sh脚本,以扩容盘vdc为例,扩容100GB。
chmod +x extend.sh; ./extend.sh /dev/vdc /var/chroot/var/lib/engine/data1 100;
该脚本支持多盘扩容,以扩容盘vdc、vdd为例,命令如下所示。
chmod +x extend.sh; ./extend.sh /dev/vdc,/dev/vdd /var/chroot/var/lib/engine/data1 100;
注意,如果有多个数据盘扩容路径,请将扩容大小均分。
- 执行lsblk命令,检查扩容结果。
![点击放大]()


浙公网安备 33010602011771号