Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Clustering | High Ability > DRBD, VVR, Lustre > DRBD, VVR, Lustre

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 29.03.2011, 17:12
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Clusters: Lustre [Oracle, OpenSource]

Официальный сайт: lustre.org

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

Архитектура

MDS Metadata Servers
OSS Object Storage Servers
OST - Object Storage Targets





Каждый компьютер, входящий состав кластера Lustre, выполняет свою четко определенную функцию:
  • MDS. Сервер метаданных предназначен для хранения всей служебной информации о системе: названия файлов, директорий, прав доступа и так далее. Достаточно наличие одного такого сервера в системе, но для обеспечения надежности на случай каких-либо сбоев, обычно его дублируют. Возможно использование внешнего хранилища данных (MDT), которое может быть общим для двух дублирующих друг друга MDS.
  • OSS. Компьютеры для хранения самих данных. Каждый из них работает с 2-8 OST, в их роли могут выступать практически любые средства хранения данных, начиная от просто жестких дисков или RAID массивов внутри OSS, заканчивая внешними системами хранения данных enterprise-класса. Сумма дискового пространства всех OST и является размером доступного дискового пространства всей файловой системы Lustre.
  • Клиент. Компьютеры, непосредственно использующие файловую систему. Им предоставляется полный параллельный доступ, полностью соответствующий стандарту POSIX.

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


Функционирование

Основным толчком для выполнения каких-либо действий в рамках всей файловой системы обычно является запрос с одного из клиентов. Программное обеспечение для клиентов представляет по сути интерфейс между виртуальной файловой системой Linux и серверами Lustre. Каждому типу серверов соответствует своя часть клиентского ПО: MDC, OSC, MGT. В отличии от Hadoop и GFS файловая система Lustre должна быть примонтирована к локальной системе клиентов для полноценного их функционирования.

Для осуществления коммуникации между клиентами и серверами используется собственный API, известный как LNET. Он поддерживает множество сетевых протоколов с помощью NAL.

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

Это достигается за счет дублирование серверов, выполняющих одинаковые функции, а также наличие налаженных алгоритмов действий, направленных на автоматическое восстановление полноценного функционирования системы в случае возникновения чрезвычайных ситуаций. Но этого конечно же не достаточно для абсолютной надежности системы, в дополнение должна быть предоставлена как минимум система бесперебойного питания для всех компонентов кластера на случай проблем с электроэнергией в датацентре (для России более чем актуально).

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

Эта файловая система нашла свое применение во множестве крупнейших кластеров и суперкомпьютеров по всему миру, но это не мешает ей с тем же успехом демонстрировать и на кластерах существенно меньшего масштаба. Около половины из самых производительных суперкомпьютеров во всем мире используют Lustre в качестве файловой системы. Помимо этого многие компании предоставляют ее в качестве основы для Linux кластеров (например HP StorageWorks SFS, Cray XT3, Cray XD1). Чем не показатель ее конкурентоспособности?


Отказоустойчивая люстра:






================================================== ====

// Дополнительная литература:

http://www.insight-it.ru/masshtabiruemost/lustre/

LUSTRE FILE SYSTEM High-Performance Storage Architecture and Scalable Cluster File System:
http://www.scribd.com/fullscreen/592...wj81wtcvezp1b1

LUSTRE FILE SYSTEM: DEMO QUICK START GUIDE
http://www.scribd.com/fullscreen/592...xu4iougsmyjtgu
__________________
Телеграм чат

Последний раз редактировалось Marley; 26.08.2015 в 05:28.
Ответить с цитированием
  #2  
Старый 29.03.2011, 17:17
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Рассмотрены 2 практически одинаковых примера по созданию стенда. Выполнялись они в разное время. В одном используются lvg в другом не используются. Вариант с lvg описан в примере от сотрудников SUN (см.ссылки выше).
__________________
Телеграм чат

Последний раз редактировалось Marley; 04.07.2011 в 17:48.
Ответить с цитированием
  #3  
Старый 29.03.2011, 17:54
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Вариант 1:

В целях исследования используются 5 виртуальных серверов, на которых установлена операционная система OEL5.5.

Планируется инсталляция стенда по схеме, изображенной в самом верху:

1 сервер метаданных: mds1
2 сервер данных: oss1 и oss2
2 клиента: client1 и client2


Для сервера метаданных, требуется раздел на котором будут храниться метаданные. Размер раздела должен составлять (по рекомендациям от компании SUN) 1 GB.
На серверах oss необходимо добавить виртуальные жесткие диски sata в количестве 4 шт. на каждый из серверов. Именно на этих дисках будут храниться данные.
__________________
Телеграм чат

Последний раз редактировалось Marley; 05.07.2011 в 13:20.
Ответить с цитированием
  #4  
Старый 04.07.2011, 13:32
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Создаю на всех виртуальных машинах файл hosts.
Привожу окружающую структуру, согласно плану.

# vi /etc/hosts

Код:
## Localdomain and Localhost (hosts file, DNS)

127.0.0.1 localhost.localdomain localhost

# MDS (hosts file, DNS)

192.168.1.11 mds1.localdomain mds1

# OSS (hosts file, DNS)

192.168.1.21 oss1.localdomain oss1
192.168.1.22 oss2.localdomain oss2

# Clients (hosts file, DNS)

192.168.1.31 client1.localdomain client1
192.168.1.32 client2.localdomain client2
__________________
Телеграм чат

Последний раз редактировалось Marley; 04.07.2011 в 17:52.
Ответить с цитированием
  #5  
Старый 04.07.2011, 14:06
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

На сайте lustere.org имеются ссылки для скачивания необходимых пакетов (требуется регистрация).

Download Lustre 1.8.5 General Availability for Red Hat Enterprise Linux 5, x86_64, English

Код:
Backing filesystem creation and repair tools (MDS/MGS/OSS Only)
e2fsprogs-1.41.10.sun2-0redhat.oel5.x86_64.rpm 	0.95 MB

Backing filesystem kernel module (MDS/MGS/OSS Only)
lustre-ldiskfs-3.1.4-2.6.18_194.17.1.0.1.el5_lustre.1.8.5-ext4.x86_64.rpm 	1.26 MB

Backing filesystem kernel module (MDS/MGS/OSS Only)
lustre-ldiskfs-3.1.4-2.6.18_194.17.1.0.1.el5_lustre.1.8.5.x86_64.rpm 	0.93 MB

Lustre-patched kernel (MDS/MGS/OSS Only)
kernel-2.6.18-194.17.1.0.1.el5_lustre.1.8.5-ext4.x86_64.rpm 	18.84 MB

Lustre-patched kernel (MDS/MGS/OSS Only)
kernel-2.6.18-194.17.1.0.1.el5_lustre.1.8.5.x86_64.rpm 	18.84 MB

Lustre modules (Client and Server for Lustre patched kernel)
lustre-modules-1.8.5-2.6.18_194.17.1.0.1.el5_lustre.1.8.5-ext4.x86_64.rpm 	17.50 MB

Lustre modules (Client and Server for Lustre patched kernel)
lustre-modules-1.8.5-2.6.18_194.17.1.0.1.el5_lustre.1.8.5.x86_64.rpm 	17.50 MB

Lustre userland tools (Client and server for patched Lustre kernel)
lustre-1.8.5-2.6.18_194.17.1.0.1.el5_lustre.1.8.5.x86_64.rpm 	4.54 MB

Lustre userland tools (Client and server for patched Lustre kernel)
lustre-1.8.5-2.6.18_194.17.1.0.1.el5_lustre.1.8.5-ext4.x86_64.rpm 	4.54 MB

Lustre client modules (Client for unpatched vendor kernel)
lustre-client-modules-1.8.5-2.6.18_194.17.1.0.1.el5_lustre.1.8.5.x86_64.rpm 	14.41 MB

Lustre client userland tools (Client for unpatched vendor kernel)
lustre-client-1.8.5-2.6.18_194.17.1.0.1.el5_lustre.1.8.5.x86_64.rpm 	4.54 MB
__________________
Телеграм чат

Последний раз редактировалось Marley; 05.07.2011 в 10:17.
Ответить с цитированием
  #6  
Старый 04.07.2011, 15:11
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Копирю на сервер msd1 пакеты

[[email protected] Lustre 1.8.5 General Availability for Red Hat Enterprise Linux 5, x86_64, English]# ls
e2fsprogs-1.41.10.sun2-0redhat.rhel5.x86_64.rpm
kernel-2.6.18-194.17.1.el5_lustre.1.8.5-ext4.x86_64.rpm
kernel-2.6.18-194.17.1.el5_lustre.1.8.5.x86_64.rpm
lustre-1.8.5-2.6.18_194.17.1.el5_lustre.1.8.5-ext4.x86_64.rpm
lustre-1.8.5-2.6.18_194.17.1.el5_lustre.1.8.5.x86_64.rpm
lustre-client-1.8.5-2.6.18_194.17.1.el5_lustre.1.8.5.x86_64.rpm
lustre-client-modules-1.8.5-2.6.18_194.17.1.el5_lustre.1.8.5.x86_64.rpm
lustre-ldiskfs-3.1.4-2.6.18_194.17.1.el5_lustre.1.8.5-ext4.x86_64.rpm
lustre-ldiskfs-3.1.4-2.6.18_194.17.1.el5_lustre.1.8.5.x86_64.rpm
lustre-modules-1.8.5-2.6.18_194.17.1.el5_lustre.1.8.5-ext4.x86_64.rpm
lustre-modules-1.8.5-2.6.18_194.17.1.el5_lustre.1.8.5.x86_64.rpm

Далее, копирю их на все виртуальные машины, которые будут использоваться для построения стенда:

# scp * oss1:/tmp
# scp * oss2:/tmp
# scp * client1:/tmp
# scp * client2:/tmp
__________________
Телеграм чат

Последний раз редактировалось Marley; 05.07.2011 в 10:23.
Ответить с цитированием
  #7  
Старый 04.07.2011, 16:36
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Инсталляция Lustre

Устанавливаю пекеты на сервера mdsX и ossX следующим образом:

rpm -Uvh --replacefiles e2fsprogs-1.41.10.sun2-0redhat.rhel5.x86_64.rpm
rpm -ihv --force kernel-2.6.18-194.17.1.el5_lustre.1.8.5-ext4.x86_64.rpm
rpm -ihv lustre-*ext4*.rpm

================================================== ====

На clientX:

rpm -ihv --force kernel-2.6.18-194.17.1.el5_lustre.1.8.5-ext4.x86_64.rpm
rpm -Uvh --replacefiles e2fsprogs-1.41.10.sun2-0redhat.rhel5.x86_64.rpm
rpm -ihv lustre-client-modules-1.8.5-2.6.18_194.17.1.el5_lustre.1.8.5.x86_64.rpm
rpm -ihv lustre-client-1.8.5-2.6.18_194.17.1.el5_lustre.1.8.5.x86_64.rpm
rpm -ihv lustre-modules-1.8.5-2.6.18_194.17.1.el5_lustre.1.8.5-ext4.x86_64.rpm


====================================

После, завершения инсталляции, на всех виртуальных машинах, необходимо выбрать ядро с lustrе, с которым должны быть запущены виртуальные машины.

Для этого, отредактируйте файл:
# vi /etc/grub.conf

Здесь представлены разные варианты старта операционной системы.
Необходимо выбрать интересующий нас. (тот, в котором присутствует описание для старта с ядром с lustere).


Код:
default=0
timeout=0
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Oracle Linux Server (2.6.18-194.17.1.el5_lustre.1.8.5)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.18-194.17.1.el5_lustre.1.8.5 ro root=LABEL=/
        initrd /boot/initrd-2.6.18-194.17.1.el5_lustre.1.8.5.img
title Oracle Linux Server (2.6.32-100.26.2.el5uek)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.32-100.26.2.el5 ro root=/dev/hda1
        initrd /boot/initrd-2.6.32-100.26.2.el5.img
title Oracle Linux Server-base (2.6.18-238.el5)
        root (hd0,0)
И указать его порядковый номер (нумерация начинается с 0) в качестве значения параметра default.

После внесения изменений, необходимо перезагрузить виртуальные машины и после старта, убедиться, что виртуальные машыны стартовали с ядром luster.

// Перезагружаем систему
# reboot

// После перезагрузки, проверяем, какое ядро было загружено

[[email protected] ~]# uname -a
Linux mds1.localdomain 2.6.18-194.17.1.el5_lustre.1.8.5 #1 SMP Mon Nov 15 15:48: 43 MST 2010 x86_64 x86_64 x86_64 GNU/Linux
__________________
Телеграм чат

Последний раз редактировалось Marley; 05.07.2011 в 10:54.
Ответить с цитированием
  #8  
Старый 04.07.2011, 16:37
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Настройка mds сервера

На mds1 необходимо выделить 1 GB для метаданных.

[[email protected] ~]# ls /dev/hd*
/dev/hda /dev/hda1 /dev/hda2 /dev/hda3 /dev/hdb /dev/hdc


// Создаю раздел размером в 1 GB
[[email protected] ~]# fdisk /dev/hdb

Код:
The number of cylinders for this disk is set to 83220.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-83220, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-83220, default 83220): +1024M

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

// Форматирую созданный раздел
# mkfs.lustre --fsname lustre --mdt --mgs /dev/hdb1

Код:
[[email protected] ~]# mkfs.lustre --fsname lustre --mdt --mgs /dev/hdb1

   Permanent disk data:
Target:     lustre-MDTffff
Index:      unassigned
Lustre FS:  lustre
Mount type: ldiskfs
Flags:      0x75
              (MDT MGS needs_index first_time update )
Persistent mount opts: iopen_nopriv,user_xattr,errors=remount-ro
Parameters: mdt.group_upcall=/usr/sbin/l_getgroups

checking for existing Lustre data: not found
device size = 976MB
2 6 18
formatting backing filesystem ldiskfs on /dev/hdb1
        target name  lustre-MDTffff
        4k blocks     250102
        options        -i 4096 -I 512 -q -O dir_index,uninit_groups -F
mkfs_cmd = mke2fs -j -b 4096 -L lustre-MDTffff  -i 4096 -I 512 -q -O dir_index,uninit_groups -F /dev/hdb1 250102
Writing CONFIGS/mountdata

// Создаю каталог, куда планирую смонтировать раздел
# mkdir /mdt

// Монтирую раздел в файловой системе
# mount -t lustre /dev/hdb1 /mdt
__________________
Телеграм чат

Последний раз редактировалось Marley; 05.07.2011 в 10:57.
Ответить с цитированием
  #9  
Старый 04.07.2011, 16:42
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Настройка oss серверов

Добавлю виртуальных дисков к виртуальным машинам следующим образом.
https://odba.ru/showpost.php?p=6808&postcount=8

Пусть их будет 4 по 40 GB


[[email protected] ~]# ls /dev/sd*
/dev/sda /dev/sdb /dev/sdc /dev/sdd


// форматирую диски
[[email protected] ~]# mkfs.lustre --fsname lustre --ost [email protected] /dev/sda

Код:
   Permanent disk data:
Target:     lustre-OSTffff
Index:      unassigned
Lustre FS:  lustre
Mount type: ldiskfs
Flags:      0x72
              (OST needs_index first_time update )
Persistent mount opts: errors=remount-ro,extents,mballoc
Parameters: [email protected]

checking for existing Lustre data: not found
device size = 40960MB
2 6 18
formatting backing filesystem ldiskfs on /dev/sda
        target name  lustre-OSTffff
        4k blocks     10485760
        options        -J size=400 -i 16384 -I 256 -q -O dir_index,extents,uninit_groups -F
mkfs_cmd = mke2fs -j -b 4096 -L lustre-OSTffff  -J size=400 -i 16384 -I 256 -q -O dir_index,extents,uninit_groups -F /dev/sda 10485760

Writing CONFIGS/mountdata

[[email protected] ~]# mkfs.lustre --fsname lustre --ost [email protected] /dev/sdb
[[email protected] ~]# mkfs.lustre --fsname lustre --ost [email protected] /dev/sdc
[[email protected] ~]# mkfs.lustre --fsname lustre --ost [email protected] /dev/sdd


// создаю каталоги, куда будут смонтированы диски
[[email protected] ~]# mkdir /mnt/ost1
[[email protected] ~]# mkdir /mnt/ost2
[[email protected] ~]# mkdir /mnt/ost3
[[email protected] ~]# mkdir /mnt/ost4

// монтирую диски
[[email protected] ~]# mount -t lustre /dev/sda /mnt/ost1
[[email protected] ~]# mount -t lustre /dev/sdb /mnt/ost2
[[email protected] ~]# mount -t lustre /dev/sdc /mnt/ost3
[[email protected] ~]# mount -t lustre /dev/sdd /mnt/ost4

// проверяю
[[email protected] ~]# cat /proc/fs/lustre/devices

Код:
  0 UP mgc [email protected] 5c167406-c0cd-1258-750e-8b6b4bf1d7b6 5
  1 UP ost OSS OSS_uuid 3
  2 UP obdfilter lustre-OST0000 lustre-OST0000_UUID 5
  3 UP obdfilter lustre-OST0001 lustre-OST0001_UUID 5
  4 UP obdfilter lustre-OST0002 lustre-OST0002_UUID 5
  5 UP obdfilter lustre-OST0003 lustre-OST0003_UUID 5

Повторяю действия на oss2. Результат:


[[email protected] ~]# cat /proc/fs/lustre/devices

Код:
  0 UP mgc [email protected] 37ee5d1e-b88c-d852-dc05-ce52d3f919f0 5
  1 UP ost OSS OSS_uuid 3
  2 UP obdfilter lustre-OST0004 lustre-OST0004_UUID 5
  3 UP obdfilter lustre-OST0005 lustre-OST0005_UUID 5
  4 UP obdfilter lustre-OST0006 lustre-OST0006_UUID 5
  5 UP obdfilter lustre-OST0007 lustre-OST0007_UUID 5
__________________
Телеграм чат

Последний раз редактировалось Marley; 05.07.2011 в 11:00.
Ответить с цитированием
  #10  
Старый 04.07.2011, 16:50
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Настройка клиентов

На клиентах выполняю команды:

# mkdir /mnt/lustre
# mount -t lustre [email protected]:/lustre /mnt/lustre

[[email protected] tmp]# cd /tmp
[[email protected] tmp]# cp * /mnt/lustre/
__________________
Телеграм чат

Последний раз редактировалось Marley; 05.07.2011 в 11:04.
Ответить с цитированием
Ответ

Метки
cluster, linux, lustre, oracle

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 21:56. Часовой пояс GMT +3.


Powered by vBulletin®