GitHub
Hui's Blog

虚拟机VirtualBox中挂载新硬盘

在VirtualBox中装好Linux后,发现硬盘空间太小,怎样才能增加硬盘容量?那就是再建一个硬盘:

添加新硬盘

设置 -> Storage(存储) -> SATA控制器->右击,选择”添加虚拟硬盘”
然后,根据需求创建合适的硬盘

重启虚拟机

查看现有系统的磁盘空间

sudo fdisk -l

可看到新加的虚拟硬盘,一般名为:Disk /dev/sdb

给新加的硬盘分区

fdisk /dev/sdb

键入m,可看到帮助信息

command (m for help):m

增加新分区

command (m for help):n

选择基本分区,输入:p 建一个分区

Partition number(1-4):

回车

First cylinder (1-15908,default 1):Enter

写入并退出

command (m for help):w

格式化磁盘分区

用ext4格式对/dev/sdb1进入格式化

sudo mkfs.ext4 /dev/sdb1

挂载分区

创建新的挂载点

sudo mkdir /work

将新磁盘分区挂载到/work目录下

sudo mount -t ext4 /dev/sdb1 /work

查看挂载

df -h

可以看到新加的硬盘:/dev/sdb1

开机自动挂载

修改文件

sudo vim /etc/fstab

在最后一行加入:

/dev/sdb1 /work ext4 errors=remount-ro 0 1

完成!


补充:为挂载点扩容

假设之前我们有一个挂载点为 /mydata ,但该 /mydata 已经写满,但依然想在 /mydata 下添加新的数据,这时可以使用软链接将 /mydata 软链接到一个新挂载的磁盘分区上以实现扩容。具体步骤如下。

1. 创建一个目录,以便稍后作为挂载点:

mkdir /newdata

2. 将 /dev/sdb1 分区挂载到 /newdata 下:

mount /dev/sdb1 /newdata

3. 新建 /mydata 到 /newdata 的软链接:

ln -s /newdata /mydata

此时在 /mydata 目录下会有一个软链接文件 newdata 指向 /newdata/ ,即 newdata-> /newdata/ 。这样一来,只要我们向 /mydata/newdata 下写文件,实际就写入了 /newdata/ 目录下,相当于我们为原 /mydata 挂载点新增加了一部分使用空间。

也可以手动指定该软链接文件的名称:

ln -s /newdata /mydata/customed_name

这样就有 /mydata/customed_name -> /newdata

注: 我们也可以利用软链接的这一用途,将比较大的日志文件链接到存储空间充足的磁盘分区的挂载点上。
举例来说,如果 /opt/tomcat/logs/catalina.out 日志文件输入很多,占用空间很大,而 /opt 挂载点中所剩空间已经不多,存在溢出风险,通过下面两步就可以将该日志文件软链接到另一个磁盘分区的挂载点上:

touch /newdata/catalina_link.out
ln -sf /newdata/catalina_link.out /opt/tomcat/logs/catalina.out

这里还需要注意三点:

一是必须先创建一个被链接的文件,否则软链接后失败;
二是强制软链接会清空之前 /opt/tomcat/logs/catalina.out 日志文件中的全部内容清空;
三是需要重启 tomcat 目录后才能继续向 /opt/tomcat/logs/catalina.out 写入。

-------------本文结束-------------