21_Initial_System_Configuration - quantum/esos GitHub Wiki
The First Boot
At this point its assumed you have already inserted your USB flash drive into your storage server's USB port, set USB as the only boot device in the BIOS, and you are at the physical console and have a login prompt. If you're ESOS USB flash drive failed to boot for some reason, please let us know on the esos-users Google Group so we can help.
On the first boot, you may get messages saying something like "Superblock last write time is in the future." -- just hit 'y' to fix it. This happens typically because the time on the build machine is/was different than your ESOS storage server machine.
The first item on your agenda will be to login as root and change the password.
- Superuser account: root
- Default password: esos
Next, this is important, you need to change the default root password: Hit 's' for the System menu, and then choose Change Password.
Choose a nice hefty password, assuming this machine will be on your IP network, you don't want it to be susceptible to easy SSH brute-force attacks.
Date & Time
Setting the date and time in ESOS is important; currently, the configuration synchronization script relies solely on time stamps to determine which files are "new" on the system. It will also help with log entry correlation when/if tracking down issues. Open the date & time dialog: System -> Date & Time Settings
The default timezone for ESOS is Factory. Choose your local timezone, or set it UTC. You can then set the current date and time (24-hour format) if needed.
Setting a NTP server is the easiest way to keep your ESOS system time up to date. The date/time will be set via NTP on ESOS host boot-up and periodically via cron.
Warning: If you do not set the date/time initially, and you do this after you've been using an ESOS instance (after the first sync), double-check the time stamps of files in the 'esos_conf' file system. If a file on the USB drive has a time stamp in the future from what your system time is, it will always "win" during a synchronization.
TUI Basics
The ESOS text-based user interface (TUI) should be useful in any basic system setup, or storage provisioning functions depending on your hardware (RAID controller). Use the CLI (shell) for advanced configurations.
When at the main menu (no dialogs or other widgets active) you can use the main menu hot keys to activate the main menu widget. These are first letter of each main menu option at the top of the screen:
- S -> System
- A -> Hardware RAID
- O -> Software RAID
- L -> LVM
- F -> File Systems
- H -> Hosts
- D -> Devices
- T -> Targets
- U -> ALUA
- I -> Interface
Pressing any of the hot keys will activate the main menu starting in the corresponding main menu heading. Use the arrow keys to navigate between main menu headings and sub-menu items. Use ENTER to select a function/dialog and ESCAPE to get out of the menu widget.
When using selector/choice/list widgets (eg, selecting a logical drive), use ENTER or TAB to make a choice, ESCAPE to cancel/exit, and the arrow keys to navigate.
Use the arrow keys to scroll up/down on scrolling window widgets which are typically used to display information/data on the screen (eg, DRBD Status). Use ENTER or ESCAPE to close these types of windows.
On dialogs/screens that contain more than one widget, use TAB and SHIFT+TAB to traverse through the widgets. Use the OK button to confirm/accept/apply settings and Cancel to close/exit the dialog.
Warning: The ESOS TUI provides minimal human-error checking when configuring storage in ESOS (eg, deleting a volume that is mapped to a LUN). It is up to the end-user to make responsible decisions when administering ESOS hosts.
Using the CLI
After logging into ESOS, you will be in the text-based user interface. You can then exit to the shell (CLI) if you choose: Interface -> Exit to Shell
You can then return to the TUI by hitting CTRL-D or the exit
command.
The only normal, interactive editor that is installed on ESOS is "vi". For a handy vi
cheat sheet, see this page.
Warning: Since the ESOS image (binaries, config. files, etc.) is loaded into RAM on boot, it is important that you sync your configuration to the USB flash drive by using the conf_sync.sh
command. There is a cron job setup to run conf_sync.sh
every so often, but it should be good practice to always run conf_sync.sh
after making configuration changes via the shell. When using the TUI, it will automatically sync the configuration when you exit.
Networking
Next, you will want to configure your network interface(s), system host/domain names, resolver, etc. If you are configuring IPoIB interfaces, you will need to first enable the kernel module(s); see the 22_Advanced_System_Setup wiki page for details. To access the network configuration dialog: System -> Network Settings
Then choose General Network Settings. In this dialog, you can set the system host name, domain name, and if you're not using DHCP, the default gateway and name servers.
Now you can configure your network interfaces (if desired). Go to the network settings dialog (System -> Network Settings) and the choose the desired network interface (eg, enp2s0).
If you are using DHCP for an interface, choose the DHCP option in the radio widget, and change the default MTU if desired. When using DHCP, leave all of the other (eg, IP address, netmask, etc.) entry fields empty.
If you are configuring an interface statically, choose the Static option and set the IP address, netmask, and broadcast addresses (all required). You may also change the default interface MTU if desired.
After all networking settings have been configured appropriately, you can then restart the network services manually if you haven't already been prompted to do so: System -> Restart Networking
If you are re-configuring network settings via SSH, please be careful when restarting the network services as you may lose connectivity if anything is not configured correctly.
In ESOS, the '/etc/hosts' file is automatically updated each time the network rc script is run. If you have extra static host entries you'd like to use on your system, use the shell and create/edit the '/etc/xtra_hosts' file; the format is the same as the standard hosts file (IP_ADDRESS NAME).
Mail Setup
It is highly recommended to configure mail (SMTP) on your ESOS storage server. Email messages are sent by many daemons in ESOS to communicate informational messages, warnings, errors, etc. ESOS uses sSMTP for sendmail -- it can only send mail, you cannot receive mail in ESOS. sSMTP in ESOS supports SSL/TLS encrypted connections to your SMTP host.
Access the mail settings dialog: System -> Mail Setup
All of the configurable options in the mail settings dialog should be self-explanatory. These settings will all be dependent on your SMTP service; please consult them for the appropriate settings. The alert email address field is the email address of the user that should receive the ESOS email alerts.
Here are example settings for using Gmail SMTP:
- SMTP host: smtp.gmail.com
- SMTP port: 587
- Use TLS: Yes
- Use STARTTLS: Yes
- Auth. method: CRAM-MD5
- Auth. user: [email protected]
- Auth. password: password
After applying the ESOS mail settings (hitting 'OK') you will be prompted to send a test email message; choose 'Yes' and be sure your email setup is working.
If you encounter any problems or errors when sending a test email message, consult '/var/log/mail.log' for help.
You can also send a test email message at any time after: System -> Send Test Email
Serial Console Access
Enterprise Storage OS supports console access via a serial port interface; here are the settings to configure on your terminal emulator:
- Baud: 9600
- Data bits: 8
- Parity bit: None
- Stop bit: 1
For GRUB and kernel messages, use "COM1" (ttyS0). For ESOS shell access via serial, you'll need to edit the '/etc/inittab' file and add/uncomment a line for your serial device (eg, ttyS1). Then you need to make init re-read the file by performing this command:
kill -HUP 1
The TUI is not available when connecting via serial, only the shell is usable.
Shutting Down & Rebooting
To power off / shut down a running ESOS server, execute the following command from the shell:
poweroff
To reboot a running ESOS server, execute the following command from the shell:
reboot
Next Steps
From here, you can now SSH into your ESOS storage server, configure your back-storage and setup your targets. Continue with the 31_Hardware_RAID_Setup or 32_Software_RAID_Setup document.
If you have any extra settings, or non-standard configuration items, see the 22_Advanced_System_Setup wiki page for guidance.