Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2346251
  • 博文数量: 535
  • 博客积分: 8689
  • 博客等级: 中将
  • 技术积分: 7066
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-26 10:00
文章分类

全部博文(535)

文章存档

2024年(4)

2023年(4)

2022年(16)

2014年(90)

2013年(76)

2012年(125)

2011年(184)

2010年(37)

分类: 系统运维

2014-02-13 10:32:53

原文地址:Solaris 磁盘管理 作者:maoj2008


===================Solaris 11 磁盘支持==================
多磁盘扇区容量支持

Oracle Solaris 11:之前的 Solaris 发行版支持 512 字节的磁盘扇区容量。在该发行版中,支持 512 字节、1024 字节、2048 字节或 4096 字节的扇区容量的磁盘。具有更大扇区的磁盘提供更大的磁盘容量、更高的可靠性以及更高效的数据传送和更快的驱动程序维护。

在此 Oracle Solaris 发行版中,可在大扇区磁盘上使用的唯一受支持文件系统是非根 ZFS 文件系统。

目前不支持从大扇区磁盘引导和安装的功能。

支持在 2 TB 磁盘上安装和引导 Oracle Solaris OS

Oracle Solaris 11:在之前的 Solaris 发行版中,无法从容量超过 1 TB 的磁盘中安装和引导 Solaris OS。在本 Solaris 发行版中,可以从容量高达 2 TB 的磁盘中安装和引导 Solaris OS。在之前的发行版中,还必须对超过 1 TB 的磁盘使用 EFI 标签。在本发行版中,可以在任何容量的磁盘上使用 VTOC 标签,但是 VTOC 的可寻址空间限制在 2 TB 内。

Oracle Solaris 磁盘驱动器和磁盘实用程序已得到更新,可提供以下支持:

  • 在 2 TB 磁盘上安装和引导 Oracle Solaris OS 必须连接至内存至少为 1.5 GB 的系统。

  • 可以使用 format -e 实用程序给任何容量的磁盘设置 VTOC 标签,但是可寻址空间限制在 2 TB 以内。

  • format 实用程序以及容量小于 2 TB 的磁盘的安装软件使用的缺省标签为 VTOC 标签。

  • 可以在 x86 系统中容量超过 1 TB 的磁盘上使用 fdisk 实用程序。还增加对非 EFI 分区类型的 MBR 中高达 2 TB 分区的支持。该支持表明 Solaris 分区可高达 2 TB。其他非 EFI 分区可能受到不同分区类型的限制。

    fdisk 实用程序运行在容量超过 2 TB 的磁盘上时,将显示一条警告消息,指出您无法创建超过 2 TB 的非 EFI 分区。

请记住,您无法将超过 1 TB 的带有传统 MBR 或传统 VTOC 的磁盘移动至先前的 Solaris 发行版。带有 EFI 标签的磁盘仍能运行在先前的 Solaris 发行版中。

============Solaris 10 EFI与VTOC=============

比较 EFI 标号与 VTOC 标号

在以下方面 EFI 磁盘标号不同于 VTOC 磁盘标号:

  • 支持容量超过 1 TB 的磁盘。

  • 提供可用的片 0–6,其中仅片 2 是不同的片。

  • 分区(或片)不能与主标号或备份标号重叠,也不能与任何其他分区重叠。EFI 标号的大小通常为 34 个扇区,因此分区从第 34 个扇区开始。此特性意味着任何分区都不能从扇区零 (0) 开始。

  • EFI 标号中不存储柱面、磁头或扇区信息。大小以块数报告。

  • 在备用柱面区域(磁盘的最后两个柱面)中存储的信息现在存储在片 8 中。

  • 如果使用 format 实用程序来更改分区大小,则 unassigned 分区标记将被指定给大小等于零的分区。缺省情况下,format 实用程序将 usr 分区标记指定给大小大于零的任何分区。更改分区后,可以使用分区更改菜单重新指定分区标记。但是,不能将大小不为零的分区更改为 unassigned 分区标记。


=========关于EFI Disk Lable===========

Solaris 9后,为支持容量大于1 TB的存储设备,在磁盘管理上新引入了EFI(Extensible Firmware Interface)类型的disk label。它与传统的 VTOC(Volume Table of Contents)label 方式有很大不同。我们可以使用 format –e 命令后,再用 label 命令中就可以看到选择 label 的类型菜单。传统的 VTOC label 在 format>label 中被称为 SMI。

与 VTOC Label相比,EFI Label 的主要差异表现为:

  可支持容量大于1 TB的磁盘(包括磁盘阵列等逻辑盘).
  分区方式改变,可使用的分区为 slices 0–6,其中的 2 分区也是一个普通的可用分区了.
  一个分区时不可与其他分区片或label片 (backup label)重叠。EFI label 占用 34 个扇区(sector),因此其它分区的起始扇区必定是从 sector 34开始。也就是说,不再存在从 sector 0开始的分区。
  EFI label 不保存磁盘的柱面(cylinder)、磁头(head)、扇区(sector)信息。所以使用EFI label 时,都以扇区号进行操作,分区大小用“块”(block)来表示。
  磁盘信息原来保存在备用柱面区域中(alternate cylinders area, 磁盘的最后两个柱面),EFI label 则保存在 slice 8 中。
  使用 format 工具修改 partition 时,凡大小为零的分区,都被自动赋予“unassigned”标签(tag);凡大小不为零的分区,则都赋予缺省标签“usr”。分区分好后,可使用 partition>change 菜单来修改容量不为零的分区标签(但不可改为“unassigned”标签)。

EFI Label 有一些限制。因此,应该根据下面的限制来考虑,是否应该在应用环境中采用大于1TB的磁盘(及逻辑磁盘)。如果不希望受到 EFI label 带来的局限,那么则不应使用大于1TB的盘(如是阵列逻辑盘,则应将逻辑盘容量划小)。EFI Label的局限主要有:
  当前的 SCSI 驱动(ssd)仅支持最多 2 TB 容量。如果需要大于 2 TB 的容量,应采用 Solaris Volume Manager 之类的存储管理工具来创建大容量设备。
  某些 Layered software products,虽然声称可以支持 EFI-labeled 磁盘,但在实用中可能无法正确访问 EFI label 盘。
  早期 Solaris 版本无法识别 EFI label。
  EFI label 不支持 IDE 盘。
  EFI label 盘不可做启动盘。
  Solaris Management Console 的 Disk Manager 工具不能管理 EFI label 盘,只能使用 format 工具来对 EFI label 盘进行分区,然后再用 Solaris Management Console 的 Enhanced Storage 工具来管理 EFI label 盘上的卷(volume)或磁盘包(disk set)。
  EFI 中不可使用重叠分区,因此原来的2分区不再代表全盘。此时,全盘表示方法为 cxtydz.
  EFI label 的盘或分区的容量信息中不再出现柱面、磁头等参数,而采用扇区或块为单位。
  对 EFI label盘,format 工具中的部分选项/子命令不再可用:
  - save 选项不被支持,因为 EFI label 盘不再需要用到 format.dat 中的记录。
  - backup 选项不可用,因为磁盘驱动找到 primary label 后即可将它写回到盘上(执行步骤与VOTC方式全然不同了)

下面看看EFI label的实用例子。

例1、EFI label 盘的全盘复制
在原来的VTOC方式中,2分区 (s2) 代表全盘,因此工程师们都习惯使用 dd 来进行全盘复制:

dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t2d0s2 bs=128k

对EFI label 盘的复制则不同了。一是EFI label 没有 s2,二是EFI label 盘上的有一个UUID(Universally Unique Identifer),直接复制会导致两盘的UUID重复,某些软件产品读到重复UUID时会发生数据问题,因此需要在复制后重新生成UUID。
看例子:
1. 全盘数据克隆先:
    # dd if=/dev/rdsk/c0t0d0 of=/dev/rdsk/c0t2d0 bs=128k
2. 将源盘的 prtvtoc 输出定向到 fmthard 命令,以生成目标盘的新 label:
    # prtvtoc /dev/rdsk/c0t0d0 | fmthard -s - /dev/rdsk/c0t2d0

例2、创建 EFI 或 SMI label
对于小于1TB的盘,既可以使用VTOC label,也可以使用 EFI label。如果使用常规的不带参数的 format 命令,如原盘已 label,那么将不会改变原来的 label 类型;如未 label,则会提示进行 label,采用常规的VTOC类型。如果需要选择指定 label 类型,或需要改变原有的 label 类型,则可以使用 format -e 参数。
我们熟知的常规 format>label 命令的提示是这样的:

# format
Searching for disks...done
……
format> lable
Ready to label disk, continue?

带 -e 参数的format>label 命令则是这样:

# format -e
Searching for disks...done
……
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[0]: 0
Ready to label disk, continue?

上面提供了 label 类型的选择菜单。

例3、使用 format 工具,将一个 1.15 TB 的 EFI label 盘分为 3 个片区

# format
……
partition> modify
Select partitioning base:
0. Current partition table (original)
1. All Free Hog
Choose base (enter number) [0]? 1
Part        Tag        Flag        First Sector        Size        Last Sector
0        root        wm        0                0        0
1        usr        wm        0                0        0
2        unassigned wm        0                0        0
3        unassigned wm        0                0        0
4        unassigned wm        0                0        0
5        unassigned wm        0                0        0
6        usr        wm        0                0        0
8        reserved        wm        2576924638        8.00MB        2576941021
Do you wish to continue creating a new partition
table based on above table[yes]? y
Free Hog partition[6]? 4
Enter size of partition 0 [0b, 34e, 0mb, 0gb, 0tb]:
Enter size of partition 1 [0b, 34e, 0mb, 0gb, 0tb]:
Enter size of partition 2 [0b, 34e, 0mb, 0gb, 0tb]: 400gb
Enter size of partition 3 [0b, 838860834e, 0mb, 0gb, 0tb]: 400gb
Enter size of partition 5 [0b, 1677721634e, 0mb, 0gb, 0tb]:
Enter size of partition 6 [0b, 1677721634e, 0mb, 0gb, 0tb]:
Part        Tag        Flag        First Sector        Size        Last Sector
0        unassigned wm        0                0        0
1        unassigned wm        0                0        0
2        usr        wm        34                400.00GB 838860833
3        usr        wm        838860834        400.00GB 1677721633
4        usr        wm        1677721634        428.77GB 2576924637
5        unassigned wm        0                0        0
6        unassigned wm        0                0        0
8        reserved        wm        2576924638        8.00MB        2576941021
Ready to label disk, continue? yes
partition> q

例4、显示磁盘 label 信息

# prtvtoc /dev/rdsk/c0t0d0s0
* /dev/rdsk/c0t0d0s0 partition map
*
* Dimensions:
* 512 bytes/sector
* 63 sectors/track
* 15 tracks/cylinder
* 945 sectors/cylinder
* 8894 cylinders
* 8892 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
*                                 First         Sector         Last
* Partition        Tag        Flags        Sector         Count         Sector         Mount Directory
      0                 2         00         1048950         3381210         4430159         /
      1                 3         01         0         1048950         1048949
      2                 5         00         0         8402940         8402939
      7                 8         00         4430160         3972780         8402939         /export/home

这是一个VTOC label 盘。

# prtvtoc /dev/rdsk/c3t1d0s0
* /dev/rdsk/c3t1d0s0 partition map
*
* Dimensions:
* 512 bytes/sector
* 2479267840 sectors
* 2479267773 accessible sectors
*
* Flags:
* 1: unmountable
* 10: read-only
*
*                                 First         Sector         Last
* Partition        Tag        Flags        Sector         Count         Sector         Mount Directory
      0                 2         00         34         262144         262177
      1                 3         01         262178         262144         524321
      6                 4         00         524322         2478727100 2479251421
      8                 11         00         2479251422 16384 2479267805

这是一个 EFI label 盘。




阅读(1622) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~