我们在使用VPS/云主机时经常会遇到增加硬盘容量的情况,像阿里云、腾讯云、Linode这样的都是可以直接追加硬盘的,如果用的是SolusVM VPS/云主则可以直接在SolusVM中增加硬盘容量。但是硬盘容量扩大后,还需要我们手动挂载硬盘分区。
给Linux VPS/云主硬盘扩容一般来说有两种方式,一种是常用的,即将硬盘分区挂载到某一个目录下;另一种则是直接在原来的硬盘上分区上扩容。第一种扩容硬盘的方式操作起来简单,但是后期如果想要再增加硬盘的话面临着重新增加分区的麻烦。
第二种方式比较适合经常扩容硬盘的用户,可以实现动态扩容并且不影响原有的目录结构。本篇文章就来分享一下利用fdisk命令给Linux VPS/云主硬盘扩容方法,fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,操作起来有点麻烦。
展开索引
一、fdisk命令
fdisk命令语法:
fdisk(选项)(参数)
选项:
-b<分区大小>:指定每个分区的大小; -l:列出指定的外围设备的分区表状况; -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块; -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址; -v:显示版本信息。
参数:
设备文件:指定要进行分区或者显示分区的硬盘设备文件。
示例:
首先选择要进行操作的磁盘:
[root@andyx.net ~]# 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格式的硬盘上。硬盘操作前请做数据备份,稍有不慎就会丢失原有的数据,“删库跑路”的悲剧都是这么搞出来的。
(END)
文章出自:挖站否 https://wzfou.com/linux-vps-fdisk/,版权所有。