Palvelinten hallinta – Wake-on-Lan – PXE-Netboot

Tehtävänanto

h9. Asenna Linux verkon yli. Tyhjään koneeseen, käsin koskematta.
Tehtävän saa tehdä parityönä. Muista merkitä tekijät ja kaikki lähteet linkkeineen myös GitHubiin.
Laita liitteeksi nämä tiedot sekä asennetulta koneelta että palvelimelta:


sudo tail --lines=100 /home/*/.bash_history /var/log/auth.log /var/log/apache2/*.log /var/log/syslog /etc/lsb-release>log-picks-$(date +'%Y-%m-%d_%H%M').txt

Bonus: konfiguroi kone orjaksi puppetmasterille ja säädä sitä Puppetilla.

Harjoituksessa käytetty laitteisto/ohjelmisto:

  • 16GB Kingston DataTraveler 100 G3 USB 3.0 muistitikku
  • Tietokone (Asus Z170-A, i7-6700K , 16GB DDR4 3200MHz, Evga 1070 sc)
  • Oheishärpäkkeet
  • Xubuntu 16.04.1 LTS

Alustavat valmistelut:

Seuraavat toimet suoritan aina, kun alan tekemään linux-harjoitusten eri osioita.
Boottasin Xubuntu-livetikulle valitsemalla USB-muistitikun käynnistyksen yhteydessä bootattavaksi levyksi.  Kun kysyttiin haluanko testata Xubuntua vaiko asentaa sen, valitsin vaihtoehdon “Try Xubuntu without installing“. Lyhyen latauksen päästä pääsin työpöydälle.
Yhdistin heti kotini langattomaan verkkoon työpöydän oikeasta yläkulmasta sekä muutin näppäimmistön layoutin suomiversioksi komennolla terminaalin komennolla “$ setxkbmap fi”.
Seuraavaksi syötin komennon “$ sudo apt-get update“. Kyseinen komento päivittää pakettivarastot, ja se kannattaa suorittaa aina ennen kuin hyödyntää paketinhallintaa mihinkään.

Tarvittavat asennukset

Aloitin harjoituksen asentamalla seuraavat ohjelmat: wakeonlan, tftp-hpa, tftpd-hpa ja isc-dhcp-server.
$ sudo apt-get -y install wakeonlan tftp-hpa tftpd-hpa isc-dhcp-server
Selvitin kohdekoneen fyysisen osoitteen Windossissa komentokehotteessa ipconfig /all – komennolla, jonka jälkeen lähetin taikapaketin kohdekoneelle wakeonlanilla.
Kohdekone ipconfig.jpg
$ wakeonlan 78:AC:BA:74:E6
Kohdekone käynnistyi.

DHCP

Käytin harjoituksessa apuna Joona Leppälahden harjoitus 8:n raporttia:
URL: https://joonaleppalahti.wordpress.com/2016/11/18/palvelinten-hallinta-harjoitus-8/.
Lisäsin sudoeditillä /etc/default/isc-dhcp-server tiedostoon tiedon isännän verkkokortista, jonka hain ifconfig komennolla.

INTERFACES="eno01"

$ sudoedit /etc/default/isc-dhcp-server
screenshot_2016-11-24_11-31-41
Yllä mainittujen asioiden jälkeen, navigoin hakemistoon /etc/dhcp/
Sieltä piti muokata dhcpd.conf – tiedostoa. Poistin tiedoston sisällön ja muokkasin sitä seuraavasti Teron ohjeiden mukaisesti:

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoratative;
log-facility local7;
next-server X;
filename "pxelinux.0";
subnet 172.28.0.0 netmask 255.255.0.0 {
  host markus{
    hardware ethernet 78:AC:BA:74:E6;
    fixed-address 172.28.171.114;
    option subnet-mask 255.255.0.0;
    option routers 172.28.1.254
    option domain-name-server 8.8.8.8, 172.28.1.67, 172.28.1.69;
    option domain-name"tielab.haaga-helia.fi",
  }
}

Käynnistin dhcp:n uudelleen:
$ sudo service isc-dhcp-server restart

Netboot

Seuraavaksi latasin Ubuntusta netboot version: http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz
Se tuli sitten purkaa ja kopioida sijaintiin /var/lib/tftpboot/
$ tar -xvf netboot.tar.gz
$ sudo cp -r * /var/lib/tftpboot/
Sitten teron mallipohjan mukaisesti sudoeditillä /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/syslinux.cfg tiedostoon seuraavat muokkaukset:

# pxelinux.cfg/default
# Copyright 2015-2016 Tero Karvinen http://TeroKarvinen.com
label markus # 16.04 LTS
        kernel ubuntu-installer/amd64/linux
        append initrd=ubuntu-installer/amd64/initrd.gz auto=true auto url=tftp://XXXXXXXXX/preseed.cfg locale=en_US.UTF-8 classes=minion DEBCONF_DEBUG=5 priority=critical preseed/url/=ubuntu-installer/amd64/preseed.cfg netcfg/choose_interface=auto 1
prompt1
timeout5
default markus

Screenshot_2016-11-24_11-56-52.png
Edit: ^ Tuossahan se virhe tehtiin.
Tallensin, ja sitten tein sudoeditillä preseed.cfg nimisen tiedoston /var/lib/tftpboot/ubuntu-installer/amd64/ hakemistoon.
$ sudoedit /var/lib/tftboot/ubuntu-installer/amd64/preseed.cfg
Joonan Leppälahden mallia hyödyntäen sain tällaisen aikaan:

d-i passwd/user-fullname string Markus Pyhäranta
d-i passwd/username string markus
d-i passwd/user-password password ICT-PalveluAlustammekohanZ170!
d-i passwd/user-password-again password ICT-PalveluAlustammekohanZ170!
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-auto/choose_recipe select atomic
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i pkgsel/include string puppet ssh
d-i pkgsel/update-policy select none
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/reboot_in_progress note

Tallensin tiedoston ja ajoin uudelleen komennon:
$ wakeonlan 78:AC:BA:74:E6
Kone käynnistyi, mutta asennusprosessi ei alkanut.
Jos käyttöjärjestelmä olisi asentunut toivotulla tavalla, olisin seuraavaksi ottanut ssh yhteyden kohdekoneeseen ja asentanut graafisen käyttöliittymän komennolla:
$ sudo apt-get install xubuntu-desktop
Pitää katsoa, jos pääsen jossain kohtaa kokeilemaan uudelleen labraluokassa. Nyt aikani on rajoitettua, enkä samalla istunnolla ehdi alkamaan selvittämään ongelmaa.

Yhteenveto

Tässä harjoituksessa oli tarkoituksena asentaa Linux käyttöjärjestelmä etänä verkon yli toiseen tietokoneeseen. Asensin tarvittavat ohjelmat sekä muokkasin niiden conf-tiedostoja verkkoboottia varten. Loppuen lopuksi kohdekoneen etäkäynnistys onnistui, mutta käyttöjärjestelmän asennusta ei aloitettu.

Lähteet:

Harjoituksen ohjeet
URL: http://terokarvinen.com/2016/aikataulu-palvelinten-hallinta-ict4tn022-1-5-op-uusi-ops-loppusyksy-2016
Joona Leppälahden harjoitus 8
URL: https://joonaleppalahti.wordpress.com/2016/11/18/palvelinten-hallinta-harjoitus-8/

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html” Markus Pyhäranta

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top