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 / 问题 / 5095
In Process
X-Istence
X-Istence
Asked: 2009-05-06 16:25:40 +0800 CST2009-05-06 16:25:40 +0800 CST 2009-05-06 16:25:40 +0800 CST

为什么 slice C 或 slice 2 会覆盖整个磁盘

  • 772

我正在与几个朋友讨论的事情,我们无法弄清楚。在 FreeBSD 和 OpenSolaris/Solaris 中,当您对驱动器进行分区时,会创建一个覆盖整个磁盘的分区:

da0s1c
c0d0s2

例如,我的 OpenSolaris 服务器中的主硬盘驱动器的输出:

[email protected]:/dev/rdsk# prtvtoc /dev/rdsk/c4d0s2
* /dev/rdsk/c4d0s2 partition map
*
* Dimensions:
*     512 bytes/sector
*      63 sectors/track
*     255 tracks/cylinder
*   16065 sectors/cylinder
*    7296 cylinders
*    7294 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector 
*           0     16065     16064
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       0      2    00      16065 117145980 117162044
       2      5    01          0 117178110 117178109
       8      1    01          0     16065     16064

使用分区 2 背后的原因是什么?为什么不分区0?在 unix 的历史上,这是在哪里决定的?它在那个时间点提供了哪些遗留功能?使用完全消失的 GPT 分区(根据我的发现)。

只是一些有趣的事情......

由于ParoX提到了 GPT 样式分区以及 Solaris 如何在 vtoc 布局方面表示它,这里是我的一个磁盘的输出,它是 1 TB 并且在 ZFS 阵列中,并且已经自动设置了 GPT:

[email protected]:~# prtvtoc /dev/rdsk/c5d0
* /dev/rdsk/c5d0 partition map
*
* Dimensions:
*     512 bytes/sector
* 1953520128 sectors
* 1953520061 accessible sectors
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector 
*          34       222       255
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       0      4    00        256 1953503455 1953503710
       8     11    00  1953503711     16384 1953520094
partition solaris freebsd
  • 4 4 个回答
  • 2055 Views

4 个回答

  • Voted
  1. TomOnTime
    2009-05-07T17:53:31+08:002009-05-07T17:53:31+08:00

    回到过去,我们会使用整个磁盘的“dd”进行备份。因此,我们有了“c”切片,以便我们可以用一个命令完成所有操作。

    这就是“c”切片存在的原因。

    DD并不完美。如果磁盘只有 10% 已满,那么您将花费 90% 的时间来复制“垃圾”或(例如)用于“交换”(无法备份)的块。“dd”是浪费时间,除非您的磁盘快满了,或者由于某种原因,您需要精确的逐块复制。

    这一切都发生在 RAID-0 磁盘镜像和卷管理器为您完成所有此类分区复制之前。

    (有人在“c”切片上提到了“dump”。那是行不通的。“dump”是一个文件一个文件的副本[实际上,inode by inode],所以它不起作用。)

    还有人问“为什么是c,不是第一个分区,还是最后一个”。答案是“传统”。我只能猜测 Ken 或 Dennis(或者可能是 Bill Joy 或 Kirk McKusick)当时有充分的理由。我假设他们已将前两个分区标签用于实际分区。然后有一天,有人想到使用重叠分区进行备份,“c”是下一个可用的分区。由于当时只有 2-3 台 Unix 机器,这样做两次可以“设定标准”,以便在其余时间使用。

    本文描述了历史事故如何成为永远不会发生的标准的另一个示例:了解 bin、sbin、usr/bin、usr/sbin 拆分

    • 7
  2. ParoX
    2009-05-06T19:35:15+08:002009-05-06T19:35:15+08:00

    这是传统上切片布局如下的结果:

    s0:根
    s1:交换
    s2:bkup

    他们将最重要的东西分配给第一个切片并继续降低重要性:)(如果您没有根分区,谁需要交换?此外,如果您没有数据,谁需要备份任何东西。)

    我不知道这是什么时候决定的(可能很早;每当 Solaris 开发人员决定使用 Solaris 样式的磁盘标识符和切片时。)

    由于 MBR 风格的分区方案不适用,因此问题在 GPT 中消失了。(虽然我个人不熟悉 Solaris 如何表示 GPT 分区......)

    希望这有助于 XD


    ================
    编辑:
    现在你让我感兴趣了。我将发布一些我在上班前找到的链接。

    Solaris 2.4 系统管理员答案簿:习惯切片
    Solaris 2.4 用户指南:外设管理

    这两个文档都是大约 1994 年,他们甚至将 s2 的创建定义为集成到“格式”中。一定要继续挖XD!

    • 4
  3. X-Istence
    2009-05-07T14:38:08+08:002009-05-07T14:38:08+08:00

    关于这个问题的更多信息:

    根据FreeBSD 上的http://en.wikipedia.org/wiki/BSD_disklabel,其他操作系统也在使用的磁盘上的 c 分区只会扩展到整个 FreeBSD 切片,而分区 d 将是整个硬盘驱动器!

    c 分区以专用模式寻址整个磁盘,或以切片模式寻址整个 FreeBSD 切片。其他分区用于一般用途。

    FreeBSD 手动磁盘添加参见 18.3.1 第 3 节。

    • 1
  4. Ronald Pottol
    2009-06-08T19:48:01+08:002009-06-08T19:48:01+08:00

    为什么 scsi id 3 是老式 Sun OS 中的默认引导盘?

    所有这些瞬间都会消失在时间里,就像雨中的泪水。

    • 0

相关问题

  • 如何在 FreeBSD 中查找文件

  • AD 世界中的 Solaris 10 身份验证

  • 大型驱动器的重新分区工具

  • 如何以尽可能少的依赖项在 FreeBSD 上安装 Java JRE

  • 是否有充分的理由在 Windows 上对磁盘进行分区?

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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