首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加密的分区显示为一个

加密的分区显示为一个
EN

Unix & Linux用户
提问于 2019-10-14 11:05:21
回答 2查看 156关注 0票数 0

在系统安装过程中,我手动编写了一个分区表,其中包含加密的部分、/boot分区和未分区的rest。尽管我首先创建了分区(手动创建每个分区),并将它们放在一个逻辑卷中。逻辑卷important被卷组a填充(如果不能这样做,请更正;如果您知道必须这样做,请删除此注释)。之后,我用LUKS加密了逻辑卷并安装了系统。

分区表

代码语言:javascript
复制
$ 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是解决方案的开始,暂时可能被忽略。唯一遗漏的是磁盘标签和磁盘标识符。

代码语言:javascript
复制
$ 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 
EN

回答 2

Unix & Linux用户

发布于 2019-10-17 10:57:09

使用MBR分区表对磁盘进行分区。磁盘按以下方式划分:

  • sda1:主分区,用文件系统格式化,安装在/boot上。
  • sda2:扩展分区,包含以下逻辑分区:
    • sda5sda12:逻辑分区,格式化为LVM物理磁盘。

  • sda3:主分区。无法说明是否已格式化。
  • sda4:主分区。无法说明是否已格式化。

LVM物理磁盘sda5sda12是LVM卷组experiment的成员。

LVM卷组experiment包含名为test的LVM逻辑卷。LVM逻辑卷experiment-test被格式化为LUKS容器。LUKS容器的有效负载名为experiment-test_crypt;它使用带有文件系统的格式化,并安装在/上。

请注意:

  • sda2是一个扩展分区。它只是一个逻辑分区的容器,不能用文件系统格式化并挂载。
  • 逻辑分区sda5sda12都被格式化为LVM物理磁盘,并成为LVM卷组experiment的成员。LVM卷组实验中的所有空间都分配给逻辑卷test (格式化的LUKS )。
票数 0
EN

Unix & Linux用户

发布于 2019-10-17 12:42:24

LVM的目的是将存储的物理单元(整个磁盘或分区)的大小与逻辑卷的大小(通常包含文件系统)分离开来。

因此,将单个磁盘拆分为多个分区,然后将所有这些分区作为LVM物理卷(PVs)添加到同一个卷组(VG)中,这并不是非常有用的,只是作为键入练习。最后,您将基本上回到原来的位置--使用一大块未区分的存储,您将需要将其分割成有用的块。

每个PV一次只能是一个VG的成员。由于您的所有LV都是experiment VG的成员,您在问题中提到的VG a显然已经不存在了,这意味着本应在其中的逻辑卷(LV) important现在已经消失并被覆盖。抱歉的。

你对LVM设置的描述似乎是..。坦白地说,对我来说是向后走还是向外走。希望下面的解释有助于理清概念。

为了最大限度地利用LVM在新磁盘上的优势,您通常需要做以下两件事中的一件:

  • 如果系统磁盘,创建满足系统固件需求所需的东西(例如UEFI系统上的EFI系统分区,或非常旧的BIOS系统上的/boot,其固件可能无法处理磁盘的全部大小)和单个大分区来覆盖磁盘的其余部分,作为LVM PV使用。即使固件没有设置特定的限制(例如,使用带有LVM和加密支持的最新版本的GRUB进行BIOS风格的引导),您也可能希望创建一个非LVM /boot分区,以确保引导程序组件模块和对引导至关重要的内核和initramfs文件肯定包含在一个特定的“引导磁盘”中,而不是包含在一个大型多磁盘LVM卷组中的"anywhere“上,从而使故障排除变得更容易。
  • 如果是数据磁盘,则可以选择根本不使用分区,而只使用整个磁盘作为LVM PV。如果磁盘实际上是一个SAN,这可能是一个优势:如果需要扩展LUN,则可以动态扩展整个磁盘的LVM。在SAN管理员增加了LUN大小之后,只需要几个命令就可以立即使用扩展的大小,而不需要先修改分区表。另一方面,对于其他操作系统,整个磁盘的LVM PV无法识别为包含有效数据的磁盘:如果用另一个操作系统访问,这样的磁盘很容易被意外地重新格式化。为了最小化这种风险,您可以创建包含整个磁盘的单个分区,并将其用作LVM PV。

拥有多个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一起设置加密:

  • 您可以在将物理磁盘/分区设置为LVM PV之前对其进行加密,以便单个加密密码将同时解锁所有LV(分层:磁盘->分区->加密设备-> PV -> LV)。
  • 或者,您可以首先设置您的PV、VG和LVs,然后分别在一个或多个LV上设置加密,允许不同的LV在需要时具有不同的加密密码。(分层:磁盘->分区-> PV -> LV ->加密设备)
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/546695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档