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
    • 最新
    • 标签
主页 / server / 问题 / 841258
Accepted
joaerl
joaerl
Asked: 2017-03-30 02:54:54 +0800 CST2017-03-30 02:54:54 +0800 CST 2017-03-30 02:54:54 +0800 CST

创建 zfs 池,允许用稍小的磁盘替换其中一个磁盘

  • 772

这是关于 Linux (CentOS 7) 上的 zfs 的问题。我有一个非常简单的设置,有两个 8 TB 磁盘,一个磁盘镜像另一个。

zpool create -f -o ashift=12 $zpoolName 镜像 $disksById

根据 zpool 手册页,如果需要更换其中一个磁盘,则替换磁盘的大小必须等于或大于配置中两个磁盘中最小的一个。据我了解,不同品牌和型号(和型号修订)的驱动器之间的确切大小通常会有所不同,即使它们都标记为 8 TB。但是,我希望能够用任何其他 8 TB 磁盘替换它,不一定要使用相同的品牌和型号。

我如何实现这一目标?

我本来希望 zpool create 命令有一个选项,以便不是整个磁盘都用于池,而是留下一些松弛,但是我找不到这样的选项。我看到的唯一建议是在创建池之前对磁盘进行分区,创建一个“池”分区和一个“松弛”分区,但我读过这会影响磁盘性能,因为磁盘缓存无法正确使用zfs,所以我想我想避免这种情况。

linux
  • 2 2 个回答
  • 2642 Views

2 个回答

  • Voted
  1. Best Answer
    Jim Salter
    2017-03-30T07:10:13+08:002017-03-30T07:10:13+08:00

    我看到的唯一建议是在创建池之前对磁盘进行分区,创建一个“池”分区和一个“松弛”分区

    这是正确的答案。

    但我读过这会影响磁盘性能,因为 zfs 无法正确使用磁盘缓存。

    这是一种误解。如果分区未对齐,则使用分区而不是完整磁盘只会影响性能,如果您使用模糊的现代分区编辑器,这通常需要用户做出一些真正的决定。Linux 和 BSD fdisk、sfdisk 和 gparted 都了解分区边界并在其中工作,除非完全被迫不这样做。

    此外,如果您仔细查看已被整个馈送到 zfs 的磁盘,您会注意到zfs实际上已经对其自身进行了分区。例子:

    root@banshee:~# zpool status data
      pool: data
     state: ONLINE
      scan: scrub repaired 0 in 27h54m with 0 errors on Mon Mar 13 05:18:20 2017
    config:
    
        NAME                                           STATE     READ WRITE CKSUM
        data                                           ONLINE       0     0     0
          mirror-0                                     ONLINE       0     0     0
            wwn-0x50014ee206fd9549  ONLINE       0     0     0
            wwn-0x50014ee2afb368a9    ONLINE       0     0     0
          mirror-1                                     ONLINE       0     0     0
            wwn-0x50014ee25d2510d4  ONLINE       0     0     0
            wwn-0x5001517bb29d5333  ONLINE       0     0     0
    
    errors: No known data errors
    
    root@banshee:~# ls -l /dev/disk/by-id | grep 510d4
    lrwxrwxrwx 1 root root  9 Mar 22 15:57 wwn-0x50014ee25d2510d4 -> ../../sdd
    lrwxrwxrwx 1 root root 10 Mar 22 15:57 wwn-0x50014ee25d2510d4-part1 -> ../../sdd1
    lrwxrwxrwx 1 root root 10 Mar 22 15:57 wwn-0x50014ee25d2510d4-part9 -> ../../sdd9
    

    如您所见,ZFS 已经对池中的原始磁盘进行了分区。池使用分区 1;分区 9 保持松弛。

    root@banshee:~# sfdisk -d /dev/sdd
    label: gpt
    label-id: B2DED677-DB67-974C-80A6-070B72EB8CFB
    device: /dev/sdd
    unit: sectors
    first-lba: 34
    last-lba: 3907029134
    
    /dev/sdd1 : start=        2048, size=  3907010560, type=6A898CC3-1DD2-11B2-99A6-080020736631, uuid=A570D0A4-EA32-F64F-80D8-7479D918924B, name="zfs"
    /dev/sdd9 : start=  3907012608, size=       16384, type=6A945A3B-1DD2-11B2-99A6-080020736631, uuid=85D0957B-65AF-6B4A-9F1B-F902FE539170
    

    sdd9是 16384 个扇区。这是一个 4K 磁盘,因此大小为 64M,并且任何比现有磁盘小不超过 63M 的磁盘都可以作为该磁盘的替代品,如果它发生故障的话。

    • 4
  2. user121391
    2017-03-30T03:25:13+08:002017-03-30T03:25:13+08:00

    我看到的唯一建议是在创建池之前对磁盘进行分区

    这确实是处理它的唯一解决方案。您不必创建第二个小分区,该空间可以保持未分区。由于磁盘之间的差异通常很小,因此您只会丢失几兆字节,这在 8TB 磁盘上没有问题。

    另一种选择是只购买完全相同型号的磁盘(通常不建议,因为制造中的系列故障仅影响一个型号);或者从最小的磁盘开始,只用更大的磁盘替换,但这会花费你更多的空间,并且可能在一段时间后就不可能了。

    • 2

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve