如何将/ tmp,/ var,/ opt和/ usr / local放入/ data分区而不是/ partition?

我想分割一个有4个RAID VD的CentOS 6.5服务器:

  • sdb – 102398(100GB)
  • sdc – 2185727(2TB)
  • sdd – 11440639(11TB)
  • sde – 11440639(11TB)

这样我可以将大部分磁盘空间作为一个单独的分区/ data )。 我想要这个大的单个分区包含/ tmp/ var/ opt/ usr / local 。 我希望/分区包含操作系统的其余部分。 我们的目标是让/ data分区存储易失性数据( / tmp/ var等)以及用户数据和应用程序( / opt/ usr / local/ home等)作为符号链接,/ tmp – > / data / tmp)或绑定挂载(例如,在/ etc / fstab:/ data / tmp / tmp none bind 0 0)。 我已经考虑过分区,比如: 分区

在安装过程中,默认的CentOS分区总是在/ filesystem中包含/ tmp请注意 :我不希望/ tmp/ var等作为单独的文件系统。 鉴于我的RAIDconfiguration和磁盘大小,我假设/数据分区将需要是一个LVM xfs分区,对吧?

任何人都可以告诉我怎样才能做到这一点? 我已经尝试作为单个用户启动,并使绑定挂载上面,但重新启动失败,查看/ var的问题。 也许符号连接的方法会起作用,但在这一点上,我希望有一些专家的意见!

基于你的意见,我会build议:

使用您的硬件RAID控制器为操作系统创build镜像(RAID 1)卷。 这个卷应该在您的BIOS设置中被指定为您的启动驱动器。 随着许多RAID控制器/驱动程序,这个卷将显示为/dev/sda到您的CentOS系统。

如果其余的驱动器也连接到你的RAID控制器,你可以使用创build一个JBOD卷(没有冗余和1个驱动器死亡将毁坏所有数据),这将显示为/dev/sdb 。 否则,其他驱动器只能作为独立驱动器出现在CentOS中。 这些将是/dev/sdb /dev/sdc

既然你想有一个最小的磁盘空间分配给操作系统和其他一切你的数据卷我会分区/ dev / sda如下

 /dev/sda sda1 - 250 MB - ext3 - /boot (I still find a separate boot partition useful) sda2 - 2-5 GB - ext4 - / (this may also be a LVM physical volume for vg_root VG) sda3 - ??? - swap - (when using LVM merge with the vg_root Volume Group) sda4 - all remaining space - physical volume for a vg_data Volume Group /dev/sdb sdb1 - all space - physical volume for a vg_data Volume Group /dev/sdc sdc1 - all space - physical volume for a vg_data Volume Group vg_root lv_root - 2-5 GB - ext4 - / lv_swap - ??? <swap> vg_data lv_data - 20 TB? - ext4 - /data 

请注意,正如你指定的那样,当只有一个组件磁盘死亡时,/ data将死于一次仁慈的快速死亡。

这里的技巧是将启动盘的剩余空间分配给您的数据卷组,从而为您提供最大的空间。

现在,如果您的应用程序和用户不遵守$ TEMPDIR设置,只需将/tmp移动到/data/tmp然后创build一个符号链接,而不是ln -s /data/tmp /tmp 。 和你想要搬迁的东西一样。

最好在kickstart脚本的安装后部分或完成安装后的单用户模式下执行此操作。

注意:我可以看到将/ var / tmp移动到/ data / tmp,而不是移动整个/ var。 通过devise/数据是你最不可靠的存储,你打算让用户和应用程序完全填充该空间…