Краткая производственная автобиография

advertisement
Краткая производственная автобиография
Попова Екатерина Валентиновна поступила на работу в ГНЦ ИФВЭ в феврале
2007 года в отдел математики и вычислительной техники после окончания c отличием
факультета программного обеспечения вычислительной техники и автоматизированных
систем
управления
по
специальности
«инженер-программист»
Международного
университета «Дубна» (филиал «Протвино»).
Попова Е.В. является администратором web-сервера института (www.ihep.su),
ведет работы по настройке названного сервера, поддерживает систему печати, систему
резервного копирования данных и систему информационного обеспечения пользователей
сервера. Помимо того, в обязанности Поповой Е.В. входит поддержка функционирования
web-сервера: анализ критических ситуаций, и решение технических проблем.
Попова
Е.В.
добросовестно
выполняет
возложенные
на
неё
задачи
администрирования сервера Oracle, на котором хранится база данных пользователей
ИФВЭ, и организована система поиска публикаций в НТБ ИФВЭ, обеспечения
организации доступа пользователей к данным распределенной файловой системы AFS
через web.
Поповой Е.В. были выполнены следующие важные задачи: установлен почтовый
сервер с повышенной отказоустойчивостью; создан вычислительный кластер из пяти
виртуальных машин под управлением Xen-гипервизора; модернизирована система учета
трудозатрат в отделе экспериментального производства; мигрированы afs-пользователи
со старого сервера на новый; внедрена система мониторинга Nagios для отслеживания
работы серверов ИФВЭ.
Имеет две печатные работы.
За
время
работы
Попова
Е.В.
зарекомендовала
себя
грамотным,
квалифицированным и ответственным специалистом, умеющим работать в команде,
принимать самостоятельные решения.
Использование технологии паравиртуализации Xen в ГНЦ
ИФВЭ
Xen
- это монитор виртуальных машин (VMM, Virtual Machine Monitor) или
гипервизор (hypervisor) с поддержкой паравиртуализации (para-virtualization) для
процессоров x86 архитектуры, распространяющийся с открытым исходным кодом
(opensource). Он позволяет нескольким гостевым операционным системам с разными
архитектурами выполняться на одной физической машине параллельно. Xen помогает
использовать компьютерные ресурсы более эффективно.
Варианты использования
 Консолидация серверов.
 Независимость от аппаратного обеспечения.
 Запуск множества различных ОС.
 Разработка ядра ОС.
 Кластерные системы.
 Аппаратная поддержка для новых ОС.
В Xen может работать множество гостевых операционных систем, каждая из
которых выполнятся в безопасной виртуальной машине. В терминологии Xen такая
машина называется домен. Исполнение кода доменов планируется Xen так, чтобы сделать
использование доступных процессоров наиболее эффективным. Каждая гостевая ОС
занимается
управлением
собственных
приложений.
Это
управление
включает
ответственность за планирование выполнения каждого приложения в течение временного
интервала, выделенного Xen виртуальной машине.
Первый домен, домен 0, создаётся автоматически при загрузке системы. Этот
домен обладает особыми управляющими привилегиями. Домен 0 запускает остальные
домены и предоставляет им виртуальные устройства. Еще он занимается выполнением
административных задач, таких как остановка (suspending), возобновление (resuming)
работы виртуальных машин и их миграция.
В ИФВЭ первым проектом под xen-ом стала организация не-продакшн кластера с tинфраструктурой с целью обучения в рамках РДИГа. CE, SE (dCache), WMS/LB, BDIItop, WNs и UI грид сервисы были установлены на одном физическом сервере.
На xen0001.ihep.su были установлены 5 гостевых машин плюс главный домен
(домен 0). Первая гостевая машина была установлена по сети, остальные 4 клонированы с
использованием стандартных средств.
В результате было получено:
Name
ID Mem(MiB) VCPUs State Time(s)
Domain-0
0
129
2 r----- 102173.7
ce.ngc6475
52
640
2 -b---- 219665.7
se.ngc6475
47
512
2 -b---- 265444.8
ui.ngc6475
50
256
1 -b---- 9835.4
wn01.ngc6475
34
128
1 -b---- 19582.8
wn02.ngc6475
31
128
1 -b---- 19743.5
Описанная система успешно функционирует в ИФВЭ.
xen0002.ihep.su стал вторым xen сервером, на котором был опробован перенос
работающих на «старом железе» машин под виртуальное управление. На данный момент
на нем работают 2 сервера, один из которых mon0002.m45.ihep.su является сервером
мониторинга GRID сайта ИФВЭ.
На xen0003.ihep.su, первом 64-битном сервере, были развернуты 32-х битные
сервера (5), одним из которых стал CMS VOBOX vobox0002.m45.
Следующим основным этапом стала реализация кластера из 2-х xen-машин,
работающих параллельно – xenihep1.ihep.su и xenihep2.ihep.su., которые должны были
обеспечить бесперебойную отказоустойчивую работу важных серверов.
Для
обеспечения
такого
режима
работы
было
использовано
следующее
дополнительное ПО:
 HA
(High
Availability)
Heartbeat
–
программное
обеспечение,
осуществляющее контроль за работой виртуальных машин и сетевых
дисковых ресурсов в рамках кластерной системы из 2-х компьютеров
 DRBD (Distributed Replicated Block Device) – система, позволяющая
создавать RAID-массивы уровня 1 (зеркальные диски), используя сетевые
соединения
В случае отказа одного из серверов, HA (High Availability) Heartbeat система
осуществит миграцию виртуальных машин на другой сервер в кластере. Если же
необходимо перевести виртуальные машины на другой сервер в штатном режиме, то
можно воспользоваться «живой миграцией», когда виртуальная машина не перегружается,
а «зависает» на некоторое время, в течение которого по сети происходит копирование
состояния оперативной памяти, после чего виртуальный сервер начинает работать на
другом сервере (состояние жестких дисков виртуального сервера за счет использования
DRBD синхронизовано в кластере).
xenihep1.ihep.su
xenihep2.ihep.su
Dom0
Dom0
dns127
dns126
dns126
dns127
web
web
dns53
dns53
taurus
taurus
proxy1
netihep2
proxy2
Рис.1 Распределение виртуальных машин в кластере
Рис.2 HA (High Availability) Heartbeat
На xen0004.ihep.su была установлена новая версия xen-4, и работают 6 виртуальных
серверов, на 4-х из которых установлена операционная система Debian 5 (Lenny), на
pps14.ihep.su - SL5.3(Boron), на pps16.ihep.su – Microsoft Windows XP (применялась уже не
паравиртуализация, а “железная” виртуализация, т.е. для виртуализации использовался
процессор с технологией Intel VT). Такая разнородность в выборе операционных систем
объясняется одним из направлений применений технологии xen – виртуальный сервер
используется как “песочница” для апробации нового программного обеспечения. Говоря
обычным языком – прежде чем что-то обновить на работающем сервере, лучше сначала
промоделировать ситуацию на виртуальном.
На данный момент в ОМВТ ИФВЭ действуют 6 серверов с использованием xen.
Рис. 3 Список xen-серверов в ОМВТ ИФВЭ
Обоснование важности выдвигаемой работы, возможности и
перспективы продолжения этих работ в рамках научнотехнической программы ИФВЭ
Виртуализация серверного оборудования – №1 в списке самых перспективных
технологий. Она призвана решать сразу две задачи: понизить стоимость владения
серверным парком и одновременно с этим обеспечить высокую доступность и быстрое
восстановление после сбоев.
Мы используем свободно распространяемый виртуализатор Xen, который
обеспечивает максимальную производительность.
В дальнейшем мы планируем использовать xen-технологию для создания и
тестирования "облачного" решения в рамках ОМВТ ИФВЭ.
Облачная обработка данных (англ. Cloud computing) — это технология обработки
данных, в которой программное обеспечение предоставляется пользователю как интернетсервис. Пользователь имеет доступ к собственным данным, но не может управлять
операционной системой и собственно ПО, с которым работает (заботиться об
инфраструктуре ему также не нужно). Непосредственно "облаком" называют интернет,
который как раз и скрывает многие технические детали.
Подход к облачным системам различается степенью контроля над низким уровнем,
который предоставляется клиенту.
Первым
уровнем
для
настоящего
Cloud-а
будет
предоставление
виртуализированной среды на базе некоторых стандартных «юнитов», которые по
ресурсам могут равняться на определенные реальные железные сервера (сугубо для
легкости сравнения и учета). Фактически, выдается виртуальная машина, которая
работает на системах провайдера, а внутри нее есть все возможности для установки
сначала любой ОС (из поддерживаемых, конечно), а потом уже настройки необходимого
ПО. Ограничения такой машины, как уже сказано, выражаются в некоторых
приближениях к реальному железу, но, могут гибко и почти мгновенно быть изменены в
большую или меньшую сторону.
Электронная версия препринта
(NUCLEAR ELECTRONICS & COMPUTING NEC’2009 – Proceedings of the
XXII International Symposium)
Xen hypervisor for building of non-production Grid sites
Berezhnaya A.Ya., Popova E.V.
Institute of High Energy Physics (Protvino, Russia)
Xen is a virtual machine monitor (VMM) or hypervisor. It allows several guest operating
systems with different architectures to be executed on the same computer hardware concurrently.
Xen helps to use computer resources more efficiently. It is a free software licensed under GPL2.
Non-production cluster with t-infrastructure has been realized under Xen at IHEP to
serve training purposes at the Russian Data Intensive Grid consortium (RDIG). CE, SE
(dCache), WMS/LB, BDII-top, WNs and UI grid services have been installed at the same server.
The experience of cluster construction and usage is discussed.
Introduction
System installation and adjustment with Xen hypervisor is a solution for many industrial
problems such as optimum congestion of computation park, testing new software taking into
account various computing platforms and architectures. In the frame of one server we can
receive some virtual servers, comparable on productivity with the real one.
Description of non-production training cluster structure
Picture 1 - Cluster structure
In EGEE Project training grid infrastructure (t-infrastructure) intends for spreading
knowledge about Grid Technology. It gives an opportunity for users and system administrators
to gain experience in working with Grid.
For t-infrastructure in IHEP CE, SE (dcache), WMS/LB, WNs, UI, Site BDII were
constructed (Picture 1).
User Interface (UI) is a server providing access to Grid resources. Users can start jobs
and get results by way of UI. They are able to obtain information about job status, find necessary
resources for execution of the specific task.
Computing element (СЕ) (Computing Element) is a grid resource node for jobs
management (start, submit, execute etc.) It also gives information about resource states.
Working Nodes WNs are cluster computing nodes in GRID infrastructure.
Storage Element SE (Storage Element) provides uniform access to storage resources. It
could be simply a disk servers, large disk arrays or Mass Storage System such as dCache or
Castor.
Workload Manager System WMS examines Requirements and Rank expressions (and
also any data requirements) in the JDL. All CE are filtered against the Requirements, and the
Rank is calculated for all the CEs which match and on the basis of Rank determines which CE to
submit the job to. For that purpose, the WMS must retrieve information from the IS and the File
Catalog
Logging and Bookkeeping LB is a Grid service that keeps a short-term trace of Grid
jobs as they are processed by individual Grid components.
Site BDII (Information Index) is a database server for site resource information.
Main system
Some virtual machines can be installed on Xen server. In our case: 5 DomUs and Dom0.
Suggested arrangement is shown on picture 2.
Picture 2 – System schema
For task realization we got server with such characteristics: dual-core processor Intel(R)
Xeon(TM) CPU 2.80GHz, ROM 4 Gb, 6 iSCSI disks on 73,5 Gb each. Two disks for software
RAID1 (mirror) were used under main domain (Dom0). Other disks became base for software
RAID5.
Dom0 installation and maintenance
For main domain (Dom0) we decided to choose Debian 4.0r3 etch i386 as an operating
system. Dom0 was setup on two disks joined by RAID1. We had to use two additional disks
because of system couldn’t be loaded from RAID5. Two partitions (/ and /boot) were mounted to
raid devices /dev/md0 and /dev/md1 accordingly as Grub loader prevented booting from LVM
partitions. /dev/md2 became physical volume (PV) for logical volume (LV) XEN0001. With the
framework of XEN0001 VG logical volumes were created (for example
xen0001-
xen0001_home).
For xen we installed two main packages: hypervisor itself (xen-hypervisor-3.0.3-1) and
kernel modified for working under xen environment (2.6.18-6-xen-686). During installation all
necessary modifications were made in /boot/grub/menu.lst automatically.
We faced with problem in pygrub. Pygrub is a Python tool which can look inside a disk
image or a filesystem to find a GRUB menu.lst. Then it emulates the GRUB menu and returns
the kernel, initrd, boot arguments etc. that GRUB would normally have selected. It’s a way to
keep all the kernel stuff inside the guest filesystem so it can be managed as usual by the admin of
the guest. Pygrub comes as part of Xen, and on Etch it can be found at /usr/lib/xen-3.0.31/bin/pygrub. In xen on Debian Etch in pygrub there were no some files in
/usr/lib/xen-3.0.3-1/lib/python/grub/fsys/ext2/. That’s why we downloaded xen sources and
copied files from build/lib.linux-i686-2.4/grub/fsys/ext2/*.
Setup of DomU’s sample
Primarily we decided to create prototype for DomUs. This sample became base for other
DomUs. It was created logical volume SL4.7_001 by 12 Gb in logical group xen0001_guests.
lvcreate -L12G -n SL4.7_001 xen0001_guests
For DomU SL4.7_001 we edited configuration file /etc/xen/SL4.7_001:
name = "SL4.7_001"
memory = 256
selinux = 0
disk = [ 'phy:xen0001_guests/SL4.7_001,xvda,w' ]
vif = [ 'ip=10.165.1.10' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash
It
= 'restart'
was
downloaded
installation
kernel
and
ramdisk
from
http://linuxsoft.cern.ch/cern/slc4X/i386/images/SL/xen/.
The last command was:
/usr/sbin/xm create SL4.7_001 -c \
kernel=vmlinuz \
ramdisk=initrd.img \
extra="method=http://linuxsoft.cern.ch/cern/slc4X/i386/"
After installation we corrected configuration file adding string for pygrub as a loader.
DomUs creation under sample
For sample designing it was necessary to use kpartx for block device creation of every
image parition. Before using kpartx we had to stop DomU.
xm shutdown SL4.7_001
We made some block devices:
kpartx -v -a /dev/xen0001_guests/SL4.7_001
ls –lah /dev/mapper/xen0001_guests-SL4.7_001p1
ls –lah /dev/mapper/xen0001_guests-SL4.7_001p2.
Later we temporally mounted file systems for full dump
mount /dev/mapper/xen0001_guests-SL4.7_001p1 /mnt/SL4.7_001/boot/
mount /dev/mapper/xen0001_guests-SL4.7_001p2 /mnt/SL4.7_001/root/
and dumps created themselves.
/sbin/dump
0
-L
FULL_boot
-f
/BACKUP-XEN/SL4.7_001_boot.colddump
-L
FULL_root
-f
/BACKUP-XEN/SL4.7_001_root.colddump
/mnt/SL4.7_001/boot/
/sbin/dump
0
/mnt/SL4.7_001/root/
File systems unmounted.
umount /mnt/SL4.7_001/boot/
umount /mnt/SL4.7_001/root/.
Bloch devices removed.
kpartx -d /dev/mapper/xen0001_guests-SL4.7_001p1
kpartx -d /dev/mapper/xen0001_guests-SL4.7_001p2.
These dumps let setup similar DomUs saving time noticeably.
Stages:
1)
Logical volume allocation for DomU, file system forming.
lvcreate -L10G -n pps11.root xen0001_guests
lvcreate -L500M -n pps11.boot xen0001_guests
lvcreate -L500M -n pps11.swap xen0001_guests
mkfs -t ext3 /dev/xen0001_guests/pps11.root
mkfs -t ext3 /dev/xen0001_guests/pps11.boot
mkswap /dev/xen0001_guests/pps11.swap
2)
Dump unwrapping
mount -t ext3 /dev/xen0001_guests/pps11.root /mnt/tmp/
cd /mnt/tmp/
restore -rf /root/BACKUP-XEN/SL4.7_001_root.colddump
cd ~
umount /mnt/tmp/
mount -t ext3 /dev/xen0001_guests/pps11.boot /mnt/tmp/
cd /mnt/tmp/
restore -rf /root/BACKUP-XEN/SL4.7_001_boot.colddump
cd ~
3)
Xen conf file preparation
cp /etc/xen/SL4.7_001 /etc/xen/pps11
vim /etc/xen/pps11
4)
DomU tuning before starting
mount -t ext3 /dev/xen0001_guests/pps11.root /mnt/tmp/
vim /mnt/tmp/etc/fstab
vim /mnt/tmp/etc/sysconfig/network
vim /mnt/tmp/etc/sysconfig/network-scripts/ifcfg-eth0
vim /mnt/tmp/etc/hosts
umount /mnt/tmp/
5)
DomU creation
xm create pps11 –c
We built DomUs for IHEP non-production training cluster in that way.
Name
ID Mem(MiB) VCPUs State Time(s)
Domain-0
0
129
2 r----- 102173.7
ce.ngc6475
52
640
2 -b---- 219665.7
se.ngc6475
47
512
2 -b---- 265444.8
ui.ngc6475
50
256
1 -b---- 9835.4
wn01.ngc6475
34
128
1 -b---- 19582.8
wn02.ngc6475
31
128
1 -b---- 19743.5
Conclusions
At present Xen hypervisor is widely spread on many enterprises. It may be setup on
different hardware and architectures. Xen allows to ensure high productivity for
virtual
machines. Under Xen it’s possible to create a “sandbox” in which testing of software may be
executed.
Described system adjusts successfully at IHEP for realization of non-production cluster
with t-infrastructure.
Literature
1.
William von Hagen Professional Xen®Virtualization Published by Wiley
Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256
2.
TEST Xen guest domain installation for SLC 4.X / i386 or SLC 4.X /
x86_64
https://twiki.cern.ch/twiki/bin/view/LinuxSupport/InstallingXenParaVirtualizedSLC4
3.
Re: Subject: Re: [Fedora-xen] How to backup a Domu filesystem (on
LVM) from Dom0 on Fedora 8 ? http://www.redhat.com/archives/fedora-xen/2008June/msg00011.html
4.
http://linuxforum.ru/index.php?showtopic=89090&pid=830273&mode=th
readed&start=#entry830273
5.
Xen and the Art of Virtualization By Paul Barham, Boris Dragovic, Stevan
Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield.Presented
by Diana Carroll
6.
http://strugglers.net/~andy/blog/2008/01/20/red-hat-based-linux-under-
xen-from-debian-etch/
7.
EGEE – Logging and bookkeeping http://egee.cesnet.cz/cs/JRA1/LB/
8.
GRID Glossary http://www-
numi.fnal.gov/offline_software/srt_public_context/GridTools/docs/glossary.html#wms
Download