Erinevus lehekülje "Debiani pxe automaatpaigaldus" redaktsioonide vahel

Allikas: Kuutõrvaja
 
(ei näidata sama kasutaja 37 vahepealset redaktsiooni)
1. rida: 1. rida:
Tundub, et üheks lihtsaks lahenduseks on '''preseed'''
+
Meil on väga palju servereid, mida installida. Vaja oleks automaatselt debian paigaldada ja mõned utiliidid koos temaga. Tundub, et üheks lihtsaks lahenduseks on '''preseed'''
  
Äraseletatult tuleb kõigepealt seadistada TFTP ja dhcp
+
Süsteem töötab selliselt, et esmapt boodib server end üles pxe pealt, käivitab kerneli ja tõmbab veebiserverist konfiguratsiooni, mille alusel
 +
hakkab läbi http proxy mirroritest pakette tõmbama ja neid kettale installima. Järgmine reboot boodib server võrgu asemel juba kõvakettalt valmis süsteemi.
 +
 
 +
[[Pilt:Preseed.png]]
 +
 
 +
Äraseletatult tuleb kõigepealt seadistada [[Tftp]] ja [[Isc-dhcpd_server]] (eeldame, et need on juba paigaldatud, konfitud ja vajavad vaid täiendamist).
 +
 
 +
Dhcp konfi lisame vaid ühe enda installimist ootava masina mac aadressi.
  
 
   host debian-netboot-test {
 
   host debian-netboot-test {
8. rida: 15. rida:
 
   }
 
   }
  
Tekitada konfifail '''/srv/tftproot/pxelinux.cfg/MAC-AADRESS'''
+
Tõmmata http://www.debian.org/distrib/netinst#netboot). aadressilt '''netboot.tar.gz''' ja pakkida selle sisu lahti tftp deemoni töökausta milleks meil  '''/srv/tftpboot.'''
 +
 
 +
Tekitada spetsiaalne masina mac nimega konfifail '''/srv/tftproot/pxelinux.cfg/MAC-AADRESS''' Võib tekitada muidugi ka eraldi võrgu kus kõigis booditud arvutites käivitatakse debiani paigaldus. Selleks tuleb lihtsalt lubada dhcpst terve võrguvahemik ja pxelinux.cfg alla teha samade parameetrite konfifail nimega '''default'''.
  
 
  default debian-installer/amd64/linux
 
  default debian-installer/amd64/linux
  append auto=true priority=critical vga=normal initrd=debian-installer/amd64/initrd.gz interface=eth1 url=http://10.0.0.2/debian2-conf
+
  append auto=true priority=critical vga=normal interface=eth0 initrd=debian-installer/amd64/initrd.gz url=http://10.0.0.2/debian2-conf
  
ja tekitada 10.0.0.2 veebiserverisse fail '''debian2-conf''' (see võib olla üsna suvalise nimega)
+
Vajadusel võib lisada veel võtmeid. Näiteks see, et ruuterit meil võrgus pole '''netcfg/no_default_route=true''' ning määrata kindlaks nimeserveri '''netcfg/get_nameservers=10.0.0.8'''. Millegipärast samad parameetrid kerneli konfis töötasid aga http kaudu sikutavas konfifailis mitte.
 +
Seejärel tekitame 10.0.0.2 veebiserverisse serveri seadistust sisaldava fail '''debian2-conf''' (see võib olla üsna suvalise nimega).
  
 
<source lang=bash>
 
<source lang=bash>
 
d-i debian-installer/locale string en_US
 
d-i debian-installer/locale string en_US
 
d-i console-keymaps-at/keymap select us
 
d-i console-keymaps-at/keymap select us
d-i keymap select us
+
d-i keyboard-configuration/xkb-keymap select us
  
d-i netcfg/choose_interface select eth0
 
 
d-i netcfg/get_hostname string unassigned-hostname
 
d-i netcfg/get_hostname string unassigned-hostname
 
d-i netcfg/get_hostname seen true
 
d-i netcfg/get_hostname seen true
 
d-i netcfg/get_domain string unassigned-domain
 
d-i netcfg/get_domain string unassigned-domain
 
d-i netcfg/get_domain seen true
 
d-i netcfg/get_domain seen true
d-i netcfg/get_nameservers string 10.0.0.8
+
d-i netcfg/dhcp_timeout string 60
 
 
# meil pole gw masinat
 
d-i netcfg/no_default_route boolean true
 
  
 
d-i mirror/protocol string http
 
d-i mirror/protocol string http
 
d-i mirror/country string EE
 
d-i mirror/country string EE
#d-i mirror/country string manual
 
 
d-i mirror/http/hostname string ftp.ee.debian.org
 
d-i mirror/http/hostname string ftp.ee.debian.org
 
d-i mirror/http/directory string /debian/
 
d-i mirror/http/directory string /debian/
d-i mirror/http/proxy string http://10.0.0.4:8123/
+
d-i mirror/http/proxy string http://10.4.4.1:8123/
d-i mirror/suite string wheezy
+
d-i mirror/suite string jessie
d-i mirror/codename string wheezy
+
d-i mirror/codename string jessie
  
 
d-i clock-setup/utc boolean true
 
d-i clock-setup/utc boolean true
d-i time/zone string US/Eastern
+
d-i time/zone string Europe/Tallinn
  
 
d-i passwd/root-password password parool
 
d-i passwd/root-password password parool
62. rida: 67. rida:
  
 
d-i base-installer/kernel/linux/initramfs-generators string yaird
 
d-i base-installer/kernel/linux/initramfs-generators string yaird
d-i base-installer/kernel/image linux-image-2.6-amd64
+
tasksel tasksel/first multiselect
tasksel tasksel/first multiselect standard
+
d-i pkgsel/include string openssh-server rsync ntp
d-i pkgsel/include string ssh rsync initrd-tools cramfsprogs lzop
+
d-i pkgsel/upgrade select full-upgrade
 +
 
 
d-i grub-installer/only_debian boolean true
 
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
+
d-i grub-installer/bootdev string /dev/sda
 +
 
 
d-i finish-install/reboot_in_progress note
 
d-i finish-install/reboot_in_progress note
 +
</source>
 +
 +
Ja peale masinale tehtud rebooti hakkab installiprotsess käima. See mis versioon debianist peale tuleb määratakse muutujatega
 +
 +
d-i mirror/suite string jessie
 +
d-i mirror/codename string jessie
 +
 +
Kõvaketta muutmiseks kuhu opsüsteemi paigaldatakse tuleb muuta
 +
 +
d-i partman-auto/disk string /dev/sda
 +
d-i grub-installer/bootdev string /dev/sda
 +
 +
proxy serverina sai kasutatud Polipod http://kuutorvaja.eenet.ee/wiki/Polipo
 +
 +
[[Täiendav skript proxmoxi paigalduseks]] näide kuidas täiendada installiskripti post skriptiga, mis paigaldab proxmox ve keskkonna.
 +
 +
Selleks, et käivitada veel peale installi lõppu täiendav skript
  
 +
d-i preseed/late_command string \
 +
in-target wget http://10.4.4.4/jessie-pve-post.sh -O /root/jessie-pve-post.sh; \
 +
in-target bash /root/jessie-pve-post.sh; \
 +
in-target rm /root/jessie-pve-post.sh
 +
 +
Soovides konfigureerida ka näiteks automaatselt postfixi
 +
 +
<source lang=bash>
 +
## postfix preseeding
 +
# General type of configuration? Default:Internet Site
 +
# Choices: No configuration, Internet Site, Internet with smarthost,
 +
#  Satellite system, Local only
 +
postfix postfix/mailname string test-proxmox.eenet.ee
 +
postfix postfix/main_mailer_type        select  Internet with smarthost
 +
# Where should mail for root go, Default:if not set, will spool locally
 +
postfix postfix/root_address    admin@eenet.ee
 +
# SMTP relay host? (blank for none) Default:(none)
 +
postfix postfix/relayhost      string mail.edu.ee
 +
# Force synchronous updates on mail queue?  Default:false
 +
#postfix postfix/chattr  boolean true
 +
# Local networks? Default:"127.0.0.0/8"
 +
# blank uses the postfix default (which is based on the connected subnets)
 +
# Use procmail for local delivery? Defaults to true if /usr/bin/procmail exists
 +
#postfix postfix/procmail        boolean false
 +
# Mailbox size limit Default:0 (unlimited), upstream default is 51200000
 +
postfix postfix/mailbox_limit  string  51200000
 +
# Local address extension character? Default:+
 +
#postfix postfix/recipient_delim string  -
 +
# Internet protocols to use? Default is based on checking if
 +
#  /proc/sys/net/ipv{4,6} exist
 +
# Choices: all, ipv6, ipv4
 +
postfix postfix/protocols      select  ipv4
 
</source>
 
</source>
 +
 +
===Probleemid===
 +
 +
2015.03.27 seisuga on preseedil probleem paigutada bootivat opsüsteemi nt järjekorras teisele sdb kettale, asi tundub olevat
 +
grubi seadistamises. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666974 ideeliselt võiks probleemi lahendada
 +
 +
d-i grub-installer/bootdev string /dev/sdb
 +
 +
====Puuduvad draiverid====
 +
 +
Kuna suletud lähtekoodiga draiverid on debianist välja visatud võib juba paigalduse alguses näha veateadet, et võrgukaarti ei saa kasutada kuna selleks on firmware fail puudu. Selle parandamiseks
 +
saab jessiel ja uuematel debianidel tõmmata mitteametliku non-free firmwaresid sisaldava faili
 +
 +
cd /tftpboot/debian-installer/i386
 +
[ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig
 +
[ -f firmware.cpio.gz ] || wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/stable/current/firmware.cpio.gz
 +
cat initrd.gz.orig firmware.cpio.gz > initrd.gz
 +
 +
Selleks, et firmwared aga ka installitavasse opsüsteemi lisatakse tuleb nende deb failid lisada firmware kataloogi. Näiteks bnx2 firmware deb faili saab urlilt
 +
 +
https://packages.debian.org/wheezy/all/firmware-bnx2/download
 +
 +
Täielikum juhend https://wiki.debian.org/DebianInstaller/NetbootFirmware
 +
 +
===Lingid===
 +
 +
https://www.debian.org/releases/wheezy/i386/apb.html.en
 +
 +
https://github.com/papamoose/proxmox/blob/master/pxe/preseed/post.sh
 +
 +
http://blog.adrenlinerush.net/?p=204

Viimane redaktsioon: 16. veebruar 2016, kell 12:38

Meil on väga palju servereid, mida installida. Vaja oleks automaatselt debian paigaldada ja mõned utiliidid koos temaga. Tundub, et üheks lihtsaks lahenduseks on preseed

Süsteem töötab selliselt, et esmapt boodib server end üles pxe pealt, käivitab kerneli ja tõmbab veebiserverist konfiguratsiooni, mille alusel hakkab läbi http proxy mirroritest pakette tõmbama ja neid kettale installima. Järgmine reboot boodib server võrgu asemel juba kõvakettalt valmis süsteemi.

Preseed.png

Äraseletatult tuleb kõigepealt seadistada Tftp ja Isc-dhcpd_server (eeldame, et need on juba paigaldatud, konfitud ja vajavad vaid täiendamist).

Dhcp konfi lisame vaid ühe enda installimist ootava masina mac aadressi.

 host debian-netboot-test {
   hardware ethernet EA:D7:90:65:00:8F;
   fixed-address 10.0.0.7;
 }

Tõmmata http://www.debian.org/distrib/netinst#netboot). aadressilt netboot.tar.gz ja pakkida selle sisu lahti tftp deemoni töökausta milleks meil /srv/tftpboot.

Tekitada spetsiaalne masina mac nimega konfifail /srv/tftproot/pxelinux.cfg/MAC-AADRESS Võib tekitada muidugi ka eraldi võrgu kus kõigis booditud arvutites käivitatakse debiani paigaldus. Selleks tuleb lihtsalt lubada dhcpst terve võrguvahemik ja pxelinux.cfg alla teha samade parameetrite konfifail nimega default.

default debian-installer/amd64/linux
append auto=true priority=critical vga=normal interface=eth0 initrd=debian-installer/amd64/initrd.gz url=http://10.0.0.2/debian2-conf

Vajadusel võib lisada veel võtmeid. Näiteks see, et ruuterit meil võrgus pole netcfg/no_default_route=true ning määrata kindlaks nimeserveri netcfg/get_nameservers=10.0.0.8. Millegipärast samad parameetrid kerneli konfis töötasid aga http kaudu sikutavas konfifailis mitte. Seejärel tekitame 10.0.0.2 veebiserverisse serveri seadistust sisaldava fail debian2-conf (see võib olla üsna suvalise nimega).

d-i debian-installer/locale string en_US
d-i console-keymaps-at/keymap select us
d-i keyboard-configuration/xkb-keymap select us

d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_hostname seen true
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/get_domain seen true
d-i netcfg/dhcp_timeout string 60

d-i mirror/protocol string http
d-i mirror/country string EE
d-i mirror/http/hostname string ftp.ee.debian.org
d-i mirror/http/directory string /debian/
d-i mirror/http/proxy string http://10.4.4.1:8123/
d-i mirror/suite string jessie
d-i mirror/codename string jessie

d-i clock-setup/utc boolean true
d-i time/zone string Europe/Tallinn

d-i passwd/root-password password parool
d-i passwd/root-password-again password parool
d-i passwd/make-user boolean false

popularity-contest popularity-contest/participate boolean false

d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular

# Pick the "everything in one partition" layout
d-i partman-auto/choose_recipe select atomic

# Say yes to all the standard "are you sure you want to delete your
# disk" warnings.
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 base-installer/kernel/linux/initramfs-generators string yaird
tasksel tasksel/first multiselect
d-i pkgsel/include string openssh-server rsync ntp
d-i pkgsel/upgrade select full-upgrade

d-i grub-installer/only_debian boolean true
d-i grub-installer/bootdev string /dev/sda

d-i finish-install/reboot_in_progress note

Ja peale masinale tehtud rebooti hakkab installiprotsess käima. See mis versioon debianist peale tuleb määratakse muutujatega

d-i mirror/suite string jessie
d-i mirror/codename string jessie

Kõvaketta muutmiseks kuhu opsüsteemi paigaldatakse tuleb muuta

d-i partman-auto/disk string /dev/sda
d-i grub-installer/bootdev string /dev/sda

proxy serverina sai kasutatud Polipod http://kuutorvaja.eenet.ee/wiki/Polipo

Täiendav skript proxmoxi paigalduseks näide kuidas täiendada installiskripti post skriptiga, mis paigaldab proxmox ve keskkonna.

Selleks, et käivitada veel peale installi lõppu täiendav skript

d-i preseed/late_command string \
in-target wget http://10.4.4.4/jessie-pve-post.sh -O /root/jessie-pve-post.sh; \
in-target bash /root/jessie-pve-post.sh; \
in-target rm /root/jessie-pve-post.sh

Soovides konfigureerida ka näiteks automaatselt postfixi

## postfix preseeding
# General type of configuration? Default:Internet Site
# Choices: No configuration, Internet Site, Internet with smarthost,
#   Satellite system, Local only
postfix postfix/mailname string test-proxmox.eenet.ee
postfix postfix/main_mailer_type        select  Internet with smarthost
# Where should mail for root go, Default:if not set, will spool locally
postfix postfix/root_address    admin@eenet.ee
# SMTP relay host? (blank for none) Default:(none)
postfix postfix/relayhost       string mail.edu.ee
# Force synchronous updates on mail queue?  Default:false
#postfix postfix/chattr  boolean true
# Local networks? Default:"127.0.0.0/8"
# blank uses the postfix default (which is based on the connected subnets)
# Use procmail for local delivery? Defaults to true if /usr/bin/procmail exists
#postfix postfix/procmail        boolean false
# Mailbox size limit Default:0 (unlimited), upstream default is 51200000
postfix postfix/mailbox_limit   string  51200000
# Local address extension character? Default:+
#postfix postfix/recipient_delim string  -
# Internet protocols to use? Default is based on checking if
#  /proc/sys/net/ipv{4,6} exist
# Choices: all, ipv6, ipv4
postfix postfix/protocols       select  ipv4

Probleemid

2015.03.27 seisuga on preseedil probleem paigutada bootivat opsüsteemi nt järjekorras teisele sdb kettale, asi tundub olevat grubi seadistamises. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666974 ideeliselt võiks probleemi lahendada

d-i grub-installer/bootdev string /dev/sdb

Puuduvad draiverid

Kuna suletud lähtekoodiga draiverid on debianist välja visatud võib juba paigalduse alguses näha veateadet, et võrgukaarti ei saa kasutada kuna selleks on firmware fail puudu. Selle parandamiseks saab jessiel ja uuematel debianidel tõmmata mitteametliku non-free firmwaresid sisaldava faili

cd /tftpboot/debian-installer/i386
[ -f initrd.gz.orig ] || cp -p initrd.gz initrd.gz.orig
[ -f firmware.cpio.gz ] || wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/stable/current/firmware.cpio.gz
cat initrd.gz.orig firmware.cpio.gz > initrd.gz 

Selleks, et firmwared aga ka installitavasse opsüsteemi lisatakse tuleb nende deb failid lisada firmware kataloogi. Näiteks bnx2 firmware deb faili saab urlilt

https://packages.debian.org/wheezy/all/firmware-bnx2/download

Täielikum juhend https://wiki.debian.org/DebianInstaller/NetbootFirmware

Lingid

https://www.debian.org/releases/wheezy/i386/apb.html.en

https://github.com/papamoose/proxmox/blob/master/pxe/preseed/post.sh

http://blog.adrenlinerush.net/?p=204