|
|
**NOTE:** Before proceeding, ensure that the machine you will use as your ops server is properly connected to your network and that all of the required software is available either through the network or some other media.
|
|
|
|
|
|
Boot the FreeBSD installation CD on the machine you will use as your ops server. When it asks for the desired installation mode, select Standard. Use the standard bootloader unless you have special requirements.
|
|
|
Boot the FreeBSD installation CD on the machine you will use as your ops
|
|
|
server. You will want to do an "Install" and then select your keymap and
|
|
|
hostname. When it asks about optional components, only select "lib32" and
|
|
|
"src", you do not want "ports" since you will be loading pre-built packages
|
|
|
from Emulab.
|
|
|
|
|
|
When it asks about partitioning the disk, choose "Auto (UFS)". It will
|
|
|
identify all the disks on the machine and ask which you want to install
|
|
|
FreeBSD on. Select the first disk and "Partition."
|
|
|
|
|
|
Before partitioning, note that the following directories will need to exist
|
|
|
on partitions that have enough space to hold them:
|
|
|
|
|
|
* **/usr/** Needs space for the ports tree and a system object tree. At least 10GB. Be sure to build with plenty of inodes (the ports tree itself uses about 200000, so be safe and build with at least a million).
|
|
|
|
|
|
* **/usr/testbed/** Needs space for testbed software and logs. Several (3-4) GB should be enough.
|
|
|
|
|
|
* **/users/** Needs space for user home directories. The amount of space required depends on how many users you expect to have. Generally, though, we suggest that users store large files related to their projects in the `/proj` directory.
|
... | ... | @@ -15,15 +21,11 @@ on partitions that have enough space to hold them: |
|
|
|
|
|
* **/groups/** Needs enough space for files shared by the sub-groups of projects. These are primarily used by classes, if any.
|
|
|
|
|
|
* **/scratch/** Optional, large filesystem of "scratch" space. The intent is that this filesystem provides per-project space that is not *guaranteed* (for the Utah Emulab this means we do not back it up to tape). If used, you would either set no quotas, or higher quotas than for `/proj`. Most sites probably won't want this.
|
|
|
|
|
|
* **/share/** Exported read-only to all nodes. We use it for providing experimenters with the source for the FreeBSD and Linux versions we run as well as common packages and RPMs. This could require anything from 1GB to 20GB+ depending on what you want to make available.
|
|
|
|
|
|
You may want to enforce quotas on the user-writable filesystems. This is the main reason you'd want to keep them in separate filesystems (i.e., so people can have different `/users` and `/proj` quotas). If you do not think you will ever use quotas, then you could make `/users` and `/proj` part of the same filesystem.
|
|
|
|
|
|
As mentioned, `/scratch` is optional. If you are not providing "guarantees" such as filesaved or RAIDed disk space and you are not using quotas, you might as well just put all of your space in `/proj` and not define `FSDIR_SCRATCH` in the definitions file.
|
|
|
|
|
|
Also note that since `/share` is exported read-only, FreeBSD requires that it be on a separate filesystem from anything that is exported read-write. So while `/users, /proj` and `/groups` can be on the same filesystem, `/share` cannot.
|
|
|
Note that since `/share` is exported read-only, FreeBSD requires that it be on a separate filesystem from anything that is exported read-write. So while `/users, /proj` and `/groups` can be on the same filesystem, `/share` cannot.
|
|
|
|
|
|
Make sure that no matter how you decide to partition things up, you make symbolic links to the appropriate places. For example, if you make one big filesystem called `/z` that has `/users, /proj,` and `/groups` in it, make sure you:
|
|
|
|
... | ... | @@ -34,7 +36,7 @@ ln -s /z/groups /groups |
|
|
...
|
|
|
```
|
|
|
|
|
|
In other words, we assume the existence of `/users, proj,` and `/share` (but not `/scratch`).
|
|
|
In other words, we assume the existence of `/users, proj,` and `/share`.
|
|
|
|
|
|
When prompted, continue by selecting the 'Developer' distribution set - this will install full sources. When it asks if you want to install the ports collection, answer **no**. Do not install any packages at this time. You will get a chance to do so later.
|
|
|
|
... | ... | |