标签: partition-alignment

操作系统可寻址的磁盘大小

我有一个 3ware 9550SXU-12 存储控制器和连接到它的 750G 磁盘。磁盘被配置为单个单元(不是 JBOD)。

我一直在运行一些性能测试,主要是看分区对齐、加密、raid级别等对读/写/iops性能的影响。

我很惊讶在我的情况下,对齐分区的相同存储配置的读/写性能比未对齐的分区略低。

这促使我开始检查通过 3ware 控制器连接时磁盘对操作系统的可见性和使用主板上的端口时是否存在差异,主板上的端口根本不支持任何 RAID。

我知道 3ware 控制器放在磁盘上的磁盘控制块 (DCB) 元数据,以便更换控制器而无需重新配置它,因为配置数据是从磁盘上的 DCB 块读取的。我的控制器使用“新格式”,这显然意味着控制器在磁盘的最后 1024 个 LBA 中写入 DCB。

我很想知道我的对齐工作是否不会被 3ware 控制器仅将磁盘的一部分呈现给操作系统。

我发现了什么:

  • 连接或不连接 3ware 控制器时,磁盘的开头看起来完全相同。对这里的对齐不应该有任何影响。用 dd/md5sum 验证。
  • 磁盘的最后一个 1024*512B 确实包含看起来由 3ware 放置的内容(根据那里的可读字符串判断)
  • 现在有趣的部分是:当在 3ware 控制下时,磁盘报告的媒体大小为 749988741120 B,当直接连接时 - 750156374016 B,这意味着当通过 3ware 控制器连接时,操作系统可以访问大约 160MB 的磁盘媒体。

如果只是 1024x512B(DCB)的差异是可以理解的,但是 160MB 似乎有点太大空间来存储这种类型的控制器元数据。

问题:

有谁知道在对齐连接到在这些磁盘上存储单元配置的控制器的磁盘上的分区时是否还有其他注意事项,我可能错过了?

出于好奇 - 有谁知道最后 160MB 的磁盘介质是做什么用的?

谢谢

freebsd storage hard-drive 3ware partition-alignment

7
推荐指数
1
解决办法
241
查看次数

Linux:如何在硬件 RAID 上对齐分区和文件系统

我有一个测试盒 (PowerEdge 2950),连接了 Perc 6/i 和 4 个 15.5k SAS 驱动器(块大小为 512 字节)。它们位于块大小为 64KB 的单个 RAID 5 虚拟磁盘中。

我正在创建一个跨越整个驱动器的测试分区。它应该与 64KB 块标记还是 512 字节块大小对齐?如果是后者,该分区可以从单个虚拟磁盘的 2048 字节开始,这意味着它将从第一个驱动器上的第二个空闲块开始(我假设)?

此外,我将添加另外两个驱动器并在以后重新创建 RAID 虚拟磁盘以进行更多测试,然后分区是否应该以 6x512 字节创建,所以从 3072 字节开始?

我已经阅读了一些关于此的类似问题,但我无法从中看出 RAID 卷的块大小如何与分区对齐、使用单个驱动器时的驱动器块大小相关。

hardware-raid partition-alignment

6
推荐指数
2
解决办法
4562
查看次数

使用 PowerCLI 检查分区对齐

我正在尝试验证我正在处理的每台服务器中的文件系统分区是否正确对齐。我有以下脚本,当我尝试运行时,将根据我使用的 if 语句(其中一个被注释掉)声明所有虚拟服务器已对齐或未对齐:

$myArr = @()
$vms = get-vm | where {$_.PowerState -eq "PoweredOn" -and $_.Guest.OSFullName -match "Microsoft Windows*" } | sort name
foreach($vm in $vms){
    $wmi = get-wmiobject -class "win32_DiskPartition" -namespace "root\CIMV2" -ComputerName $vm
    foreach ($partition in $wmi){
        $Details = "" | Select-Object VMName, Partition, Status
        #if (($partition.startingoffset % 65536) -isnot [decimal]){
        if ($partition.startingoffSet -eq "65536"){
            $Details.VMName = $partition.SystemName
            $Details.Partition = $partition.Name
            $Details.Status = "Partition aligned"
        }
        else{
            $Details.VMName = $partition.SystemName
            $Details.Partition = $partition.Name
            $Details.Status = "Partition not aligned" …
Run Code Online (Sandbox Code Playgroud)

powershell vmware-esxi powercli partition-alignment

5
推荐指数
1
解决办法
820
查看次数

是否需要 SSD 软件 RAID 对齐?

是否有必要对齐组成软件 RAID 1 阵列的分区?

本指南指出

“软件 RAID:虽然这里也需要注意正确对齐,但这不是明确必要的,因为至少使用了 64 KB 大小的块。”

我不明白软 RAID 如何改变性能命中/写入放大问题,因为底层 SSD 控制器仍然在超过必要的闪存页面上交错文件系统页面。

这是我的一个驱动器,我相信从 LBA 63 开始的分区意味着我没有对齐。分区是通过 CentOS 5 安装程序创建的。

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      610469      305203+  fd  Linux raid autodetect
/dev/sda2          610470    16996769     8193150   fd  Linux raid autodetect
/dev/sda3        16996770    25189919     4096575   fd  Linux raid autodetect …
Run Code Online (Sandbox Code Playgroud)

raid ssd partition-alignment

5
推荐指数
1
解决办法
1237
查看次数

Preseed Ubuntu / Debian - 分区:防止“分区 1 不在物理扇区边界上启动”。

预置 Ubuntu / Debian 工作正常 - 系统可启动。

fdisk -l结果如下:

Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
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: 0x000e157a

Device     Boot    Start       End  Sectors   Size Id Type
/dev/sda1             63    192779   192717  94.1M 83 Linux
/dev/sda2  *      192780   1172744   979965 478.5M 83 Linux
/dev/sda3        1172745  96470324 95297580  45.5G 83 Linux …
Run Code Online (Sandbox Code Playgroud)

ubuntu partition debian preseed partition-alignment

5
推荐指数
1
解决办法
1617
查看次数

linux硬件raid 10 / lvm /虚拟机分区对齐和文件系统优化

我一直在阅读有关分区对齐和文件系统优化(ext4 和 xfs)的所有内容,但仍然不够了解,无法有信心设置当前的配置。我剩下的困惑来自于 LVM 层以及我是否应该在来宾操作系统的文件系统上使用 raid 参数。

我的主要问题是:

  1. 当我使用“pvcreate --dataalignment”时,我是否使用为 RAID 上的文件系统计算的条带宽度(在我的情况下,ext4 为 128kB)、RAID 集的条带大小(256kB)、其他东西,或者我是否使用不需要这个吗?

  2. 当我在逻辑卷上的来宾中创建 ext2/3/4 或 xfs 文件系统时,是否应该添加底层 RAID 的设置(例如 mkfs.ext4 -b 4096 -E stride=64,stripe-width=128)?

  3. 有人在我下面的设置中看到任何明显的错误吗?我现在正在运行一些基准测试,但还没有做足够的工作来开始比较结果。

我在 3ware 9750-4i 控制器上有 4 个 RAID 10 驱动器(更多详细信息请参阅下面的设置),在 /dev/sda 处有一个 6.0TB 设备。这是我的分区表:

Model: LSI 9750-4i DISK (scsi)
Disk /dev/sda: 5722024MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start      End         Size        File system     Name      Flags
 1      1.00MiB    257MiB      256MiB      ext4            BOOTPART  boot
 2      257MiB     4353MiB     4096MiB     linux-swap(v1)
 3      4353MiB    266497MiB   262144MiB …
Run Code Online (Sandbox Code Playgroud)

linux virtual-machines lvm hardware-raid partition-alignment

5
推荐指数
1
解决办法
834
查看次数

使用 Linux fdisk 对 2TB 磁盘进行对齐分区

有没有办法在使用标准 Linux fdisk(我尝试过 2.17.2 版)的磁盘上创建一个 2TB 分区,该分区是 4096 字节扇区对齐的?

我尝试了以下操作并遇到了所描述的错误:

  • 如果我只是使用该-u标志,它会将簇大小设置为 512 字节的一个扇区。然后,分区必须是 3,906,250,000 个簇长,fdisk 将这个数字截断为 2,147,483,647 (2^31-1)。
  • 如果我使用-b 4096,它允许我很好地创建分区(长度为 488,281,506 个扇区),但是如果我使用 来检查生成的分区的大小blockdev --getsize64,它表明该分区只有 250GB 大,即它仍在使用扇区大小共 512 个。
  • 例如,如果我尝试使用 设置扇区数和人头数-S 64 -H 32,那么它总是将扇区数设置回 63,这不会平均分为 4096(我知道,32 平均除以 8 在技术上就足够了,但是 - 调用我是完美主义者 - 我真的很想让分区从扇区 2048(1MB 对齐)开始,因为我读到的是这些天推荐的设置。

是否有一些我可以传递给 fdisk 的参数组合,这将允许我创建一个从 1MB 开始的分区(扇区 2048 [256] 用于 512-[4096-] 字节扇区)并且正好是 2TB 长(3,906,250,000 [488,281,506] ] 扇区为 512-[4096-] 字节扇区)?

(我读到我可以只使用 gparted 并将驱动器更改为 GPT 分区,但我真的很想知道是否有办法使用标准 fdisk 和 MBR 分区来做到这一点。我看不出有什么原因为什么 MBR 分区不应该允许这个......)

linux fdisk partition-alignment

3
推荐指数
1
解决办法
1919
查看次数