| [1612] | 1 | Installing a Scripts guest on a Xen host | 
|---|
|  | 2 | ---------------------------------------- | 
|---|
|  | 3 |  | 
|---|
|  | 4 | 1. Create the LVS partitions that the Scripts guest will use. | 
|---|
|  | 5 |  | 
|---|
|  | 6 | Our classic setup is 50GB for the main, root partition (/) and | 
|---|
|  | 7 | 10GB for our swap.  You can consult what things look like | 
|---|
|  | 8 | by using `lvdisplay`.  Our naming convention is server-name-root | 
|---|
|  | 9 | and server-name-swap. | 
|---|
|  | 10 |  | 
|---|
|  | 11 | Creating new LVS partitions is done with `lvcreate`: | 
|---|
|  | 12 |  | 
|---|
|  | 13 | # Example values: | 
|---|
|  | 14 | # SERVERNAME=whole-enchilada | 
|---|
|  | 15 | # HOSTNAME=jay-leno | 
|---|
|  | 16 | lvcreate -n $SERVERNAME-root $HOSTNAME --size 50.00G | 
|---|
|  | 17 | lvcreate -n $SERVERNAME-swap $HOSTNAME --size 10.00G | 
|---|
|  | 18 |  | 
|---|
|  | 19 | 2. Acquire the network installation media for Fedora. | 
|---|
|  | 20 |  | 
|---|
|  | 21 | Normally, you would download an ISO and kick off an installation | 
|---|
|  | 22 | by burning it to a CD and booting off of that.  Since we would like | 
|---|
|  | 23 | to make as minimal a Fedora install as possible, we use a different | 
|---|
|  | 24 | method. [XXX: Why do we actually do it this way?  It seems kind | 
|---|
|  | 25 | of convoluted] | 
|---|
|  | 26 |  | 
|---|
|  | 27 | First, we need to create an appropriate installation directory, | 
|---|
|  | 28 | which contains the necessary kernel images and bootstrapping code. | 
|---|
|  | 29 | Navigate to a Fedora mirrors website, and find the correct release | 
|---|
|  | 30 | from the linux/releases directory, then grab the contents of | 
|---|
|  | 31 | Fedora/x86_64/os/isolinux.  For example, getting the Fedora 13 installer | 
|---|
|  | 32 | from mirrors.mit.edu would be: | 
|---|
|  | 33 |  | 
|---|
|  | 34 | mkdir ~/f13-install | 
|---|
|  | 35 | cd ~/f13-install | 
|---|
|  | 36 | wget -r -nd ftp://mirrors.mit.edu/fedora/linux/releases/13/Fedora/x86_64/os/isolinux/ | 
|---|
|  | 37 |  | 
|---|
|  | 38 | You can then spin up a Xen image for installation with: | 
|---|
|  | 39 |  | 
|---|
|  | 40 | xm create scripts-server machine_name=$HOSTNAME install=f13 | 
|---|
|  | 41 |  | 
|---|
|  | 42 | Note that the -install suffix was dropped.  Get a console with `xm | 
|---|
|  | 43 | console`. | 
|---|
|  | 44 |  | 
|---|
|  | 45 | 3. Tell Fedora where to get the real installer. | 
|---|
|  | 46 |  | 
|---|
|  | 47 | You will now be in a curses installer interface.  Since you are doing | 
|---|
|  | 48 | a network install, you will need to configure your network and specify | 
|---|
|  | 49 | the URL to install.  Find the static hostname that you are planning | 
|---|
|  | 50 | to install to and get its information with: | 
|---|
|  | 51 |  | 
|---|
|  | 52 | stella $HOSTNAME | 
|---|
|  | 53 |  | 
|---|
|  | 54 | Manually configure its IP, disabling IPv6 for now [XXX I don't know how | 
|---|
|  | 55 | to configure that].  The network mask is 16, and you can check | 
|---|
|  | 56 | '/etc/resolv.conf' if you don't remember what MIT's DNS servers are. | 
|---|
|  | 57 |  | 
|---|
|  | 58 | It will then ask you for an installation image.  Continuing with our | 
|---|
|  | 59 | F13 mirrors.mit.edu, the URL will look something like: | 
|---|
|  | 60 |  | 
|---|
|  | 61 | ftp://mirrors.mit.edu/fedora/linux/releases/13/Fedora/x86_64/os | 
|---|
|  | 62 |  | 
|---|
|  | 63 | 4. Use VNC | 
|---|
|  | 64 |  | 
|---|
|  | 65 | At this point, Fedora will ask you whether or not you want to use VNC | 
|---|
|  | 66 | to continue the installation.  Because Scripts has an unusual disk | 
|---|
|  | 67 | image setup, you will want to answer yes. [XXX: Unfortunately, this puts | 
|---|
|  | 68 | the VNC session on MITnet, so make sure you use a good password, and | 
|---|
|  | 69 | we should figure out to make it not do that].  Grab your favorite | 
|---|
|  | 70 | VNC client and login to $HOSTNAME:1 | 
|---|
|  | 71 |  | 
|---|
|  | 72 | 5. Installation in VNC | 
|---|
|  | 73 |  | 
|---|
|  | 74 | 5.1. Disks to use | 
|---|
|  | 75 |  | 
|---|
|  | 76 | We don't have any exotic devices (we did that at the host level, | 
|---|
|  | 77 | recall), so you can use normal configuration.  The scripts-server Xen | 
|---|
|  | 78 | configuration will have automatically selected the LVS partitions you | 
|---|
|  | 79 | created in Step 1, and you want both of them. | 
|---|
|  | 80 |  | 
|---|
|  | 81 | 5.2. Host | 
|---|
|  | 82 |  | 
|---|
|  | 83 | The default hostname is all caps: we use lower-case, so lower-case the | 
|---|
|  | 84 | name before proceeding. | 
|---|
|  | 85 |  | 
|---|
|  | 86 | 5.3. Timezone | 
|---|
|  | 87 |  | 
|---|
|  | 88 | Self explanatory | 
|---|
|  | 89 |  | 
|---|
|  | 90 | 5.4. Root password | 
|---|
|  | 91 |  | 
|---|
|  | 92 | Use Scripts root password for a real install, and fake password | 
|---|
|  | 93 | otherwise. [XXX: Insecure over VNC? Argh!] | 
|---|
|  | 94 |  | 
|---|
|  | 95 | 5.5 Formatting the disks | 
|---|
|  | 96 |  | 
|---|
|  | 97 | You can find out what our existing setup looks like by consulting | 
|---|
|  | 98 | '/etc/fstab'. | 
|---|
|  | 99 |  | 
|---|
|  | 100 | Select Custom, and select both disks for formatting.  Setup the larger | 
|---|
|  | 101 | disk as the boot partition.  Configure the partitions as follows: | 
|---|
|  | 102 |  | 
|---|
|  | 103 | 50GB | 
|---|
|  | 104 | Standard Partition | 
|---|
|  | 105 | Mount Point: / | 
|---|
|  | 106 | File System Type: ext3 (the default as of F13 is ext4, which | 
|---|
|  | 107 | cannot be mounted by the hosts and thus should not be used!) | 
|---|
|  | 108 | Additional Size Options: Fill to maximum allowable size (the | 
|---|
|  | 109 | Size parameter will not do anything in that case) | 
|---|
|  | 110 | Force to be primary partition | 
|---|
|  | 111 | 10GB | 
|---|
|  | 112 | Standard Partition | 
|---|
|  | 113 | File System Type: swap | 
|---|
|  | 114 | Additional Size Options: Fill to maximum allowable size | 
|---|
|  | 115 |  | 
|---|
|  | 116 | 5.6 Bootloader | 
|---|
|  | 117 |  | 
|---|
|  | 118 | Defaults are fine. | 
|---|
|  | 119 |  | 
|---|
|  | 120 | 5.7 Installation | 
|---|
|  | 121 |  | 
|---|
|  | 122 | Do a minimal install (we will proceed to install the packages we care | 
|---|
|  | 123 | about), and add the normal F13 repository (testing and updates will be | 
|---|
|  | 124 | added when we bring in our /etc configuration).  Similarly, we will | 
|---|
|  | 125 | install the software we want later, so there is no need to do that now. | 
|---|
|  | 126 |  | 
|---|
|  | 127 | 5.8 Reboot | 
|---|
|  | 128 |  | 
|---|
|  | 129 | When the install finishes, it will ask you to reboot.  This is fine, but | 
|---|
|  | 130 | since we created the VM image with install, upon reboot it will ask us | 
|---|
|  | 131 | to install again.  Let it reboot, then destroy the virtual machine. | 
|---|
|  | 132 |  | 
|---|
|  | 133 | xm destroy $SERVERNAME | 
|---|
|  | 134 |  | 
|---|
|  | 135 | 6. New World Order | 
|---|
|  | 136 |  | 
|---|
|  | 137 | Start up the VM without the install flag: | 
|---|
|  | 138 |  | 
|---|
|  | 139 | xm create scripts-server machine_name=$SERVERNAME | 
|---|
|  | 140 |  | 
|---|
|  | 141 | Use xm console to get a terminal, and proceed with the official install | 
|---|
|  | 142 | instructions. | 
|---|
|  | 143 |  | 
|---|
|  | 144 | xm console $SERVERNAME | 
|---|