在 ubuntu 中创建新的挂载点

create new mount point in ubuntu

我已经在我的一台服务器上安装了 ubuntu,如下所示

udev            7.2G     0  7.2G   0% /dev
tmpfs           1.5G   41M  1.4G   3% /run
/dev/vda1        99G  4.6G   89G   5% /
tmpfs           7.2G  4.0K  7.2G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.2G     0  7.2G   0% /sys/fs/cgroup
/dev/vdb1       443G   71M  421G   1% /home
tmpfs           1.5G     0  1.5G   0% /run/user/1001

这里我想从“/home”的存储中创建一个名为“/app”的新挂载点

我如何在 ubuntu 服务器中执行此操作?

有 3 种方法可以做到这一点。我在这里猜测是因为很难理解你到底想要什么。

  1. 只需创建一个符号 link
  2. 利用 "bind" 功能
  3. 制作一个磁盘映像文件并挂载它

塞纳里奥 1.

我们已经将 /home 与我们所有的磁盘存储挂载在一起,现在我们希望 /app 只使用与 /home 相同的目录。好吧,只需创建一个符号 link.

ln -s /app /home

现在,当您进入 /app 时,您将进入 /home。只知道 symlink 被视为文件而不是目录。如果您需要从脚本等监控它

Senario 2.

你需要挂载,那么我们可以使用挂载的"bind"特性。 你像这样创建一个绑定安装。

mkdir /app
mount --bind /home /app

现在 /app 在磁盘级别/挂载级别上与 /home 相同。 还请记住,如果您希望它在启动时安装它更永久,您需要将它添加到 /etc/fstab

/home /app none defaults,bind 0 0

Senario 3.

假设您在 /home 中拥有可用的所有存储空间 space,并且您需要将 /app 作为一个单独的挂载点并拥有自己的存储空间。您可以使用绑定功能等将 /home/app 挂载到 /app。这是最有道理的。但是您也可以创建一个磁盘映像文件来保存您的分区。不推荐使用最后一种方法,但包括在内以涵盖大多数选项。

dd if=/dev/zero of=/home/app-disk.img bs=1M count=10
mkfs.ext4 /home/app-disk.img
mkdir /app
mount -o loop /home/app-disk.img /app

这会将您的磁盘映像挂载为 /app,并且 "image" 包含在您的主存储设备上。

希望对您有所帮助,我推荐scenario/option 1和2。

PS.

您还可以考虑缩小 /home 分区以释放分区 table space 并为 /app 创建一个新的单独分区。但我不建议对磁盘 tables 了解不多的人这样做。这可能会导致数据丢失。