/home /opt /tmp /usr /var 在另一个硬盘驱动器的单个分区上 Debian 8

XMi*_*ght 3 linux partition mount diskmanagement debian-jessie

我有一个生产服务器,我想将 /home、/opt、/tmp、/user、/var 移动到专门为此目的创建的 ~300GB 分区。

没有找到关于如何执行此操作的简单解释,只是我可以将上面指定的每个文件夹放在一个单独的分区上,但我不想这样做。原因:

  1. 我不知道这些文件夹最终可能会使用多少空间,所以一个驱动器可以很好地完成所有这些。
  2. 我认为这对我来说要简单得多。我不想在同一个驱动器上有大量的分区。
  3. 我将安装一个服务器应用程序,它将执行大量 I/O 和一个 MySQL 服务器,我不希望它减慢系统硬盘驱动器的速度或干扰它。
  4. 智能分区

有什么方法可以实现我想要的,所以所有文件夹都可以像文件夹在同一个硬盘上一样工作?

PS这些是迄今为止我发现的最相关的链接:

Link1_LinuxAndUnix

Link2_Ubuntu文档

Link3_Linux新手管理员

谢谢!

更新:

都装好了!

UUID=rootUUID / ext4 errors=remount-ro 0 1
UUID=swapUUID none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
UUID=otherDriveUUID /mnt/sdb2 ext4 defaults 0 1
/mnt/ sdb2/tmp /tmp 无默认值,bind 0 2
/mnt/sdb2/local /usr/local 无默认值,bind 0 2
/mnt/sdb2/home /home 无默认值,bind 0 2
/mnt/sdb2/opt /opt none默认值,绑定 0 2
/mnt/sdb2/var /var 无默认值,绑定 0 2

Jon*_*eau 6

您正在寻找的是绑定安装。有关详细信息,请参阅http://man7.org/linux/man-pages/man8/mount.8.html

这是将 /home、/opt、/tmp、/usr 和 /var 移动到单个单独分区的分步指南。

免责声明

对于因遵循本指南而导致的任何数据损坏或丢失,我概不负责。与往常一样,确保在继续之前备份所有重要数据

第1步

从您最喜欢的 Live CD 启动。示例:https : //www.debian.org/CD/live/

切换到root shell。这通常可以用sudo su -

第2步

挂载主分区和次分区。我们将假设它们是/dev/sda1并且/dev/sdb1为了本指南的目的。

mkdir /mnt/sd{a,b}1
mount /dev/sda1 /mnt/sda1
mount /dev/sdb1 /mnt/sdb1
Run Code Online (Sandbox Code Playgroud)

第 3 步

将现有文件夹/数据从主分区移动到辅助分区。这可能需要几分钟时间,具体取决于文件夹的大小和驱动器的速度。

mv /mnt/sda1/{home,opt,tmp,usr,var} /mnt/sdb1/
Run Code Online (Sandbox Code Playgroud)

第四步

在主分区上创建空文件夹,为我们提供挂载点。

mkdir /mnt/sda1/{home,opt,tmp,usr,var} /mnt/sda1/mnt/sdb1
Run Code Online (Sandbox Code Playgroud)

第 6 步

编辑您的 fstab 以自动挂载二级分区并绑定挂载相应的文件夹。此步骤很大程度上取决于您当前的配置,可能无法直接复制/粘贴。

编辑/mnt/sda1/etc/fstab与您最喜爱的编辑器。

您可以在http://man7.org/linux/man-pages/man5/fstab.5.html找到有关 fstab 的详细信息

首先,我们需要挂载辅助分区,然后才能将挂载绑定到它。该分区可能已经在您的 fstab 中。如果是这样,请相应地编辑/删除配置。在这里,我们假设它是一个带有默认选项的 ext4 分区。

/dev/sdb1 /mnt/sdb1 ext4 defaults 0 2
Run Code Online (Sandbox Code Playgroud)

接下来,配置绑定安装。

/mnt/sdb1/home /home none defaults,bind 0 0
/mnt/sdb1/opt /opt none defaults,bind 0 0
/mnt/sdb1/tmp /tmp none defaults,bind 0 0
/mnt/sdb1/usr /usr none defaults,bind 0 0
/mnt/sdb1/var /var none defaults,bind 0 0
Run Code Online (Sandbox Code Playgroud)

将更改保存到 fstab。

第 7 步

重启