将虚拟盘单元添加到 Linux 逻辑分区

您可以将虚拟盘单元动态添加到使用 IBM® i 资源的 Linux® 逻辑分区。 这允许您在需要时增加 AIX® 逻辑分区的存储容量。

关于本任务

虚拟盘可简化服务器上的硬件配置,因为它们不需要您将其他物理设备添加到服务器以运行 Linux。 最多可以将 64 个虚拟盘分配给 Linux 逻辑分区。 每个虚拟盘最多支持 1000 GB 的存储空间。 每个虚拟盘对 Linux 都显示为一个实际磁盘机。 但是, i 集成文件系统中的关联空间分布在属于 i 逻辑分区的磁盘上。 跨磁盘分发存储器可通过 i提供设备奇偶性校验保护的优点。 因此,您不必通过 Linux设置设备奇偶性校验保护来使用其他处理资源和内存资源。

IBM i 提供了将虚拟盘动态添加到 Linux 逻辑分区的功能。 您可以在集成文件系统中分配磁盘空间,并使其可供 Linux 使用,而无需重新启动服务器或逻辑分区。 Linux 管理员还可以配置新分配的磁盘空间并使其可用,而无需重新启动服务器。

要将虚拟盘动态添加到 Linux 逻辑分区,请完成以下步骤:

程序

  1. 如果使用 IBM Navigator for i, 使用 IBM Navigator for i创建网络服务器存储空间。
    1. 展开 我的连接 > 您的服务器 > 网络 > Windows 管理
    2. 右键单击 磁盘驱动器 ,然后选择 新建磁盘
    3. 磁盘驱动器名称 字段中,指定要提供给网络服务器存储空间的名称。
    4. 描述 字段中,指定网络服务器存储空间的有意义描述。
    5. 容量 字段中,指定新的网络服务器存储空间的大小 (以兆字节为单位)。
      请参阅首选 Linux 分发器的安装文档以确定要使用的大小。
    6. 单击 确定
    7. 继续执行步骤 4
  2. 如果使用基于字符的接口,请使用基于字符的接口创建网络服务器存储空间:
    1. IBM i 命令行中,输入命令 CRTNWSSTG 并按 F4。
      "创建 NWS 存储空间" (CRTNWSSTG) 屏幕将打开。
    2. 在 "网络服务器存储空间" 字段中,指定要提供给网络服务器存储空间的名称。
    3. 在 "大小" 字段中,指定新网络服务器存储空间的大小 (以兆字节为单位)。
      请参阅首选 Linux 分发器的安装文档以确定要使用的大小。
    4. 在 "文本描述" 字段中,为网络服务器存储空间指定有意义的描述。
    5. 按 Enter 键。
  3. 如果使用 IBM Navigator for i, 使用 IBM Navigator for i链接网络服务器存储空间。
    1. 展开 我的连接 > 您的服务器 > 网络 > Windows 管理
    2. 单击 磁盘驱动器,右键单击可用的网络服务器存储空间,然后选择 添加链接
    3. 选择要将网络服务器存储空间链接到的服务器。
    4. 选择其中一种可用数据访问类型。
    5. 单击 确定
    6. 继续执行步骤 5
  4. 如果使用基于字符的接口,请使用基于字符的接口链接网络服务器存储空间:
    1. IBM i 命令行中,输入命令 ADDNWSSTGL 并按 F4。
      将打开 "添加网络-服务器存储器链接" (ADDNWSSTGL) 屏幕。
    2. 在 "网络服务器描述" 字段中,指定网络服务器描述 (NWSD) 的名称。
    3. 在 "动态存储器链接" 字段中,指定 *YES 以使网络服务器存储空间对逻辑分区动态可用 (即,在不重新引导 Linux 逻辑分区的情况下可用)。
    4. 在 "磁带机序号" 字段中,指定要使用的链路序列位置。
    5. 按 Enter 键。
  5. 如果 Linux 逻辑分区未在运行,请激活 Linux 逻辑分区。 在逻辑分区运行之前,请勿继续。
  6. 使用具有超级用户 (root 用户) 特权的用户名登录 Linux
  7. 确定新虚拟磁盘驱动器的主机标识, SCSI 总线和逻辑单元号 (LUN)。
    您可以通过在 Linux 命令提示符处输入以下命令来列出现有设备: cat /proc/scsi/scsi。 以下示例显示命令的样本输出:
    Attached devices:
    Host: scsi0 Channel: 00 Id: 00 Lun: 00
      Vendor: IBM      Model: VDASD NETSPACE   Rev: 0001
      Type:   Direct-Access                    ANSI SCSI revision: 04
    在此示例中, NETSPACE 是所显示设备的网络存储空间的名称。 在 Linux 逻辑分区上查找现有网络存储空间的名称。 记录现有网络存储空间的 Host: 值 (主机标识) 以及 Channel: (SCSI 总线) 和 Lun: (逻辑单元号 (LUN)) 值的数字部分。 新的虚拟磁盘驱动器将具有与现有网络存储空间相同的主机标识, SCSI 总线和 LUN。 例如,如果现有网络存储空间如先前示例输出中所示,那么新的虚拟磁盘驱动器将具有主机标识 0, SCSI 总线 0和 LUN 0
  8. 确定新虚拟磁盘驱动器的 SCSI 标识。
    您可以通过在 Linux 命令提示符处输入以下命令来以表格式列出现有设备:
     cd /proc/scsi/sg
     cat device_hdr; cat devices
    以下示例显示了命令的样本输出:
     host    chan    id      lun     type    opens   qdepth  busy    online
     0       0       0       0       0       2       30      0       1
     0       1       0       0       0       0       30      0       1
    
    记下现有设备的 host (主机标识) , chan (SCSI 总线) , id (SCSI 标识) 和 lun (逻辑单元号 (LUN)) 值。 查找具有与新虚拟磁盘驱动器相同的主机标识, SCSI 总线和 LUN 的设备 (如上一步中所确定)。 在这些设备中,查找具有最大 SCSI 标识的设备。 新的虚拟磁盘驱动器将具有一个大于最大现有 SCSI 标识的 SCSI 标识。 例如,如果新虚拟磁盘驱动器的主机标识为 0, SCSI 总线为 0, LUN 为 0,并且 Linux 逻辑分区上的设备如以上示例输出中所示, 那么新的虚拟磁盘驱动器将具有 SCSI 标识 1
  9. 在 Linux 命令提示符处输入以下命令以手动添加虚拟磁盘驱动器: echo "scsi add-single-device host chan id lun" > /proc/scsi/scsi
    使用以下信息来帮助您了解命令的自变量:
    • host 是主机标识。
    • chan 是 SCSI 总线。
    • id 是 SCSI 标识。
    • lun 是 LUN。
    例如,如果新虚拟磁盘驱动器的主机标识为 0, SCSI 总线为 0, SCSI 标识为 1, LUN 为 0, 您将在 Linux 命令提示符处输入命令 echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi
  10. Linux 命令提示符处,输入以下命令以在虚拟磁盘驱动器上创建磁盘分区: fdisk /dev/sdb
    您必须具有超级用户 (root) 特权才能运行此命令。
    此时将显示 Command (m for help): 提示。
  11. 在提示符处输入 p 以查看虚拟磁盘驱动器的当前分区表。
    缺省情况下,新的虚拟磁盘驱动器显示虚拟盘上的单个磁盘分区。
    例如
     Disk /dev/sdb: 64 heads, 32 sectors, 200 cylinders
     Units = cylinders of 2048 * 512 bytes
    
     Device Boot    Start       End    Blocks   Id   System
     /dev/sdb1          1       199    203760    6   FAT16  
  12. 在命令提示符处输入 d 以删除当前分区,然后创建新的分区。
    磁盘分区的缺省格式为 FAT16。 请勿在虚拟磁盘驱动器上使用格式化为 FAT16 的磁盘分区。
    此时将显示 Partition number (1-4): 提示。
  13. 输入要删除的磁盘分区号,然后按 Enter 键。
    在此示例中,输入 1
    fdisk 命令通过显示命令提示符指示删除成功。
  14. 输入 n 以创建新的磁盘分区。
    此时将显示 Command action E extended P primary partition (1-4) 提示。
  15. 输入 p 以在虚拟盘上创建主磁盘分区,然后按 Enter 键。
    此时将显示 Partition number (1-4): 提示。
  16. 输入 1 ,因为这是虚拟盘上的第一个分区,然后按 Enter 键。
    此时将显示 First cylinder (1-200, default 1): 提示。
  17. 按 Enter 键以将缺省值 1 用于第一个磁盘柱面。
    这将使用此磁盘分区的整个磁盘。
    此时将显示 Last cylinder or +size or +sizeM or +sizeK (1-200, default 200): 提示。
  18. 按 Enter 键以将缺省值 200 用于最后一个磁盘柱面。
    这将使用此分区的整个虚拟盘。
    注: 分区的类型缺省为 Linux。 如果需要其他磁盘类型 (例如,逻辑卷管理器 (LVM) 或 Linux Extended) ,请输入 t 以更改分区的类型。
    fdisk 命令通过返回命令提示符指示分区创建成功。
  19. 输入 w 以将更改落实到磁盘结构,然后按 Enter 键。
    fdisk 命令将更改写入虚拟磁盘驱动器。 fdisk 命令显示以下诊断消息:
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.  
    操作完成后, fdisk 命令返回命令提示符。
  20. 使用 Linux mkfs 命令格式化磁盘分区。
    有许多可选参数用于 mkfs 命令,但通常缺省值满足大多数磁盘使用。 要格式化先前步骤中创建的磁盘分区,请确保您已使用超级用户 (root) 特权登录,并在 Linux 命令提示符处输入以下命令:
     mkfs /dev/sdb1  
    由于第二个虚拟盘上存在单个磁盘分区,因此磁盘的名称为 /dev/sdb1 (sdb 指示它是第二个磁盘, 1 指示它是分区 1)。 mkfs 命令显示以下诊断消息:
    mke2fs 1.28 (31-Aug-2002)
    Fileserver label= 
    OS type: Linux Block size=1024 (log=0) 
    Fragment size=1024 (log=0) 
    51200 inodes, 204784 blocks
    10239 blocks (5.00%) reserved for the super user
    First data block=1
    25 block groups
    8192 blocks per group, 8192 fragments per group
    2048 inodes per group
    Superblock backups stored on blocks:
       	 	8193, 24577, 40961, 57345, 73729
    
    Writing inode tables: done
    Writing superblocks and fileserver accounting information: done
    
    This fileserver will be automatically checked every 29 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.  
  21. 输入以下命令以创建可用于访问新文件的目录: mkdir /mnt/data
  22. 输入以下命令以在新目录中安装虚拟磁盘驱动器: mount /dev/sdb1 /mnt/data
  23. 使用 Linux 文本编辑器 (例如 vi) 将条目添加到 /etc/fstab 文件。
    例如, /dev/sdb1 /mnt/data ext2 defaults 1 1。 每次重新启动 Linux时,此条目都会安装虚拟盘。