AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1307026
Accepted
Albert
Albert
Asked: 2021-01-12 04:25:34 +0800 CST2021-01-12 04:25:34 +0800 CST 2021-01-12 04:25:34 +0800 CST

ZFS 分区类型和 GPT 分区标签

  • 772

之前我使用 FSTYPE 创建了一个新分区zfs_member,并且(我认为)我将 GPT 分区标签设置为 ZFS 池的新名称,然后在该分区中创建了 ZFS 池(zpool create ... /dev/disk/by-partuuid/...)。看起来像:

$ lsblk --output NAME,FSTYPE,MODEL,LABEL,PTTYPE,SIZE -e 7
NAME        FSTYPE     MODEL                        LABEL       PTTYPE   SIZE
sda                    Samsung_SSD_860_QVO_1TB                  gpt    931,5G
└─sda1      zfs_member                              my-zfs-pool gpt    931,5G

我在几个地方读到对 ZFS 使用 GPT 分区应该没问题。在旧的 Sun ZFS 文档中,有时建议使用整个磁盘,但这似乎已经过时了,尤其是与 ZFS-on-Linux 无关。(关于这个话题的一些讨论:例如这里)

现在我读到 ZFS-on-Linux 无论如何都会自动使用 GPT 对磁盘进行分区,如果你将整个磁盘传递给zpool create. (这是一个实际禁用该自动分区行为的选项的问题。)

请注意,无论如何,我都想要一些 GPT 分区。因为例如,也许我想稍后缩小分区并将其他分区放在上面。管他呢。我认为没有任何充分的理由不在磁盘上放置 GPT 分区表。

所以我认为自动分区可能会更好。也许 ZFS 对它的分区略有不同,无论出于何种聪明的原因,这可能会更好。所以我在另一个新磁盘 ( zpool create ... /dev/disk/by-id/...(whole-disk)) 上这样做了。

但是,现在看起来像这样:

$ lsblk --output NAME,FSTYPE,MODEL,LABEL,PTTYPE,SIZE -e 7
NAME        FSTYPE     MODEL                        LABEL       PTTYPE   SIZE
sdb                    WDC_WD60EZAZ-00ZGHB0                     gpt      5,5T
├─sdb1                                                          gpt      5,5T
└─sdb9                                                          gpt        8M

所以,ZFS 确实如我所愿创建了一个 GPT 分区表。但是,它没有FSTYPE在分区上设置 ,也没有设置 GPT 分区标签。

所以,现在我的实际问题:

为什么它没有设置 FSTYPE,也没有设置 GPT 分区标签?

之后设置 FSTYPE 是否安全?例如到zfs_member?

之后设置GPT分区标签是否安全?例如 zpool 的名称?

partitioning
  • 1 1 个回答
  • 3504 Views

1 个回答

  • Voted
  1. Best Answer
    j77h
    2022-02-23T17:24:42+08:002022-02-23T17:24:42+08:00

    警告:确保您有备份,因为如果您不小心做了“错误的事情”,您可能会丢失所有数据。

    这样做可能根本不值得冒险,因为您可以通过其他方式跟踪此分区的类型(例如,在物理驱动器上写入)。

    通常我们在将数据写入新分区之前执行此操作,这样就没有风险。

    我还没有对已经在使用的磁盘执行此操作,但我相当确定它可以完成。

    您可以使用 gdisk ( https://www.rodsbooks.com/gdisk/gdisk.html ) 设置 GPT 分区名称(又名“标签”)。Gdisk 非常小心地帮助您避免破坏性事故,但要确保避免它们,您仍然需要了解它是如何工作的。

    很可能,其他分区工具也可以做到这一点,但是对于 GPT,我只使用了 gdisk 和 sgdisk。

    不要担心分区类型,因为 Linux 不需要它。您可以在名称/标签中包含“ZFS”。

    顺便说一句,lsblk(在 Manjaro 上)显示我的 zfs 镜像如下。
    分区是通过将整个磁盘提供给 ZFS(2015 年,在 Ubuntu 上)完成的。
    我可能稍后将名称更改为“zp0”,但通过 zpool,而不是通过其他工具,使用:
    zpool export [poolname]
    zpool import [poolname] [newpoolname]

    $ lsblk -f
    NAME   FSTYPE     FSVER LABEL  UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
    sda
    |-sda1 zfs_member 5000  zp0    17149246668572983114
    `-sda9
    sdb
    |-sdb1 zfs_member 5000  zp0    17149246668572983114
    `-sdb9
    

    使用你的 lsblk args :

    $ lsblk --output NAME,FSTYPE,MODEL,LABEL,PTTYPE,SIZE -e 7
    NAME   FSTYPE     MODEL                     LABEL  PTTYPE   SIZE
    sda               ST4000DM000-1F2168               gpt      3.6T
    |-sda1 zfs_member                           zp0    gpt      3.6T
    `-sda9                                             gpt        8M
    sdb               ST4000DM000-1F2168               gpt      3.6T
    |-sdb1 zfs_member                           zp0    gpt      3.6T
    `-sdb9                                             gpt        8M
    

    编辑:

    回答您的“实际问题”:

    1. 我不知道。ZFS 为我创建了这些条目。
    2. 不要打扰,这不值得付出努力/冒险。
    3. 如果您尝试它,请小心(如上所述)。

    作为在 GPT 中更改标签的更安全的替代方法:
    尝试在 ZFS 中更改池名称,并查看它是否会更改 lsblk 显示的内容:
    zpool export [poolname]
    然后
    zpool import [poolname] [newpoolname]
    这是重命名池的正常方法,并且非常安全。
    (方括号仅表示要替换的文本;不要包括它们。)

    关于 sdx9 分区,我也不知道,也懒得去查,抱歉。只有当你给 ZFS 一个完整的原始磁盘时才会发生这种情况。试试OpenZFS 文档。

    我正准备创建另一个 ZFS 镜像,并在研究如何最好地做到这一点时看到了这个线程。这次我将使用 sgdisk 制作 GPT,然后在匹配的 GPT 分区(每个驱动器上一个)上创建 zpool 镜像。我期待制作带有 ZFS 数据分区的 EFI 引导驱动器的可能性,这种情况需要这种两步法。(除非操作系统是 FreeBSD,在这种情况下,我会让操作系统安装程序创建一个 ZFS 引导驱动器。)

    • 1

相关问题

  • 是否有更好的方式为 /home/userX 构建分区/挂载

  • Linux 文件系统层次结构中的默认目录是什么意思?

  • 如何将 /usr 移动到新分区?

  • 如何从双启动计算机访问加密的主文件夹?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve