V2 Server Setup
Introduction
- A Linux server capable of hosting multiple virtual machines (VMs)
- Basic setup performed by hand:
- OS installation
- Install development tools
- Setup RAID disk mirroring
Further provisioning automated by use of Puppet:
VirtualBox and Vagrant installation
- Rinetd setup on host system
- Reverse proxy gateway in VM
- Internal DNS server in VM
Basic Platform
- Hardware:
- Multi-core Intel architecture with 64-bit processor(s)
- 1 x SSD drive for the root, swap and main applications
- 2 x identical hard disks for backups
- Software:
VirtualBox - Virtualization software
Bagrant - Ruby-based command line front for VirtualBox
Other standard Linux packages (Bind, Apache, MySQL, Rails, etc.) as needed
Operating System Installation
Download Ubuntu 12.04.3 LTS Server
Available from: http://www.ubuntu.com/download/server
Select: 64-bit (recommended) - This is called amd64, with is appropriate for Interl and AMD 64-bit processors
- Prepare a bootable memory stick
- See instructions at:
On an Ubuntu system: http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-ubuntu
- See instructions at:
Ubuntu Installation
Boot system from memory stick containing Ubuntu 12.04.3 LTS server
Select language: English
Selection option: Install Ubuntu Server
Select system language: English
Select location: other --> Europe --> Switzerland
Select locale: en_US.UTF-8
- Configure network:
DHCP configuration will start, enter cancel
Select primary network interface - This question does not appear for systems with a single ethernet port
Select: Configure manually
IP address: enter systems's IP address'
Gate IP address: enter system's gateway address
Nameserver address(es): enter system's primary DNS IP address(es)'
Hostname: enter system's hostname
- Create initial user
- Full name:
- User name:
Enter & re-enter password
Encrypt home directory: no
Time zone: Accept Europe/Zurich
- Partition disks:
- Select entry for SSD drive
Select Automatically partition and use LVM
- Select entire disk
- Accept proposed partition and accept writing partition table to disk
Installs base operating system
Enter proxy information: Enter return (e.g. no proxy required)
Software selection: Select SSHD server, and nothing else
Installs and configures more software
Install GRUB boot loader: Yes
- Installation complete. Remove memory stick a reboot
Initial Configuration
- Login as the user defined during the installation
- Set the root password:
sudo bash passwd
- Update system:
apt-get update apt-get -y dist-upgrade
Install development tools, required for VirtualBox installation
apt-get -y install build-essential autoconf libtool pkg-config
Setup Mirrored Disks
Setup RAID-1 based mirrored disks
In a typical installation, the SSD and two hard disks have device names assigned as follows:
SSD: /dev/sda
Hard disk 1: /dev/sdb
Hard disk 2: /dev/sdc
Procedure:
Partition and format hard disks with 'ext4 filesystems
Partition: Perform this procedure once for heach hard dick, typically for
fdisk /dev/sdb p # Print partition table d # Delete all existing partitions. May need to use this command multiple times n # Create a new partition, accept defaults, which are for a primary partition using all availa disk space w # Write partition table to disk and exit
- Example:
Command (m for help): p ..prints partition table (which will be empty for a new disk).. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Partition number (1-4, default 1): Using default value 1 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table.