对于多启动 *nix 系统来说,什么是良好的分区设计/方案?

对于多启动 *nix 系统来说,什么是良好的分区设计/方案?

我计划在我的服务器上安装 Debian。我想设计分区方案,以便我可以在该服务器上安装一个或多个其他 *nix 发行版。因此,阅读了许多文章后,我认为此方案对于多重引导的初始想法来说可能是一个不错的方案:

/grub
/swap
/LVM VG1 (for OS1) ->
            /boot (LV1)
            /     (LV2)
            /tmp  (LV3)
            /var   ...
            /var/log
            /home
/LVM VG2 (for OS2) ->
            /boot
            /
            /tmp
            /var
            /var/log
            /home
... (other distros)
/LVM VG0 (for data) ->
            /data (LV1)

但是我现在有点困惑:这些分区的标签应该是什么(是否唯一)以及挂载点应该是什么样子(/home(OS1)挂载到/home以及/home(OS2)...)?

答案1

为每个发行版创建一个卷组违背了 LVM 的初衷。创建一个卷组并使用 lvcreate 为您的发行版创建分区。为避免混淆,请使用操作系统名称作为逻辑卷的标签。

例如:

lvcreate-L 2G-n gentoo-root
lvcreate -L 8G -n gentoo-usr
lvcreate -L 2G -n debian-root
lvcreate -L 8G -n debian-usr

使用一个“真实”分区作为 /boot,该分区在所有发行版之间共享并手动处理,还有一个“真实”分区用于交换。为所有发行版使用一个逻辑 /tmp,或为此使用大小约为 200mb 的 ramfs。/home 可能也应该由所有发行版共享。除此之外,我认为 /usr 和 /var 可以作为各自的单独分区,但 /var/log 不能。如果您有一些包含许多小文件的专用文件结构,那么为它们创建单独的分区可能也很有用。不过在大多数情况下,真的没有必要太担心这个。特别是当您只想尝试一些发行版时。为每个发行版创建一个根分区并完成它通常要方便得多。这真的取决于用户他们愿意管理多少复杂性。

概括:

每个发行版有单独的逻辑卷

/ ~ 2GB
/usr ~ 4-12gb
/var ~ 1-7gb

常见 lvs

/家
/tmp (可选,可以是 / 的一部分)
/usr/doc(节省空间)
/usr/man(对于不同的发行版来说可能不是一个好主意)
/var/log(使用 syslog-ng 创建发行版文件夹)

特殊用途(许多小文件)

/usr/portage (gentoo“包”)

答案2

根据我对 LVM 的理解,只要逻辑卷位于单独的卷组中,名称就不必是唯一的(因为 VG 名称会添加到 LV 名称的前面)。我倾向于使用我期望挂载的文件夹的名称来标记我的逻辑卷,或者如果其中有多个目录(即,包含 的 LV 的根目录/),则使用 LV 将包含的内容的简要描述来标记逻辑卷。

我不确定你说的 是什么意思"what should be the mounting points looking as"。你是指你的 fstab 挂载吗?它们应该是这样的;

/dev/VG1/root    /       <fstype>     defaults    0      0    (and so on, fstab junk)
/dev/VG1/usr     /usr    <fstype>     defaults    0      0

... other system-specific LV's ...

/dev/VG0/data    /data    <fstype>     <options>     fstab-junk

其中 VG1 在您上述操作系统之间发生变化,而 VG0 保持不变/data

我也不确定为什么需要一个完全独立的 LV /var/log

答案3

关于上述 Ярослав Рахматуллин 的回答:如果您在多个操作系统之间共享一个交换文件,请注意休眠是在交换文件中完成的 - 因此启动与休眠操作系统不同的操作系统会破坏休眠会话。

相关内容