Генерирование уникальных идентификаторов систем очень важно в мультисистемных, многораздельных ИТ-средах, существующих на сегодняшний день. Менеджер лицензионных ключей - только один пример, в котором уникальный идентификатор системы используется для вычисления лицензионного ключа. С появлением серверов, основанных на процессорах IBM POWER4 и POWER5 от IBM, большое значение максимального количества логических разделов для частного и совместного использования является востребованной особенностью.

Однако возможность конфигурировать большое число совокупностей логических разделов на каждом физическом устройстве, связанная с необходимостью иметь уникальные идентификаторы для каждого раздела, наверняка вызовет коллизию в пространстве имен идентификаторов.

IBM AIX 5L™ версии 5.3 представляет новые алгоритмы для генерации уникальных идентификаторов системы. Эта статья начинается с обзора создания уникальных значений для идентификации на текущем AIX 5L версии 5.1 и версии 5.2 , а затем представляет новый AIX 5L версии 5.3, его команды и прикладные программные интерфейсы (APIs). Эта статья полезна для поставщиков решений, изготовителей аппаратного обеспечения и ИТ-специалистов.

Вейн Хуанг, ведущий инженер по внедрению решений, IBM

Вэйн Хуанг (Wayne Huang) является специалистом в области электронной комерции IBM eBusiness™ и серверных операционных систем. Он предоставляет решения IBM в области промежуточного программного обеспечения и профессиональные знания о IBM System p5 UNIX поставщикам решений и разработчикам в области проектирования приложений, анализа проблем, оптимизации производительности систем, аттестации программного обеспечения. Он имеет степень магистра компьютерных наук, которую получил в Университете Техаса, город Остин (University of Texas in Austin, TX). Вы можете связаться с ним по следующему адресу huangw@us.ibm.com.



Хуи-Суонг Буи, начальник проекта AIX, IBM

Хуи-Суонг Буи (Huy-Suong Bui) имеет двухлетний опыт управления проектами и наслаждается работой на своей текущей должности в IBM - начальник проекта AIX. Она является сертифицированным профессионалом в области управлением проектами (project management professional (PMP)), сертификацию прошла в Project Management Institute (PMI) и в ближайшей перспективе готовится пройти сертификацию на PMP-специалиста в IBM. Она имеет степень магистра в области управления бизнесом, которую получила в Техасском Университете (University of Texas in Austin, TX). Вы можете связаться с ней по адресу huysuong@us.ibm.com.



Брэд Кобб, ведущий консультант по техническим вопросам, Центр сотрудничества AIX, IBM

Больше чем 10 лет Брэд Кобб (Brad Cobb) помогал поставщикам решений портировать, настраивать, отлаживать и улучшать их приложения в средах разработки IBM AIX. Кроме помощи поставщикам решений, Брэд регистрировал патенты, публиковал статьи и выступал на конференциях разработчиков. Вы можете написать ему на адрес bcobb@us.ibm.com.



04.10.2007

Введение

Изнутри генерация новых системных идентификационных номеров включает в себя использование полей из дерева устройств AIX®. Затем применяются алгоритмы для вычисления идентификационных системных номеров и строк. В следующем списке представлены свойства корневого узла дерева устройств в качестве подготовки к рассмотрению алгоритмов

TTTT
TTTT является 4-значным числовым (0 - 9) машинным типом.
CC
CC является 2-значным алфвитно-цифровым (0 - 9, A - Z) кодом предприятия-изготовителя.
SSSSS
SSSSS является 5-значным алфавитно-цифровым (0 - 9, A - Z) порядковым номером. Также смотрите Таблицу 2.
P
P - это шестнадцатиричное числовое значение (0 - 9, A - F) количества логических разделов.

Заметим, что список, представленный выше, и алгоритмы применимы только к системам от IBM, для которых значение свойства определения модели начинается с IBM и свойства идентификации системы начинается с IBM,nn (где nn - два десятичных числа). Изготовители комплектного оборудования (OEM) могут использовать эту статью как справочную для своих собственных генераторов идентификационных значений.


Команды идентификации системы в AIX 5.2 и AIX 5.1

Вы можете собрать данные, идентифицирующие систему, несколькими способами. Для того, чтобы однозначно идентифицировать машину или логический раздел, необходимо иметь один или более следующих элементов:

  • Аппаратный порядковый номер
  • Код завода-изготовителя
  • Тип аппаратуры
  • Модель аппаратуры
  • Номер раздела (для логического разбиения(LPAR), динамического логического разбиения (DLPAR), или разбиения IBM Micro-Partitioning™)

Команды и прикладные программные интерфейсы (APIs) для получения системных идентификаторов для наиболее часто используемых AIX 5L версии 5.2 и версии 5.1 описаны в следующем разделе.

Примечание:Если вы еще не знакомы с командой AIX uname и с ее возвращаемыми значениями, мы рекомендуем вам выполнить примеры из этой статьи, чтобы увидеть фактический вывод.

  • uname -m выводит машинный порядковый номер (устаревшая методика). Мы не рекомендуем использовать данную команду потому, что она не всегда гарантирует уникальность системы.
  • uname -u выводит код предприятия и машинный идентификатор
  • uname -M выводит тип и имя модели.
  • uname -L показывает уникальный номер логического раздела LPAR и уникальное для всего сервера имя LPAR.

Команды, показанные в Таблице 1, были выполнены на компьютере RS/6000® Model 260 с физическим машинным идентификатором 7043-10CABFD.

Таблица 1. Существующие системные идентификационные команды и то, что они возвращают
left#E6E6E6leftleftleftleftleftleft
КомандаВыводимое значение
uname -uIBM,01 10 CABFD (Пробелы вставлены для удобочитаемости.)
uname -MIBM,7043-260
uname -L-1 Null (No LPAR)
uname -MuIBM,7043-260 IBM,01 10 CABFD
uname -MuLIBM,7043-260 IBM,01 10 CABFD -1 NULL
uname -m00C CABFD 4C00 (Примечание. Мы не рекомендуем использовать эту команду.)

На используемом компьютере значение nid равно cabfd 4c. Хотя команда uname -m доступна для применения, она не рекомендуется для использования, с тех пор как пятизначного порядкового номера не всегда достаточно для однозначной идентификации системы.

Как вы можете видеть в других примерах, команда uname -u выводит код предприятия и машинный порядковый номер для лучшей идентификации системы. Вы можете добавить другие элементы данных, такие как тип аппаратного обеспечения(машины)и номер модели, как это делается в командах uname -Mu и uname -MuL.

С помощью флага -L команда выводит информацию о логическом разделе. В экспериментах с AIX 5L версии 5.1 и версии 5.2 мы используем систему с двумя процессорами RS/6000 Model 260 без поддержки разбиения на разделы; таким образом, выводимыми значениями при использовании флага -L будут -1 и NULL.

Для выработки уникального системного идентификатора для систем на основе процессоров IBM System p5 без поддержки разбиения на разделы, рекомендована следующая команда для AIX 5L версии 5.1 и версии 5.2:

uname -Mu

В предыдущем примере использование флага команды привело к следующим результатам:

IBM,7043-260 IBM,01 10 CABFD

Выходная строка содержит следующие элементы:

  • Тип процессора (7043)
  • Модель (260)
  • OF префикс (IBM,01)
  • Код изготовителя (10)
  • Порядковый номер (CABFD)

Другие команды и системные интерфейсы для идентификации системы

Команда lsattr полезна при запросе идентификатора AIX-системы. Следующие два теста были сделаны на машинах RS/6000 Model 260 и IBM System p5 520:

lsattr -El sys0 -a systemid    (RS/6000 Model 260)
systemid IBM,01 10 CABFD  Hardware system identifier        False

lsattr -El sys0 -a systemid    (IBM System p5 520)
systemid IBM,02 10 F190F  Hardware system identifier  	False

Также можно запросить системную идентификационную иформацию через набор системных прикладных программных интерфейсов:

uname()    and    unamex() xutsname.nid in
struct xutsname  xutsname.lognid in 
struct xutsname

Вы можете найти полное объяснение этих структур и функций доступа в разделе Обновленные спецификации интерфейса программирования.


Система идентификации в новом AIX

В процессе производства IBM изменяет правила генерирования серийных номеров и переходит на следующие стандарты:

  • Порядковый номер, который не содержит шестнадцатиричных значений(0 - 9, A - F)
  • Независимые порядковые номера для каждого кода предприятия

Компьютеры IBM Systems развивались от простых настольных компьютеров до больших серверов с распределенным логическим разбиением и поддержкой синхронной многопоточности (SMT). Соответсвенно, возрастали требования для генерации уникальных идентификационных значений системы. Ниже предствавлен список требований, которые должны выполняться для достаточного поддержания генерации системных идентификаторов:

  • Системы POWER4 имеют максимум 32 логических раздела, пронумерованных от 1 до 32.
  • Системы POWER5 имеют иметь максимум 254 логических раздела,пронумерованных от 1 до 254.
  • Будущие системы, возможно будут нуждаться в поддержке 1023 логических разделов.
  • Будущие системы должны будут поддерживать число логических разделов от 1 до примерно 1 миллиона.

Система идентифицируется строкой TTTTMMMCCSSSSS, где:

  • TTTT является 4-значным числовым типом машины (0 - 9).
  • MMM является 3-значным алфавитно-цифровым номером модели (0 - 9, A - Z).
  • CC является 2-значным алфавитно-цифровой кодом производителя (0 - 9, A - Z).
  • SSSSS является 5-значным алфавитно-цифровым порядковым номером.

Чтобы однозначно идентифицировать систему и создать идентификатор, может понадобиться один или более элементов из предшествующего списка.

Таблица 2 показывает последовательность шагов для генерации уникального идентификатора системы для некоторых систем

Таблица 2. Генерация уникальных идентификаторов для текущих систем
left#E6E6E6leftleftleft
ОписаниеУникальный идентификаторПорядковый номер
Существующая IBM System p5 (прежде pSeries®) системаTTTTSSSSS0 - 9, A - F
IBM System p5 системаSSSSS0 - 9, A - F
IBM BladeCenter® JS20TTTTCCSSSSS0 - 9, A - F
(Например, E, I, J, O, Q, S, U)
09, AF

Примечание. Колонка Уникальный идентификатор определяет подмножество TTTTMMMCCSSSSS, которое нужно для того, чтобы надлежащим образом сгенерировать уникальный идентификатор системы:

  • Значение SSSSS говорит о том, что тип машины, номер модели и код предприятия-изготовителя не нужны для создания уникального идентификатора системы.
  • Значение TTTTSSSSS говорит о том, что номер модели и предприятие изготовления не требуются для создания уникального идентификатора системы.
  • Значение TTTTCCSSSSS говорит о том, что номер модели не требуется для создания уникального идентификатора системы.

Таблица 3 показывает как AIX 5L представляет информацию системы.

Таблица 3. Информация о системе от AIX 5L
left#E6E6E6leftleft
ОписаниеУникальный идентификаторПорядковый номер
Подпрограмма unamex
xutsname.nid
32 битный уникальный идентификатор системы"0x0123454C"
Подпрограмма uname
utsname.machine
32 битный уникальный идентификатор системы, представленный как строка из шестнадцатиричных символов"0123454C"
Команда uname -m
(Примечание. Не использовать эту команду.)
"00" || 32-битный уникальный идентификатор системы, представленный как строка из шестнадцатиричных символов || "00""000123454C00"
Команда uname -M"IBM," || "TTTT" || "-" || "MMM""IBM,7042-681"
Команда uname -Lимя и номер логического раздела"2 name"

В Таблице 4 показана идентификация, доступная в AIX 5L версии 5.3. (Специальная программа authorized program analysis report (APAR) необходима для AIX 5L версии 5.1 и версии 5.2.)

Таблица 4. Идентификация системы при помощи AIX 5L версии 5.3 (также AIX 5L версии 5.1 и AIX версии 5.2)
left#E6E6E6leftleft
КомандаОписание
Команда uname -f64 битное значение, раздел/системный уникальный идентификатор представлен шестнадцатиричной символьной строкой без "0X" префикса.
Команда uname -F64-х битный уникальный идентификатор системы представлен как шестнадцатиричная символьная строка без "0X" префикса.

AIX 5L версии 5.3 также реализует новые определения следущих команд и процедур::

  • Поле unamex subroutine xutsname.nid.
  • Поле uname subroutine utsname.machine.
  • Флаг uname command -m.

Нет изменений в выводимых значениях команды uname с флагами -M, -U, или -L.


Флаги uname в AIX 5L версии 5.3, совместимые с AIX 5L версии 5.2 и версии 5.1

В AIX 5L версии 5.3 команда uname остается той же самой для флагов, упомянутых в предыдущих разделах и для двух примеров ниже.

Заметим, что выводимое значение команды uname -L теперь указывает на сегментированную машину. Этот результат совместим с результатами AIX 5L версии 5.1 и AIX 5L версии 5.2:

# uname -u 
IBM,02 10 F190F
 
# uname -M
IBM,9111-520 
 
# uname -L
1 testsp 

# uname -MuL                        
IBM,9111-520 IBM,02 10 F190F 1 testsp

Для этого компьютера nid равен cf190f 4c и longnid равен 80001815.


Новые флаги команды uname в AIX 5L версии 5.3

Два новых флага были добавлены к команде /usr/bin/uname, основанной на обновленном подходе к созданию надежных уникальных идентификаторов системы. Эти идентификаторы предназначены только для нового аппаратного обеспечения:

  • Флаг -F отображает идентификационный номер компьютера. Эта символьная строка состоит из шестнадцатиричных знаков, которые уникальны для всех систем .
  • Флаг -f отображает идентификационный номер логического раздела. Эта символьная строка состоит из шестнадцатиричных знаков, которые уникальны для всех систем .

Примеры

# uname -F       
80001815 2DF00000             
# uname -f       
80001815 2DF00001

Для этого компьютера nid равен cf190f 4c и longnid равен 8000181552DF00001.


Спецификации обновленных программных интерфейсов

Заголовочный файл /usr/include/sys/utsname.h определяет структуру, которую вы можете использовать для запроса идентификации системы и других системных данных. На AIX 5L версии 5.1 и версии 5.2, эта структура определена следующим образом:

struct xutsname {
	unsigned int nid;  int reserved[3];

Для AIX 5L версии 5.3 в структуру добавлено новое поле longnid для хранения 64-битных идентификаторов систем:

struct xutsname {
	unsigned int nid;
	int reserved;		// to preserve size and alignment
	unsigned long long longnid;

Единственный программный интерфейс, изменяющийся при переходе с AIX 5L версии 5.1 и версии 5.2 на версию 5.3 - это структура xutsname, которая становится членом nid, но это изменение будет прозрачным. Ее тип и размер остаются теми же. Отметим, что на новом аппаратном обеспечении есть метод, который вычисляет изменившиеся значения, сам же принцип вычисления остался неизменным.


Программное обеспечение APAR, доступное для использования с AIX 5L версии 5.1 и версии 5.2

При работе с AIX 5L версии 5.1 и версии 5.2 их можно модернизировать для использования новых команд генерации системных идентификаторов и прикладных программных интерфейсов. Связанные с этим APAR-ы:

  • AIX 5L Version 5.1: IY52116
  • AIX 5L Version 5.2: IY52125

Изменения в AIX 5L версии 5.1 были сделаны для совместимости, но с тех пор как системам стала нужна 64-битная идентификация, не поддерживаемая AIX 5L версии 5.1, не все возможности изменения были реализованы в AIX 5L версии 5.1.


Будущая совместимость

Общее направление развития для AIX 5L - это переход от 32-битных системных идентификаторов к 64-битным системным идентификаторам. Чтобы подготовится к этому переходу, в приложениях необходимо сделать сдедующее:

  1. Перейти на команды, которые возвращают 64-битные системные идентфикаторы вместо 32-битных системных идентификаторов, например uname –f или uname -F.
  2. Для приложений, которые программно запрашивают идентификаторы системы:
    1. Начанать создавать приложения на AIX 5L версии 5.3.
    2. Прекратить использование uname() subroutine.
    3. Прекратить использование поля nid структуры xutsname когда используется uname() subroutine.
    4. Начать использовать член longnid структуры xutsname когда используется unamex() subroutine.
  3. Как только переход от 32-битных на 64-битные идентификаторы системы осуществлен, все команды и программы, которые генерируют 32-битные системные идентификаторы, будут возвращать либо 0, либо строку из нулей, в зависимости от используемого интерфейса.

Заключение

Для текущего AIX 5L версии 5.1 или версии 5.2, система идентифицируется завершенной строкой данных TTTTMMMCCSSSSS или некоторыми из ее компонентов, как объяснено в разделе Другие команды и системные интерфейсы для проверки идентификации системы. Чтобы получить уникальный идентифкатор системы, используйте команды uname с флагами -Mu или -MuL. Флаг -L преназначен для генерации номера логического раздела.

В AIX 5L версии 5.3 добавлено два новых флага: -F and -f. Вы можете использовать выводимое значение uname -F и uname -f для однозначной идентификации любого компьютера или логического раздела на основе POWER5.

Программные интерфейсы для идентификации системы изменились в AIX 5L версии 5.3. xutsname.nid и xutsname.longnid содержат исходную и новую иформацию для идентификации системы.

Вы можете использовать изменения AIX 5L версии 5.3 для AIX 5L версии 5.1 и версии 5.2, используя связанную программу APARs.


Благодарности

  • Джон O'Куин (John O'Quin), выдающийся инженер, создатель AIX, является разработчиком плана идентификации системы и алгоритмов, которые при этом используются.
  • Мэтью Кронк (Matthew Cronk), разработчик ядра AIX, собственник специфиации для идентифкации операционнной системы IBM AIX.
  • Люк Броунинг (Luke Browning), создатель ядра AIX, который оказал большую поддержку при создании этоя статьи и других.
  • Ларри Ланкастер (Larry Lancaster) предоставил необходимую информацию.

Ресурсы

Научиться

  • AIX system identification: ознакомьтесь с оригиналом статьи.(EN)
  • IBM Solution Connection: посетите этот сайт для того, чтобы найти решения, которые объединяют программное обеспечение от ведущих партнеров IBM с программным обеспечением IBM systems и технологией TotalStorage.(EN)
  • Solutions development for IBM Systems: это первичный источник для всех разработок IBM System p5 AIX.(EN)
  • AIX И UNIX: хотите больше? Сообщество developerWorks AIX и UNIX предоставляет для ознакомления десятки информативных статей и учебных курсов различной степени сложности.
  • Podcasts: оставайтесь на связи с техническими экспертами IBM.(EN)

Получить продукты и технологии

  • IBM trial software: создайте ваш следующий проект с помощью программного обеспечения IBM, доступного для загрузки прямо со страницы сообщества developerWorks.(EN)

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=259679
ArticleTitle=Идентификация системы в AIX
publish-date=10042007