我刚刚将我妻子的家用电脑从 Windows 10 换成了 Ubuntu 18.04,到目前为止,她很喜欢这种转变。这是一台只支持 Ubuntu 的机器(没有双启动,只有一个操作系统发行版,可能需要为某些特定于 Windows 的应用程序设置虚拟机)。
最后要弄清楚和设置的事情是如何处理这两个驱动器(480GBb SSD,1TB HDD)。尝试在启用 LVM 的情况下进行安装,但遇到了问题lvmetad
,不得不使用标准ext4
分区(即仅/efi
在/
SSD 上,ext4
HDD 上有一个未安装的分区,其中包含她的用户数据存档)。她有近 500GB 的考古研究数据(许多机密/专有照片、.pdf 和其他数据文件),这显然会压垮 SSD。
我正在尝试弄清楚如何设置,以便/home
保留在 ssd 上(为了速度等),而大部分存档在 HDD 上。但我不确定我是否只想安装 HDD(例如,作为/archive
)并链接到/home
,因为我希望推送到 HDD 的所有内容也完全属于她的用户空间(即,不仅仅是任何其他用户帐户可访问/可见的通用存储)。理想情况下,我想要在 HDD 上创建一个子空间,并让~/home
对文件系统管理不感兴趣并需要它“正常工作”的人可以使用和理解它,以便她可以获取她的数据。
到目前为止,我见过的所有双驱动器解决方案都只是将 HDD 安装为符号链接在下的大容量存储/home
,在两者之间设置/home
为 LVM 伪 RAID(人们对此的看法各不相同,但这是否是一个好主意,lvmetad
目前无论如何都阻止了它),或者设置一个实际的RAID(我不想进入)。
不幸的是,所有这些都超出了我对 Linux 文件系统的理解,而且非常可能我只是没有正确理解这一切。
所需设置:
- 允许设置多用户系统,使用
\home
SSD 和 HDD 上的个人用户访问大文件存储 - 硬盘上的用户文件和目录仅供该用户访问,并链接到用户的
/home
/home/[user]/[extra storage]
[hdd mount point]/[user]
在链接到仅对 [用户] 可见/可访问的SSD 上~/[extra storage]
- 配额不是必需的,但可以存储硬盘上的空间
基本上,在大容量存储设备上分离并保护各个用户共享 - 扩展用户的主目录 - 而无需将所有内容推送到/home
第二台设备。
有没有办法设置我所描述的内容,或者有人可以指出我对用户文件系统结构的想法哪里错了?
答案1
以下步骤描述了如何在硬盘上安装分区/mnt/archive
,然后添加绑定挂载到两个用户的主目录,爱丽丝和鲍勃。主目录本身仍然位于另一个分区上。
所有命令都必须以用户身份发出root
。
确定
archive
分区的 UUID:lsblk -fs NAME FSTYPE LABEL UUID MOUNTPOINT sda5 ext4 slash 467ddc36-vvvv-xxxx-yyyy-zzzzzzzzzzzz / └─sda sda6 ext4 home a87c2c2d-vvvv-xxxx-yyyy-zzzzzzzzzzzz /home └─sda sdb8 ext4 archive 291bd44c-vvvv-xxxx-yyyy-zzzzzzzzzzzz └─sdb ...
在我的例子中,我在上有
/
和,还有一个标记为 的未挂载分区。为了便于理解,我们假设是 SSD ,是 HDD。/home
sda
archive
sdb8
sda
sdb
将档案分区挂载到一个空目录中,例如
/mnt/archive
:mkdir /mnt/archive mount UUID=291bd44c-vvvv-xxxx-yyyy-zzzzzzzzzzzz /mnt/archive chown root:root /mnt/archive chmod 750 /mnt/archive
/mnt/archive
在下面(即在硬盘上)为用户创建用户特定的文件夹爱丽丝和鲍勃并调整权限,以便只有他们可以访问这些目录。请注意,这些目录现在位于archive
HDD 上的分区上:mkdir /mnt/archive/alice chown alice:alice /mnt/archive/alice chmod 750 /mnt/archive/alice mkdir /mnt/archive/bob chown bob:bob /mnt/archive/bob chmod 750 /mnt/archive/bob
archive
在主目录中创建文件夹。不用担心,因为这些目录归 拥有root
。这不会造成任何影响,因为爱丽丝不应该放任何东西在里面目录。该目录/home/alice/archive
仅作为实际绑定挂载的位置/mnt/archive/alice
,挂载后,权限和所有权/mnt/archive/alice
适用。mkdir /home/alice/archive mkdir /home/bob/archive
绑定挂载
/mnt/archive/alice
到/home/alice/archive
:mount -o bind /mnt/archive/alice /home/alice/archive mount -o bind /mnt/archive/bob /home/bob/archive
满意后,添加以下行以
/etc/fstab
在启动时自动挂载分区:# The /archive partition UUID=291bd44c-vvvv-xxxx-yyyy-zzzzzzzzzzzz /mnt/archive ext4 defaults 0 2 # bind mounts for alice and bob: /mnt/archive/alice /home/alice/archive none bind 0 0 /mnt/archive/bob /home/bob/archive none bind 0 0
之前绑定挂载已经完成了,爱丽丝只会看到由 根在她的主目录中。该目录是空的,她不能(也不应该)将文件放入其中:
alice@ubuntu:~$ ll
total 16
drwxr-xr-x 2 root root 4096 Jan 25 12:51 archive
-rw-r--r-- 1 alice alice 8980 Jan 25 12:43 examples.desktop
之后绑定挂载已经完成了 (mount -o bind /mnt/archive/alice /home/alice/archive
),
爱丽丝将会在她的主目录中看到该目录/mnt/archive/alice
,包括以下权限/mnt/archive/alice
:
alice@ubuntu:~$ ll
total 16
drwxr-x--- 2 alice alice 4096 Jan 25 13:06 archive
-rw-r--r-- 1 alice alice 8980 Jan 25 12:43 examples.desktop
她可以在该目录中做任何她喜欢的事情archive
,所有的事情都会发生在硬盘驱动器的分区上。
要撤消上述步骤,请使用以下命令:
# undo bind-mounts:
umount /home/alice/archive
umount /home/bob/archive
# unmount actual partition:
umount /mnt/archive