Build a new server

From Wikitech
(Difference between revisions)
Jump to: navigation, search
(PXE boot and the initial OS)
(Related pages)
Line 44: Line 44:
 
== Related pages ==
 
== Related pages ==
 
* [[DNS]]
 
* [[DNS]]
* [[Automated installation]]
+
* An older version of the preseeding docs: [[Automated installation]]
 +
* More detail around working with the console: [[Remote_management]]
 +
 
 
[[Category:How-To]]
 
[[Category:How-To]]

Revision as of 01:01, 18 August 2011

Details on all the steps necessary to take a new (or old repurposed) piece of hardware and turn it into a happy functional server

Contents

Before you begin

  • find the machine's MAC address
  • decide on private / public IP address, and if it will need to exist in some special range
  • decide how the disks should be arranged (raid, partitioning, etc.)

Initial hardware setup

  • Get the hardware racked and cabled (RobH)
  • Get an IP and name (RobH)
    • follow DNS How-To section to add the name/ip to DNS
    • set up $name.mgmt.$loc.wmnet as well to access the management interface
  • Set up DHCP with the MAC address / name info
    • log into brewster and edit /etc/dhcp3/*, run /etc/init.d/dhcpd3-server restart
  • Get the switch set up to pass traffic to the host (Mark)

PXE boot and the initial OS

  • set up netboot to partition the disk
    • log into brewster, edit /srv/autoinstall/netboot.cfg
    • it's a bash case statement. Add a new stanza for your hosts' name
    • If you don't know what partitioning scheme to use and your host has two disks, use raid1-lvm.cfg.
  • ssh to root@$servername.mgmt.$loc.wmnet, force a restart and pxe boot
    • get the password from someone in ops if you don't have it
    • powercycle the host: racadm serveraction powercycle
    • connect to the cosole: console com2
    • during boot, force netboot: F12
      • when connecting from OSX via the Terminal, escape-shift-2 sends F12
    • you can leave this running to watch it complete
      • Note: if you see it ask you for disk partitioning information, you did the partitioning step above wrong
    • when you're done, ctrl-\ will disconnect you from the console

Get puppet running

  • get a shell on both $server and the puppet master (sockpuppet)
    • Only one key has access to new installs.
    • from sockpuppet, ssh -i ~/.ssh/new_install root@$servername to log into $server
  • on $server, run puppetd --test It will fail.
  • on sockpuppet, run puppetca -s $server-fqdn
  • on $server, run puppetd --test It should now succeed.

Set up puppet

  • add $server to site.pp, either by hostname or within a regex if it's part of a class (eg srv\d\d*)
  • do whatever puppet goodies you want to get the server to do what you want it to.

Related pages

Personal tools
Namespaces

Variants
Actions
Navigation
Ops documentation
Wiki
Toolbox