У даній статті на практиці створюється інформаційна структура дата-центру. Для цього використовується програмне забезпечення від корпорації Oracle, яке абсолютно безкоштовно можна скачати з сервера компанії.
Передбачається, що читач володіє знаннями про оточення операційної системи Linux, має базові навички роботи з нею і знає її команди, так як на увазі обмежень, що накладаються на обсяг роботи, в ній даються тільки загальні поради та рекомендації.
В останні роки сильно зросла потреба в обробці і зберіганні величезних масивів інформації. Стандартні комп'ютери і навіть високопродуктивні серверні системи перестали бути придатними. Тоді, для вирішення цієї проблеми був застосований підхід - розподілені обчислення. Таким чином, для вирішення однієї задачі використовуються ресурси декількох комп'ютерів, об'єднаних в обчислювальну мережу.
Для об'єднання потужностей різних машин, які, можливо управляються різними операційними системами стали використовувати процес - віртуалізацію. Віртуалізація дозволила уявити потужність фізично розподілених комп'ютерів, як віртуально об'єднану сукупність ресурсів.
Так як в даний час вищезгадані теми широко поширені і активно обговорюються, я не буду в них заглиблюватися. Впритул підійду до теми мого проекту: побудова систем розподілених обчислень за допомогою технологій Oracle. Взагалі, в гру за віртуалізацію корпорація Oracle вступила дещо пізніше своїх конкурентів, таких, як VMware і Microsoft. Однак, як і варто було очікувати, цією корпорацією був запропонований потужний, що не поступається рішенням конкурентів продукт для віртуалізації Oracle VM. Його розгляду і побудови з його допомогою системи розподілених обчислень присвячений мій проект.
Oracle VM - програмне забезпечення для віртуалізації серверів складається з трьох основних частин. По-перше, це модифікована версія операційної системи Linux - Oracle Enterprise Linux, побудована на основі Red Hat Linux Enterprise. По-друге, це менеджер управління віртуальними машинами - Oracle VM Manager, і, по-третє, сервер для гостьових операційних систем - Oracle VM Server. Менеджер є додатковою програму, що встановлюється під операційну систему Oracle Linux, тоді, як сервер - це самостійна операційна система, побудована так само на основі Red Hat Linux. Рішення Oracle VM грунтується на технології з відкритим вихідним кодом Xen ™ Hypervisor.
3.Проект інформаційної структури дата-центру
Спочатку я спробував створити систему розподілених обчислень на основі віртуальної машини VMware Workstation, проте продуктивності одного комп'ютера вистачило тільки для запуску однієї гостьової операційної системи (Oracle Linux). Оскільки крім неї, було потрібно запустити ще керуючу операційну систему Oracle Linux разом з Oracle VM Manager, і сервер - Oracle VM Server, який є майданчиком для гостьової операційної системи. Проте, мені хотілося запустити кілька операційних систем, керованих віддалено - через менеджера. Тоді я вирішив побудувати реальну інфраструктуру дата-центру на декількох віддалених комп'ютерах, об'єднаних локальною мережею, скориставшись для цього домашньої локальної мережею. У підсумку, у мене в розпорядженні опинилися три комп'ютери з наступними конфігураціями (назву лише критично важливі параметри систем): 1-ий: процесор Pentium 4 2800 MHz, 768 MB ОЗУ, 2-ий: процесор Athlon XP 1800 MHz, 1,5 GB ОЗУ, 3-ий: Core 2 Duo 2,33 GHz, 4 GB ОЗУ.
Все необхідне програмне забезпечення я вільно скачав з сайту корпорації Oracle, яка поширює його абсолютно безкоштовно. Я вирішив використовувати останні версії програмних продуктів, які були під час проведення досліджень. Це досить стабільна версія - 2.2.0. Завантаживши і записавши образи дисків, я почав інсталяції програмних рішень, які я коротко опишу, так як в них є деякі нюанси.
4.Oracle Enterprise Linux
Встановлювати операційну систему Oracle Enterprise Linux 5 я вирішив на ноутбук з процесором Pentium 4 і 768 MB оперативної пам'яті з наступних причин: особливо критичним ресурсом для запуску гостьових операційних систем є обсяг оперативної пам'яті, а в даному випадку за сьогоднішніми мірками її обсяг дуже низький. У той же час, для запуску Linux і менеджера віртуальних машин (який, як ми побачимо в майбутньому, працює в web-середовищі) параметрів цього комп'ютера більш, ніж достатньо.
На наступній ілюстрації (рис. 1) приведу структуру локальної мережі:
Мал. 1. Структура локальної мережі
Для цього відкриємо термінал і введемо туди три такі команди:
# Netstat -na | grep 4443
# Netstat -na | grep 8888
# Netstat -na | grep 8899
З їх допомогою перевіряється на доступність зазначені порти, вони використовуються для доступу, відповідно, по захищеному протоколу і звичайного. Якщо після їх введення не буде ніякого системного виведення, значить порти доступні, з іншого боку, якщо будуть виводитися якісь дані, тоді, треба налаштувати брандмауер. Для цього достатньо в терміналі набрати команду # / usr / bin / system-config-securitylevel, після виконання якої, відобразиться діалог настройки брандмауера, де треба додати вищевказані порти в список виключення.
5.Oracle VM Manager
Oracle VM Manager - це додатковий програмний продукт (тобто, який встановлюється в операційну систему), службовець для управління віртуальними ресурсами (серверами, пулами серверів, машинами), що знаходяться на віддалених системах.
Разом з інсталяцією Oracle VM Manager відбувається установка полегшеної версії бази даних - Oracle Database 10g Express Edition.
Вставляємо підготовлений заздалегідь диск з образом VM Manager, переходимо до командного рядка і вводимо такі команди:
# Mount / dev / cdrom / mnt
В результаті виконання першої команди стандартний пристрій cd-rom монтується в папку / mnt. У другій команді ми переходимо в цю папку. І остання команда запускає інсталятор.
6.Oracle VM Server
Як вже говорилося, Oracle VM Server являє собою системне програмне рішення на основі модифікованого ядра Linux, з якого прибрані всі надмірності, для побудови віртуальних машин - для установки гостьових операційних систем. В основі його віртуалізації лежить проект з відкритим вихідними кодом Xen.
Oracle VM Server підтримує два види віртуалізації: паравіртуалізацію і апаратну віртуалізацію. У першому випадку апаратне забезпечення не емулюється, а замість цього модифікована гостьова операційна система використовує спеціальний API, що надається віртуальною машиною. Таким чином, операційні системи спеціально готуються для виконання під віртуальною машиною, тому в цьому випадку використовуються виключно модифікації операційної системи Linux. Наведу таблицю, яка відображатиме підтримувані операційні системи:
Апаратну віртуалізацію (рівно, як і паравіртуалізацію) можна запустити як на x86-комп'ютері, так і на x64. Оскільки, у мене в розпорядженні є такі різні машини, ми зможемо насправді в цьому переконатися. Однак, спочатку коротко розглянемо процес установки Oracle VM Server.
7.УстановкаOracle VM Server
Встановлювати Oracle VM Server я буду на комп'ютер на базі процесора Athlon XP. І умовно назву його сервер 1. Перед початком установки необхідно заздалегідь підготувати розділ, щоб уникнути втрати інформації!
8.Запуск Oracle VM Manager
Тепер, коли у нас є менеджер і сервер, можна створити кластер з цих двох машин. Для цього, перш за все, треба об'єднати їх в мережу. У мене в розпорядженні є локальна мережа з 100-мегабитной пропускною спроможністю, плюс 100-мегабітний комутатор. Цим я скористаюся для побудови мережі.
9.Созданіе пулу серверів
Спочатку, нам необхідно створити пул або стек серверів. Фізично він являє собою виділений сервер, який об'єднує інші сервера в групу із загальною назвою. Крім того, він може виконувати будь-які інші функції.
Server Pool Name - ім'я створюваного пулу - YazevSoft Pool
Server Pool Virtual IP - можна залишити порожнім
Server Host \ IP - 192.168.1.111 (тут вводимо реальний IP сервера, на який ми встановили Oracle VM Server)
Server Name - символьне ім'я сервера
Server Agent Password - пароль, який ми задали при установці Oracle VM Server
Server Username - ім'я, наявного на сервері користувача
Server Password - пароль, наявного на сервері користувача
У нашому випадку останні два поля - це ім'я і пароль користувача root, які ми поставили під час установки Oracle VM Server, точніше, ім'я не задавали, воно прийнято за замовчуванням - root.
Прапорець High Availability Mode - служить для підтримки системи в режимі "високої готовності". Таким чином, коли цей режим активований і у нас є кілька серверів, тоді при програмну помилку на одному з них, дані з нього копіюються на інший - працездатний і готовий їх прийняти.
Потім, треба перевірити підключення, натиснувши кнопку Test Connection, і якщо воно пройшло успішно, натиснути кнопку Create Pool (або Add) для створення і / або додавання пулу. Потім, за допомогою натискання Next переходимо на наступну сторінку, де можна задати інформацію про користувачів. Внісши необхідні дані, переходимо на останню сторінку, на якій Oracle VM Manager являє список робіт, які він збирається виконати. Якщо все за планом, натискаємо кнопку Confirm, після чого почнеться процедура створення сервера на віддаленому комп'ютері. В цей час сторінка оновиться, і на ній буде виведена напис про те, що йде створення, натисканням кнопки Refresh можна оновити сторінку, в результаті, нарешті, напис зникне і створений сервер з'явиться в списку серверних пулів.
10.Созданіе віртуальної машини
Тепер, коли у нас є підключений сервер, можна створити на ньому віртуальну машину, на якій буде запущена гостьова операційна система. Так як, мій комп'ютер-сервер (на базі Athlon XP) не підтримує апаратну віртуалізацію, я створю на ньому віртуальну машину для паравіртуалізіі. Як було сказано вище, операційну систему для такого типу віртуалізації треба готувати спеціально, благо з сайту корпорації Oracle можна скачати таку. При цьому, там є широкий вибір модифікацій операційної системи Oracle Linux, призначених для різних апаратних конфігурацій, і мають встановлені різні програмні продукти.
Я скачав архів V16963-01.zip, в якому є ще архів OVM_EL4U8_X86_PVM_4GB.tgz, з назви якого випливає, що в ньому міститься образ операційної системи Oracle Enterprise Linux 4 Update 8 розміром 4 гігабайти для паравіртуалізаціі на x86-комп'ютері. Цей розпакований tgz архів я записав на флешку для подальшого розгортання на іншій машині.
Перейшовши на сервер і підключивши флешку, прімонтіруем її і скопіюємо з неї зазначений вище файл в директорію / OVS / seed_pool, оскільки саме в ній зберігаються працюють образи для паравіртуалізаціі, використовуючи наступні команди:
# Mount / dev / sdb1 / mnt
# Cp /mnt/OVM_EL4U8_X86_PVM_4GB.tgz / OVS / seed_pool
Потім, треба перейти в цю директорію і розпакувати образ з архіву tgz:
# Gzip -d -S tgz OVM_EL4U8_X86_PVM_4GB.tgz
У команди gzip безліч ключів, проте ми розглянемо тільки використані тут: -d означає процедуру розпакування, -S - розширення архіву (в нашому випадку - tgz), і, власне, ім'я файлу.
Після розпакування виявляється, що файл затарен (оброблений архиватором Tape Archive, очевидно для цілісності), тому виконуємо наступну команду для разтаріванія:
tar xf OVM_EL4U8_X86_PVM_4GB.
Ключ xf означає, що вміст файлу не запаковано.
Тепер, якщо перейти в директорію OVM_EL4U8_X86_PVM_4GB і подивитися її вміст (наприклад, командою dir), то ми повинні виявити 3 таких файлу: README, System.img, vm.cfg. Якщо це не так, то швидше за все архів був пошкоджений і нічого працювати не буде, таким чином доведеться все повторити.
Тепер, коли всі підготовчі функції виконані, можна переходити до розгортання віртуальної машини, а разом з нею і операційної системи. Отмонтировать флешку, переходимо до комп'ютера-менеджеру. Зараз нам треба створити ресурс, а потім з нього відновити операційну систему. Щоб зробити перше, треба в веб-інтерфейсі перейти на сторінку Resources. І, залишаючись на сторінці з підзаголовком Virtual Machines Templates, натиснути кнопку Import. На наступній сторінці треба вибрати перемикати Select from Server Pool (Discover and Register); продовжити натисканням Next. На новій сторінці треба заповнити список наступним чином (з урахуванням, що раніше введені параметри були такими ж, як наведені вище):
Server Pool Name - (вибираємо зі списку наявний пул) YazevSoft Pool;
Virtual Machine Template Name - (вибираємо зі списку наявний шаблон) OVM_EL4U5_X86_PVM_4GB, в тому випадку, якщо контактів немає, значить ви неправильно зробили попередню настройку сервера;
Operating System - зі списку вибираємо систему найбільш підходящу до встановлюваної - Oracle Enterprise Linux 4;
Virtual Machine System Username - вводимо ім'я, наявного на віртуальній машині користувача;
Virtual Machine System Password - вводимо пароль, наявного на віртуальній машині користувача;
Далі, клацаємо Next, потім Confirm для початку імпортування, потім кілька разів Refresh, поки процес імпортування віртуальної машини не буде завершено. Після цього, треба затвердити образ, для це треба натиснути кнопку Approve, що знаходиться над списком імпортованих образів. З'явиться наступна сторінка, де будуть виведені параметри віртуальної операційної системи, тут теж треба натиснути Approve.
Мал. 2. В консолі відображається робочий стіл операційної системи, що працює на віддаленому сервері
В результаті виконаних дій і операцій ми можемо дистанційно керувати ресурсами нашої мережі, об'єднуючи міць обчислювальних машин в надпродуктивні, що не піддаються загрозам, гнучкі для настройки дата-центри, що дозволяють обробляти і зберігати терабайти цифрової інформації!
Плюси технології Oracle VM очевидні: можливість управління віддаленими ресурсами, мобільність і оптимізація роботи: при правильного налаштування мережі розподілених обчислень можна управляти серверами з будь-якої точки земної кулі, об'єднання потужностей інформаційно обчислювальних машин, створюючи надпродуктивні дата-центри, здатні вирішувати колосальні за складністю завдання.
На жаль, рамки статті не дозволили мені розглянути включення в інфраструктуру мережі розподілених обчислень комп'ютера на базі процесора Core 2 Duo, що підтримує віртуалізацію на апаратному рівні, а це дуже цікава тема. Апаратна віртуалізація дозволяє встановлювати в якості гостьових будь-яку операційну систему (в тому числі Windows), як є, то є спеціально підготовленим, іншими словами: "з коробки", це чудово підходить для використання операційних систем, які розповсюджуються без вихідного коду. Крім того, нерозглянутими залишилися багато інших тем, наприклад: використання в якості гостьових операційних систем образів від віртуальних машин інших розробників, наприклад VMware, перетворення операційної системи Linux, встановленої на фізичному комп'ютері в віртуальну. І багато, багато іншого не потрапило на сторінки. Але я сподіваюся, що представленого матеріалу буде достатньо, щоб зацікавити читача почати власні дослідження цікавої теми - Oracle віртуалізація! Корпорація Oracle завжди пропонує надцікавого і високопродуктивні технології для поліпшення життя людства і підвищення інтелектуального рівня розробника!
Юрій "yurembo" Язєв
[email protected]