在系统安装过程中,我手动编写了一个分区表,其中包含加密的部分、/boot分区和未分区的rest。尽管我首先创建了分区(手动创建每个分区),并将它们放在一个逻辑卷中。逻辑卷important被卷组a填充(如果不能这样做,请更正;如果您知道必须这样做,请删除此注释)。之后,我用LUKS加密了逻辑卷并安装了系统。
$ LC_ALL=C sudo lsblk
[sudo] password for sj126:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
|-sda1 8:1 0 953M 0 part /boot
|-sda2 8:2 0 1K 0 part
|-sda3 8:3 0 16G 0 part [SWAP]
|-sda4 8:4 0 100G 0 part
|-sda5 8:5 0 7.5G 0 part
| `-experiment-test 254:0 0 418.3G 0 lvm
| `-experiment-test_crypt 254:1 0 418.3G 0 crypt /
|-sda6 8:6 0 14G 0 part
| `-experiment-test 254:0 0 418.3G 0 lvm
| `-experiment-test_crypt 254:1 0 418.3G 0 crypt /
|-sda7 8:7 0 372.5G 0 part
| `-experiment-test 254:0 0 418.3G 0 lvm
| `-experiment-test_crypt 254:1 0 418.3G 0 crypt /
|-sda8 8:8 0 7G 0 part
| `-experiment-test 254:0 0 418.3G 0 lvm
| `-experiment-test_crypt 254:1 0 418.3G 0 crypt /
|-sda9 8:9 0 7G 0 part
| `-experiment-test 254:0 0 418.3G 0 lvm
| `-experiment-test_crypt 254:1 0 418.3G 0 crypt /
|-sda10 8:10 0 7G 0 part
| `-experiment-test 254:0 0 418.3G 0 lvm
| `-experiment-test_crypt 254:1 0 418.3G 0 crypt /
|-sda11 8:11 0 2.3G 0 part
| `-experiment-test 254:0 0 418.3G 0 lvm
| `-experiment-test_crypt 254:1 0 418.3G 0 crypt /
`-sda12 8:12 0 1.1G 0 part
`-experiment-test 254:0 0 418.3G 0 lvm
`-experiment-test_crypt 254:1 0 418.3G 0 crypt /
$ LC_ALL=C sudo partitionmanager
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Loaded backend plugin: "pmlibpartedbackendplugin"
"Using backend plugin: pmlibpartedbackendplugin (1)"
"Scanning devices..."
"Device found: [...]"
blkid: unknown file system type "" on "/dev/sda2"
"Partition ‘/dev/sda2’ is not properly aligned (first sector: 1955838, modulo: 2046)."
"Scan finished."要点是,当浏览我的目录时,只有/boot在/dev/sda2上显示为一个(单独的)分区,/中的剩余部分似乎在同一个分区上。dev/sda{5,..12}应该成为包含/home的分区,例如,保持在相同的逻辑卷中,并且也应该安装在那里。
编辑:下面是我的分区表(更新)。分区3和4是解决方案的开始,暂时可能被忽略。唯一遗漏的是磁盘标签和磁盘标识符。
$ LC_ALL=C sudo fdisk -l /dev/sda
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: [...]
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: [...]
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1953791 1951744 953M 83 Linux
/dev/sda2 1955838 879298559 877342722 418.4G 5 Extended
/dev/sda3 879300608 912855039 33554432 16G 82 Linux swap / Solaris
/dev/sda4 * 912857088 1122572287 209715200 100G 83 Linux
/dev/sda5 1955840 17577983 15622144 7.5G 8e Linux LVM
/dev/sda6 17580032 46874623 29294592 14G 8e Linux LVM
/dev/sda7 46876672 828125183 781248512 372.5G 8e Linux LVM
/dev/sda8 828127232 842774527 14647296 7G 8e Linux LVM
/dev/sda9 842776576 857423871 14647296 7G 8e Linux LVM
/dev/sda10 857425920 872073215 14647296 7G 8e Linux LVM
/dev/sda11 872075264 876955647 4880384 2.3G 8e Linux LVM
/dev/sda12 876957696 879298559 2340864 1.1G 8e Linux LVM
Partition 2 does not start on physical sector boundary.
Partition table entries are not in disk order.
$ LC_ALL=C sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
test experiment -wi-ao---- <418.32g
$ LC_ALL=C sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sda10 experiment lvm2 a-- 6.98g 0
/dev/sda11 experiment lvm2 a-- 2.32g 0
/dev/sda12 experiment lvm2 a-- 1.11g 0
/dev/sda5 experiment lvm2 a-- <7.45g 0
/dev/sda6 experiment lvm2 a-- 13.96g 0
/dev/sda7 experiment lvm2 a-- <372.53g 0
/dev/sda8 experiment lvm2 a-- 6.98g 0
/dev/sda9 experiment lvm2 a-- 6.98g 0 发布于 2019-10-17 10:57:09
使用MBR分区表对磁盘进行分区。磁盘按以下方式划分:
sda1:主分区,用文件系统格式化,安装在/boot上。sda2:扩展分区,包含以下逻辑分区:sda5到sda12:逻辑分区,格式化为LVM物理磁盘。sda3:主分区。无法说明是否已格式化。sda4:主分区。无法说明是否已格式化。LVM物理磁盘sda5到sda12是LVM卷组experiment的成员。
LVM卷组experiment包含名为test的LVM逻辑卷。LVM逻辑卷experiment-test被格式化为LUKS容器。LUKS容器的有效负载名为experiment-test_crypt;它使用带有文件系统的格式化,并安装在/上。
请注意:
sda2是一个扩展分区。它只是一个逻辑分区的容器,不能用文件系统格式化并挂载。sda5到sda12都被格式化为LVM物理磁盘,并成为LVM卷组experiment的成员。LVM卷组实验中的所有空间都分配给逻辑卷test (格式化的LUKS )。发布于 2019-10-17 12:42:24
LVM的目的是将存储的物理单元(整个磁盘或分区)的大小与逻辑卷的大小(通常包含文件系统)分离开来。
因此,将单个磁盘拆分为多个分区,然后将所有这些分区作为LVM物理卷(PVs)添加到同一个卷组(VG)中,这并不是非常有用的,只是作为键入练习。最后,您将基本上回到原来的位置--使用一大块未区分的存储,您将需要将其分割成有用的块。
每个PV一次只能是一个VG的成员。由于您的所有LV都是experiment VG的成员,您在问题中提到的VG a显然已经不存在了,这意味着本应在其中的逻辑卷(LV) important现在已经消失并被覆盖。抱歉的。
你对LVM设置的描述似乎是..。坦白地说,对我来说是向后走还是向外走。希望下面的解释有助于理清概念。
为了最大限度地利用LVM在新磁盘上的优势,您通常需要做以下两件事中的一件:
/boot,其固件可能无法处理磁盘的全部大小)和单个大分区来覆盖磁盘的其余部分,作为LVM PV使用。即使固件没有设置特定的限制(例如,使用带有LVM和加密支持的最新版本的GRUB进行BIOS风格的引导),您也可能希望创建一个非LVM /boot分区,以确保引导程序组件模块和对引导至关重要的内核和initramfs文件肯定包含在一个特定的“引导磁盘”中,而不是包含在一个大型多磁盘LVM卷组中的"anywhere“上,从而使故障排除变得更容易。拥有多个PV本身并不是什么大事,但是每个物理磁盘至少应该有一些特定的原因来拥有多个PV。回收以前的双引导OS安装所使用的空间就是这样一个有效的原因。拥有多个VGs,其中一个就足够了,另一方面,可能会很痛苦。
一旦有了一个或多个PV,就可以创建一个或多个VGs。如果您只有一个磁盘,通常没有理由创建多个VG。如果您有多个物理磁盘,您将需要决定是否出于任何原因需要将这些磁盘彼此分离,或者您是否可以假设它们将在存储在它们上的数据的生命周期中保持在一起。如果磁盘可以保持在一起,则可以将它们的所有PV添加到单个VG中。这将为您提供一个大存储池,您可以任意将其分割成LV --只要VG有足够的可用总空间,您就可以创建一个超出任何单个PV限制的LV。
在使用LVM时,LVM主要取代传统的分区作为文件系统的容器。如果您需要扩展LV,您可以这样做--即使是在线的--只要您的VG至少在一个PV中仍有未分配的空间。如果没有未分配的空间,您可以在VG中添加(是的,甚至是热添加)一个新的PV,然后将LV(s)扩展到VG。
在VG的范围内,您可以使用pvmove命令在必要时移动LVs -即使VG处于活动状态,并且LV上的文件系统已被挂载并在使用中。您可以在新的较大的物理磁盘上迁移数据,方法是将新磁盘作为PV添加到旧的VG中,然后使用pvmove将数据从旧磁盘(S)移动到新的磁盘(S),然后在VG中空的时候从VG中删除旧磁盘( on )。所有这些都可以不卸载任何东西就可以完成。
如果您期望某个特定的磁盘需要移动到另一个系统,其中包含数据,那么您可以为该磁盘创建一个单独的卷组--或者,如果另一个系统不是另一个Linux系统,则可能根本不在该磁盘上使用LVM。这可能是在使用LVM的平均Linux设置中创建多个VG的唯一真正原因。
有两种方法可以与LVM一起设置加密:
https://unix.stackexchange.com/questions/546695
复制相似问题