VPS主机

Linux VPS主机硬盘扩容方法-VPS新硬盘分区挂载和硬盘动态扩容

我们在使用VPS主机时经常会遇到增加硬盘容量的情况,像阿里云腾讯云Linode这样的都是可以直接追加硬盘的,如果用的是SolusVM VPS主机则可以直接在SolusVM中增加硬盘容量。但是硬盘容量扩大后,还需要我们手动挂载硬盘分区。

给Linux VPS主机硬盘扩容一般来说有两种方式,一种是常用的,即将硬盘分区挂载到某一个目录下;另一种则是直接在原来的硬盘上分区上扩容。第一种扩容硬盘的方式操作起来简单,但是后期如果想要再增加硬盘的话面临着重新增加分区的麻烦。

第二种方式比较适合经常扩容硬盘的用户,可以实现动态扩容并且不影响原有的目录结构。本篇文章就来分享一下利用fdisk命令给Linux VPS主机硬盘扩容方法,fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,操作起来有点麻烦。

更多的关于Linux VPS主机操作教程这里还有:

  1. Linux系统磁盘空间占满的解决方法-No Space Left on Device错误
  2. aaPanel宝塔免费VPS控制面板国际版-自动申请SSL多PHP版本共存
  3. OneDrive变身外链网盘-Aria2+Aria2Ng+OneIndex自动上传OneDrive

PS:2019年3月1日更新,如果你的硬盘存储总是处在变动当中,可以尝试动态扩容,“一劳永逸”地解决存储容量不足的问题:Linux独立服务器和VPS主机硬盘动态扩容-LVM逻辑卷扩大缩小方法

一、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了。如下图:

保存分区后重启好了VPS后,创建逻辑卷和逻辑卷组并激活,命令如下:

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可供分配。

然后创建了一个名为qimm的逻辑卷,将70GB都赋予给它。现在我们就可以像上面那样编辑/etc/fstab 文件,新增加的/dev/qyfoutt/qimm 分区挂载到某一个目录下了。格式如下:

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

动态扩容。假如又增加了硬盘,这里我们就可以将新的硬盘空间增加在原来的硬盘上了。按照上面的方法新建分区(这里我新建分区是vda4)并设置为LVM格式。

使用以下方法扩容:

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

六、总结

如果你使用命令dh和fdisk查看硬盘显示不一样,可能是分区了但是没有将容量扩容到硬盘上,请执行resize2fs 扩容命令。如果你发现dh和fdisk查看分区和硬盘容量一致,但是还在大量空闲磁盘,那应该是没有分区。

请先把空闲的硬盘进行分区,如果原来已经存在LVM格式的分区,你可以将新的分区直接扩容在LVM格式的硬盘上。硬盘操作前请做数据备份,稍有不慎就会丢失原有的数据,“删库跑路”都是这么搞出来 的。

文章出自:挖站否 https://wzfou.com/linux-vps-fdisk/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

文章更新于: 2020年10月16日 下午9:35

Qi

关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。

查看评论