
我们在使用VPS主机时经常会遇到增加硬盘容量的情况,像阿里云、腾讯云、Linode这样的都是可以直接追加硬盘的,如果用的是SolusVM VPS主机则可以直接在SolusVM中增加硬盘容量。但是硬盘容量扩大后,还需要我们手动挂载硬盘分区。
给Linux VPS主机硬盘扩容一般来说有两种方式,一种是常用的,即将硬盘分区挂载到某一个目录下;另一种则是直接在原来的硬盘上分区上扩容。第一种扩容硬盘的方式操作起来简单,但是后期如果想要再增加硬盘的话面临着重新增加分区的麻烦。
第二种方式比较适合经常扩容硬盘的用户,可以实现动态扩容并且不影响原有的目录结构。本篇文章就来分享一下利用fdisk命令给Linux VPS主机硬盘扩容方法,fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,操作起来有点麻烦。
更多的关于Linux VPS主机操作教程这里还有:
- Linux系统磁盘空间占满的解决方法-No Space Left on Device错误
- aaPanel宝塔免费VPS控制面板国际版-自动申请SSL多PHP版本共存
- OneDrive变身外链网盘-Aria2+Aria2Ng+OneIndex自动上传OneDrive
一、fdisk命令
fdisk命令语法:fdisk(选项)(参数)选项:
-b<分区大小>:指定每个分区的大小; -l:列出指定的外围设备的分区表状况; -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块; -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址; -v:显示版本信息。参数: 设备文件:指定要进行分区或者显示分区的硬盘设备文件。 示例: 首先选择要进行操作的磁盘:
[root@localhost ~]# fdisk /dev/sdb输入
m
列出可以执行的命令:
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)命令说明如下:
a 切换可引导标志 b 编辑bsd disklabel c 切换dos兼容性标志 d 删除分区 l 列出已知的分区类型 m 打印此菜单 n 添加一个新分区 o 创建一个新的空DOS分区表 p 打印分区表 q 退出而不保存更改 s 创建一个新的空的Sun磁盘标签 t 更改分区的系统ID u 改变显示/输入单位 v 验证分区表 w 将表写入磁盘并退出 x 额外功能(专业)
二、Linux VPS硬盘分区
以下操作就是使用fdisk命令进行磁盘:/dev/vda→查看分区→新建分区→设定分区为3(原来已经有了1和2了)→查看分区。(点击放大)
三、Linux VPS硬盘挂载
命令一:格式化分区mkfs.ext4 /dev/vda3 //格式化分区(也可先选ext3)
命令二:开机自动挂载
vim /etc/fstab
加入:
/dev/sdb1(磁盘分区) /data1(挂载目录-需要提前创建好) ext4(文件格式,也可写ext3)defaults 0 0
你也可以照着你来的文件的格式来写,这样就不会有错了。如下图:

mount -a(注意是英文的-)
挂载成功。

四、Linux VPS硬盘动态扩容
上面我们通过硬盘挂载,成功地将新分区挂载到了服务器的某一个目录下,这样存在一个问题就是后期如果还要增大硬盘的话,又得挂载另一个目录,操作简单,但实用性不强。 按照上面给硬盘分区做好后,输入命令t,再输入:8e,这时将分区格式转化为LVM了。如下图:
pvcreate /dev/vda3 //创建物理卷
vgcreate qyfoutt /dev/vda3 //创建逻辑卷组
vgchange -ay qyfoutt //激活逻辑卷组
vgdisplay qyfoutt | grep "Total PE" //查看该卷组所有的PE
lvcreate -l 17919 -n qimm qyfoutt //创建逻辑卷
mkfs.ext4 /dev/qyfoutt/qimm //格式化逻辑卷
这里我创建一个名为qyfoutt的逻辑卷组,共70GB可供分配。

/dev/qyfoutt/qimm /ttfou ext4 defaults 0 0

pvcreate /dev/vda4 //创建物理卷
vgextend qyfoutt /dev/vda4 //将新硬盘加入卷组
vgdisplay qyfoutt | grep "Total PE" //查看所有PE
lvresize -l 30718 /dev/qyfoutt/qimm //重新规定大小
resize2fs /dev/qyfoutt/qimm //扩容


五、同一个分区挂载多个目录
上面我们用到的方法是将分区挂载在一个目录下,如果想要将一个分区挂载多个目录下,可以使用bind mount命令。mount /dev/vda4 /data/wwwroot
mount --bind /data/wwwroot /home
上述命令我先将分区vda4挂载在/data/wwwroot目录下,然后bind mount到home目录下,这样home目录和wwwroot目录都使用了vda4分区了。如果要取消挂载就可以使用以下命令:
umount /home
umount /dev/vda3