我有4个硬盘,每个都有两个分区,分别是10.1GB和990.1GB 。
我拿了这个,并设置了两个带有RAID10的MD设备,一个用于一组4个交换分区,另一个用于其他4个分区。
我将20.2GB软件RAID设备设置为我的交换,并转移到LVM。
这是本指南带我使用软件RAID。 现在我想设置LVM并对其进行encryption。
我创build了一个新的卷和逻辑卷; 大小1.5TB 。 我encryption卷并将encryption卷中剩余的1.4TB设置为根( f ext4 / )。
这是我的问题:
我是否应该为用作交换区的20.2GB软件RAID设备设置单独的卷/逻辑卷?
我应该encryption这个卷,以及如果我encryption的ext4 /区域?
Finish partitioning and write changes to disk会出现以下错误:
您已经select要存储在encryption分区上的根文件系统。 这个特性需要一个单独的/ boot分区,在这个分区上可以存储内核和initrd。
你应该回去设置一个/ boot分区。
这个/boot分区需要在哪里设置? (在设置RAID之前,每个驱动器是否应该有一个额外的分区?)
需要多less空间?
它应该是LVM的一部分吗?
应该encryption吗?
/boot需要不encryption,否则引导加载程序(除非我落后于时间,其中一个支持encryption卷)将无法准备好内核和initrd。 它不需要encryption,因为除了内核,initrd和其他一些支持文件之外,它不应该包含任何内容。
您的LVM PV的设备是encryption的,那么/boot将需要在别处:可能是一个单独的RAID卷。 如果用作PV的设备没有encryption(而不是encryption要作为/的LV),那么/boot可以在LVM中,除了GRUB-can-t-boot-off-all-RAID-types问题(见下文)。
历史上/boot必须靠近磁盘的开始,但现代启动加载器通常会删除这个要求。 几百Mb应该是完全足够的,但是如今这些大型驱动器是标准configuration,为了防止出现这种情况,不会有任何伤害,除非您受限于尝试装入一个非常小的设备(例如,小SD卡在一个Pi或类似的),可能是一个embedded式系统的情况。
大多数引导装载程序不支持从RAID引导,或者如果它们只支持从RAID1(每个驱动器都有一个全部数据的拷贝)引导,所以在所有驱动器上创build一个小分区,并使用RAID1arrays他们。 只要至less有一个驱动器处于工作状态,这种方式就是可读的。 确保已加载的引导程序安装到安装的所有四个驱动器的MBR中,否则,如果您的BIOS引导另一个(由于第一个脱机的实例),你将不得不弄乱装载机的MBR到其他驱动器(S)在那一刻,而不是已经在那里。
更新:根据Nick的评论,现代启动加载器可以直接处理某些forms的encryption卷,所以根据目标设置,现在有更less的事情要担心。
我没有使用安装程序设置软件RAID-10,但我认为在使用RAID-1 + LVM +encryption设置Debian时遇到的一些情况可能会有所帮助。 我不知道Debian的控制台安装程序和Ubuntu的安装程序有什么不同,所以我不能提供有关如何执行此操作的详细信息。
对于/boot ,GRUB2具有raid和lvm模块,可以使用它的insmod命令加载它,该命令可以处理Linux的md raid10布局 。 确切的细节显然在这里,但网站是closures的。 根据我从手册中得到的信息( 你可能有一个从31KiB到1MiB的地方 ,我的core.img已经是24KB了,而raid.mod和lvm.mod都是6KB),所以你可能会也可能不会根据分区工具浪费多less空间来使用它。 即使它确实合适,也可能无法让Ubuntu的安装程序为您设置。 除非你想冒更多的时间,否则我会坚持使用RAID-1的独立分区(不需要任何额外的模块,因为只要你将grub安装到所有驱动器的MBR上,它就会“意外”单独)。 无论哪种方式,它不能被encryption。
至于数据和交换,如果您计划将它们都用于RAID-10并将它们input到LVM并对它们进行encryption,那么将它们分隔开是没有意义的。 在每个驱动器上创build一个巨大的分区,并处理LVM中的分区。
所以如果你不打算尝试grub2 lvm + raid模块,你的分区应该是这样的:
同
此时,您将使用较大的RAID设备创build一个LVM组作为其物理卷,然后创build您想要的任何逻辑卷。
如果你真的想要整盘encryption,那么我会把/tmp设置成一个带有随机密钥的逻辑卷,然后/是一个encryption的逻辑卷,覆盖剩下的空间。 保持/tmp作为一个单独的分区至less可以防止用临时文件填满文件系统,导致日志logging和其他事情中断。
否则,请查看您想要encryption的内容。 决定是否要分开encryption的逻辑卷,以便您可以有一些encryption的数据(例如数据备份)不是一直装入。 如果安装的特定程序不是您隐藏的内容,请考虑在/未encryption时encryption特定位置( /home )。 当然,您可能有多个位置需要encryption,但不想input六个密码来启动。
就我个人而言,我所做的是创build一个( 完全不符合FHS的) /crypt文件系统,并将每个要保护的目录符号链接到那里。 (注意:这种技术很明显,你有encryption的数据,可能是什么数据。命名你的符号链接Project_Orion_Nuclear_Spacedrive可能泄漏更多的信息比你想。)计划正确,系统甚至可以无人值守启动,有人可以进入后面的密码。 例如,我的数据库服务器及其encryption的驱动器被设置为在启动时不自动挂载或运行,所以系统启动足够让我ssh进入,然后我可以挂载文件系统并在重启后启动数据库服务器。