将 /var、/home 移动到单独的分区

将 /var、/home 移动到单独的分区

阅读本指南后,我尝试将某些文件夹(例如/var/home)移动到单独的分区:

3.2.1 选择智能分区方案

我能够成功移动一个文件夹指导。

但是,它似乎不适用于多个文件夹,并且我的所有文件夹都转储到没有适当文件夹的分区中。

我想将/var/home、 、挂载/tmp到单独的分区上;有人可以指导我吗?

答案1

1. 首先,您需要一些未分配的空间来为每个安装点(/var、/home、/tmp)创建分区。为此,请使用 Gparted。

2. 然后您需要为这些分区创建文件系统(也可以使用 Gparted 完成)或使用:

mkfs.ext4 /dev/sdaX

例如,在 /dev/sdaX 设备上创建新的 ext4 文件系统(将 /dev/sdaX 替换为您自己的设备)

3. 将新文件系统挂载到/mnt下

mkdir /mnt/var        
mount /dev/sdaX /mnt/var

4. 进入单用户模式,以便在此过程中目录上没有 rw 活动

init 1

5. 输入您的 root 密码。

6. 仅备份var中的数据(而不是/var目录本身)

cd /var
cp -ax * /mnt/var

7. 数据传输成功后,重命名 /var 目录。

cd /
mv var var.old

8. 新建var目录

mkdir var

9. 卸载新分区。

umount /dev/sdaX

10.将其重新挂载为/var

mount /dev/sdaX /var

11. 编辑 /etc/fstab 文件以包含新分区,以 /var 为挂载点,以便在启动时自动挂载。

/dev/sdaX       /var     ext4    defaults    0 0

12. 对 /home 和 /tmp 重复步骤 1-11。

13.最后返回多任务模式。

init 5

答案2

如果您想在同一分区上使用它们,您可以使用LVM或三个简单的绑定安装。

要创建基于绑定的解决方案,您

  1. 创建带有文件系统的分区
  2. 进入救援模式(单用户仍然需要一些文件夹)
  3. 将其安装为/mnt/data
  4. 移动所有要移动的文件夹。使用cpandmv dir dir.old可能更安全,但由于我在安装后执行了此操作,因此对我来说并不重要。

    mv /home /mnt/data/
    mv /var  /mnt/data/
    
  5. 在 fstab 中创建适当的绑定挂载条目,例如我有

    UUID=01234567-89abc-def0-1234-567890abcde /mnt/data         ext4          noatime,nodiratime,relatime                           0       0
    
    # Binds
    /mnt/data/opt                             /opt              none          bind                                                  0       0
    /mnt/data/home                            /home             none          bind                                                  0       0
    /mnt/data/usr                             /usr              none          bind                                                  0       0
    
  6. 重启

答案3

我个人要么使用 @Fabian 的绑定安装解决方案,要么使用符号链接:

  1. /etc/fstab为新分区创建条目(blkid用于获取新分区的正确 UUID,不要忘记mkdir /mnt/data):

    UUID=01234567-89abc-def0-1234-567890abcde  /mnt/data  ext4  defaults  0 0
    
  2. 使用mount -a或类似的方法挂载新分区

  3. 将原始文件夹移动到新分区:

    mv /var /mnt/data/
    mv /home /mnt/data/
    # ... (you get the point)
    
  4. 创建符号链接

    ln -s /mnt/data/var /var
    ln -s /mnt/data/home /home
    # ...
    

尽管绑定安装方法可能是最佳实践解决方案,但我更喜欢这种方法,因为您最终不会得到不必要的长列表dfmount分区列表。

答案4

将 /var 目录安装在不同的分区上。让我们开始附加一个新的 LVM、分区并创建所需的文件系统。

使用新磁盘创建 LVM:/dev/sdb

# pvcreate /dev/sdb
# vgcreate  vg_var /dev/sdb
# vgdisplay
# df -Th
# lvcreate -n lv_var -l +<PE Free Size>
# mkfs.xfs /dev/mapper/vg_var-lv_var
# lsblk

创建一个新的挂载点并挂载新分区:

 # mkdir /mnt/var
 # mount /dev/mapper/vg_var-lv_var  /mnt/var/

开始将 /var 同步到新的临时安装分区

# rsync -aqxP /var/* /mnt/var  

同步成功后卸载临时分区

# umount  /dev/mapper/vg_var-lv_var /mnt/var/
# lsblk

编辑 /etc/fstab 以包含新分区并选择相关文件系统:

/dev/mapper/vg_var-lv_var  /var                 xfs     defaults        0 0

重新启动系统即可完成。确认一切正常工作,并可以选择通过引导到某些 Live Linux 系统等来删除旧的 var 目录。

相关内容