WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаТехнічні науки → Створення віртуальної мережі з віддаленим завантаженням вузлів - Курсова робота

Створення віртуальної мережі з віддаленим завантаженням вузлів - Курсова робота

Підготовка ядра для віддаленого завантаження

Щоб ядро можна було завантажувати через мережу за допомогою Etherboot або Netboot, воно має бути спеціальним чином підготовлено. Для цього служить програма mknbi, що входить в пакет mknbi (при створенні цього документа використовувалася версія 1.4.4). Помістити її на сервер можна, підключившись з OC Windows до сервера по ftp.

Для її установки необхідно розпакувати файл з вихідними текстами в каталог / usr/src/mknbi-1.4.4 і виконати команди

make

mkdir / usr / local / lib / mknbi

cp first32elf * / usr / local / lib / mknbi

Програма має декілька параметрів, з яких ми розглянемо чотири:

  • Format = format Вказує формат вихідного файлу.

  • Target = target Вказує тип цільового двійкового коду.

  • Rootdir = rootdir Зазначає ім'я каталогу, з якого буде подмонтірована коренева файлова система

  • Ip = string Дозволяє задати IP адреси клієнта, сервера, шлюзу і маску підмережі. Також можливо вказати dhcp або bootp для автоматичної настройки за допомогою цих протоколів.

Створимо каталог, в якому буде розташовуватися ядро для віддаленого завантаження: mkdir / exports

Подальші дії залежать від того, яким чином ми будемо підключати корову файлову систему. Для підключення через NFS необхідно виконати команду (передбачається, що коренева файлова система буде розташовуватися в каталозі / exports/node01) . / Mknbi - format = elf - target = linux - rootdir = / exports/node01 - ip = dhcp / usr/src/kernel-source-2.4.18/arch/i386/boot/bzImage> / exports / net_boot_kernel

Для варіанта з RAM диском команда виглядає трохи інакше: . / Mknbi - format = elf - target = linux - rootdir = / dev/ram0 - ip = dhcp / usr/src/kernel-source-2.4.18/arch/i386/boot/bzImage / initrd / initrd . gz> / exports / net_boot_kernel

Про те, як створити файл / initrd / initrd.gz, який містить образ кореневої файлової системи, розповідається в п.4.8.

Після закінчення цього етапу клієнтський комп'ютер вже може завантажувати ядро. За інформацією з mknbi звертайтеся до [6].

4.7 Налаштування NFS

Налаштування що надаються сервером NFS в мережеве використання ресурсів здійснюється за допомогою файлу / etc / exports.

У нашому прикладі використовуємо такий файл

/usr node01.private.net(rw,no_root_squash)

/exports node01.private.net(rw,no_root_squash)

/ 192.168.223.4(rw,no_root_squash)

Останній рядок потрібна для доступу робочого віртуального комп'ютера (на якому ми будемо формувати файлову систему клієнта) до сервера і після створення файлової системи клієнта її необхідно видалити.

Додаткова інформація з налаштування NFS доступна в [7].

4.8 Налаштування файлової системи для клієнта

Для завершення настроювання мережевої завантаження необхідно підготувати файлову систему клієнта. Для цього на самому початку нами було створено третій віртуальний комп'ютер. Встановимо на нього ОС Debian згідно з тими ж, рекомендаціями, що були дані в п.4.1.

Є один нюанс: оскільки ми роздаємо IP адреси статично, перш, ніж новий комп'ютер зможе отримати конфігурацію від DHCP сервера, необхідно підправити файл / etc / dhcpd.conf. Коли установник Debian задасть питання про конфігурацію по DHCP, переключимося на другий термінал (натиснувши Alt + F2), виконаємо команду ifconfig-a і запишемо MAC-адреса адаптера. Після цього переключимося у віртуальний комп'ютер сервера, і відредагуємо файл / etc / dhcpd.conf, додавши в розділ group рядки:

host work {

hardware ethernet 00:0C:29:03:AB:CA;

fixed-address 192.168.223.4;

}

У другому рядку необхідно вказати записаний MAC адресу. Щоб зміни вступили в силу, необхідно перезапустити DHCP сервер командою / Etc / init.d / dhcp restart

Можна продовжувати установку. Команда для встановлення пакунків з програмним забезпеченням тепер буде виглядати наступним чином: apt-get install mc portmap

Для варіанту з підключенням кореневої файлової системи по NFS будемо користуватися каталогом / tmp. Для варіанта з RAM-диском необхідно заздалегідь створити образ RAM-диска. Зробити це можна різними способами. Наведемо один з них:

dd if = / dev / zero of = / initrd / initrd bs = 1k count = 30720

mke2fs-m0-F / initrd / initrd

mount-t ext2-o loop / initrd / initrd / mnt

Тут ми створюємо порожній файл об'ємом 30 Мб, потім формуємо у ньому файлову систему ext2 і монтуємо його як loop пристрій у каталог / mnt, в якому і будемо створювати файлову систему.

Процес створення файлової системи однаковий для обох варіантів і полягає в наступному:

  1. Скопіюйте каталоги / bin, / dev, / etc, / lib, / sbin цілком;

  2. Створити каталоги home, root, proc, tmp;

  3. Створити каталоги usr, usr / bin; скопіювати каталог / usr / sbin, скопіювати файл expr в каталог usr / bin;

  4. Створити каталоги var, var / lock, var / log, var / log / news, var / run, var / tmp, var / lib; скопіювати каталог var / lib / dhcp.

Підправимо файл / mnt / etc / fstab. У самому простому вигляді він може виглядати так:

/dev/ram0 / ext2 errors=remount-ro 0 1

proc /proc proc defaults 0 0

server.private.net:/usr /usr nfs

Для підключення кореневої файлової системи по NFS перший рядок необхідно замінити на

server.private.net:/exports/node01 / nfs

Тепер необхідно створити файл / etc / dhclient-enter-hooks, внести до нього наступні два рядки, щоб кожен клієнт встановив своє ім'я, отримане від DHCP сервера

echo "$new_host_name" > /etc/hostname

hostname -F /etc/hostname

і зробити цей файл виконуваним: chmod a + x / etc / dhclient-enter-hooks

Якщо ви скомпілював ядро більш нової версії, то необхідно в каталог / lib / modules скопіювати каталог з перекомпілювати модулями, а старий каталог видалити.

Якщо змонтований файл з RAM диском, його необхідно відключити командою umount / mnt, а потім виконати команду mount-t nfs server.private.net: / / mnt

для підключення файлової системи сервера в каталог / mnt. Далі, для першого варіанта необхідно скопіювати вміст / tmp в каталог / mnt/exports/node01, а для другого - виконати команди

gzip -9 / initrd / initrd

cp / initrd / initrd.gz / mnt / initrd

після чого файлову систему сервера необхідно демонтувати, виконавши umount / mnt

Тепер необхідно приєднати отриманий образ до ядра, як описано в кінці п.4.6.

Висновок

Отже, ми докладно розглянули організацію процесу мережевий завантаження. У прикладі ми створили тільки одного клієнта, з назвою node01. Для підключення наступних, на сервері в файли dhcpd.conf, server.rev, server.hosts, exportfs потрібно додати відповідні записи. При необхідності можна створити і нову файлову систему, помістивши її в каталог / exports / nodeXX, або створивши нове ядро для віддаленого завантаження. Всі вищеописані дії без будь-яких змін можуть бути застосовані для створення реальної мережі з реальних машин.

Література

  1. Введення в завантаження по мережі і Etherboot

  2. Installing Debian GNU / Linux 3.0 For Intel x86

  3. DHCP mini-HOWTO

  4. DNS HOWTO

  5. Ставимо ядро 2.6, або Ядерна фізика для домогосподарки

  6. Документація по mknbi

  7. NFS HOWTO

  8. Завантаження машин по мережі

  9. Віддалене завантаження і Linux: Налаштування віддалено завантажуються робочих станцій з Linux, DOS, Windows 95/98 і Windows NT

Loading...

 
 

Цікаве