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