... | ... | @@ -11,16 +11,18 @@ From the menu choose "Auto (UFS)", and then "Entire Disk", confirm erasing the d |
|
|
Next it will put you in the partition editor and want you to review the partitioning. If you are dedicating the entire disk to the OS, then just select "Finish". If you are using a single disk for OS and the Emulab install, then you will need to shrink the FreeBSD partition to leave room for Emulab. Unfortunately, doing this requires you "Delete" the existing "freebsd-ufs" and "freebsd-swap" partitions and "Create" new ones. They should be created under the "BSD" partition (probably ada0s1). The "freebsd-ufs" partition should be 50-100GB and should have a mountpoint of "/". The swap partition you can make 16GB or smaller. Once you have recreated these partitions select "Finish".
|
|
|
|
|
|
Now it will prompt you to "Commit" the changes. After doing so, it will begin the install.
|
|
|
Near the end of the installation, you will be asked if you wish to install or configure several optional items. Do set the root password, configure your network device, configure DNS, set your time and time zone, and enable SSH logins (if desired). You should skip any other configuration.
|
|
|
Near the end of the installation, you will be asked if you wish to install or configure several optional items. Do set the root password, configure your network device, configure DNS, set your time and time zone, and enable just the SSH daemon (`sshd`).
|
|
|
|
|
|
Do **not** create any user accounts yet, and just log in as root for the time being. Our software will create user accounts later, once you get boss set up correctly. If you already created any users, delete them with the "pw" command and make sure their home directories are removed as well!
|
|
|
|
|
|
Installation will complete and it will ask if you want to reboot the machine. Do so, and after rebooting, login as root and run `freebsd-update` to pick up security patches (**NOTE:** If you are installing FreeBSD 11.3 skip this step since 11.3 has reached end-of-life and there are no updates. This step will be needed when we transition to FreeBSD 12.2.):
|
|
|
Installation will complete and it will ask if you want to reboot the machine. Do so, and after rebooting, login as root.
|
|
|
|
|
|
If you are installing FreeBSD 12.2, you should run `freebsd-update` to pick up security patches:
|
|
|
```
|
|
|
freebsd-update fetch
|
|
|
env PAGER=cat freebsd-update fetch
|
|
|
freebsd-update install
|
|
|
```
|
|
|
|
|
|
**Note:** If you are installing FreeBSD 11.3, it has reached end-of-life and there are no updates, so you will skip this step.
|
|
|
|
|
|
## Create Emulab Partitions
|
|
|
|
... | ... | @@ -42,14 +44,14 @@ In fact, the only reasons you might want to make them separate filesystems would |
|
|
|
|
|
**Note:** 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.
|
|
|
|
|
|
### Using UFS
|
|
|
#### Using UFS
|
|
|
|
|
|
The traditional UFS filesystem is best used with a single redundant underlying volume, either
|
|
|
a hardware RAID provided volume, or a virtual disk provided by the VM host. Otherwise you are taking your chances with a disk failure. While you can use FreeBSD's `gvinum` or `graid` to implement RAID or interact with a software RAID controller, it is recommended that you [use ZFS instead](#using-zfs) if you need to build a multi-disk redundant configuration.
|
|
|
|
|
|
Here are two examples of configuring partitions and filesystems on a single disk, either for a system with a large single disk shared by both the OS and Emulab, or with a second disk dedicated to Emulab bits.
|
|
|
|
|
|
#### Shared Single Disk
|
|
|
##### Shared Single Disk
|
|
|
|
|
|
This example creates separate filesystems for `/usr/testbed` and `/share`, and a `/z` filesystem for the remaining directory hierarchies. It assumes you have modified the FreeBSD install and swap partitions during installation to leave space for these filesystems. You can use `gpart show` to determine what device ("geom") to specify, use the one with the most free space. It will most likely be "ada0s1" as is shown in the following.
|
|
|
```
|
... | ... | @@ -84,7 +86,7 @@ ln -s /z/groups /groups |
|
|
```
|
|
|
If you wanted distinct filesystems for each of `/users`, `/proj`, and `/groups`, then instead of the commands to create `/z`, you would have analogous commands for those three filesystems. You would obviously not need to create the symlinks as shown in the last command group.
|
|
|
|
|
|
#### Second Dedicated Disk
|
|
|
##### Second Dedicated Disk
|
|
|
|
|
|
If you have a second disk (/dev/ada1) available for just Emulab, then the process is similar, but the disk first has to be prepared. We use GPT partitioning in this case to avoid the need for extended-DOS or FreeBSD partition tables inside of MBR tables (MBR supports only four primary partitions and we need more).
|
|
|
```
|
... | ... | @@ -122,7 +124,7 @@ ln -s /z/proj /proj |
|
|
ln -s /z/groups /groups
|
|
|
```
|
|
|
|
|
|
### Using ZFS
|
|
|
#### Using ZFS
|
|
|
|
|
|
If you have multiple physical disks available for Emulab storage and they are not combined using hardware RAID, then you can use ZFS to create RAID1, RAID10, RAID5, RAID50, RAID6 or RAID60 style configurations. Using ZFS permits other nice features as well, including easy creation and resizing of filesystems and the ability to create per-filesystem snapshots for backup purposes.
|
|
|
|
... | ... | |