我有一个生产服务器,我想将/ home,/ opt,/ tmp,/ user,/ var移动到为此专门创build的〜300GB分区。
没有直接的解释如何做到这一点,除了我可以把上面指定的每个文件夹在一个单独的分区,但我不想这样做。 原因:
有没有什么办法来实现我想要的,所以所有的工作就好像文件夹是在同一个硬盘上?
PS这些是我迄今为止发现的最有效的链接:
Link1_LinuxAndUnix
Link2_UbuntuDocumentation
Link3_LinuxNewbieAdministrator
谢谢!
更新:
所有登上!
UUID = rootUUID / ext4 errors = remount-ro 0 1
UUID = swapUUID none swap sw 0 0
/ dev / sr0 / media / cdrom0 udf,iso9660用户,noauto 0 0
UUID = otherDriveUUID / mnt / sdb2 ext4默认值0 1
/ mnt / sdb2 / tmp / tmp无默认值,绑定0 2
/ mnt / sdb2 / local / usr / local无默认值,绑定0 2
/ mnt / sdb2 / home / home无默认值,绑定0 2
/ mnt / sdb2 / opt / opt none defaults,bind 0 2
/ mnt / sdb2 / var / var none defaults,bind 0 2
你正在寻找的是绑定挂载。 有关详细信息,请参阅http://man7.org/linux/man-pages/man8/mount.8.html 。
以下是将/ home,/ opt,/ tmp,/ usr和/ var移动到单个单独分区的分步指南。
我不为任何因遵循本指南而导致的数据损坏或丢失负责。 与往常一样, 确保所有重要数据都已备份,然后再继续 。
从您最喜爱的Live CD启动。 例如: https : //www.debian.org/CD/live/
切换到root shell。 这通常可以用sudo su -
安装主分区和辅助分区。 为了本指南的目的,我们假定它们是/dev/sda1和/dev/sdb1 。
mkdir /mnt/sd{a,b}1 mount /dev/sda1 /mnt/sda1 mount /dev/sdb1 /mnt/sdb1
将现有文件夹/数据从主分区移到辅助分区。 这可能需要几分钟,具体取决于文件夹的大小和驱动器的速度。
mv /mnt/sda1/{home,opt,tmp,usr,var} /mnt/sdb1/
在主分区上创build空文件夹给我们挂载点。
mkdir /mnt/sda1/{home,opt,tmp,usr,var} /mnt/sda1/mnt/sdb1
编辑你的fstab来自动挂载辅助分区并绑定挂载适当的文件夹。 这一步很大程度上是您当前configuration的主观性,可能无法直接复制/粘贴。
用你最喜欢的编辑器编辑/mnt/sda1/etc/fstab 。
你可以在http://man7.org/linux/man-pages/man5/fstab.5.htmlfind关于fstab的详细信息
首先,我们需要挂载辅助分区,然后才能绑定到它。 这个分区可能已经在你的fstab中了。 如果是,请相应地编辑/删除configuration。 在这里,我们假定它是一个带有默认选项的ext4分区。
/dev/sdb1 /mnt/sdb1 ext4 defaults 0 2
接下来,configuration绑定挂载。
/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
保存你的修改到fstab。
重启