mirror of
https://github.com/opsschool/curriculum.git
synced 2025-12-06 00:19:45 +01:00
Fix typos
This commit is contained in:
parent
bc064abffa
commit
5079f94a48
|
|
@ -2,7 +2,7 @@
|
|||
Disaster Recovery
|
||||
*****************
|
||||
|
||||
Disaster Recovery is a process for securing business continiuity in the event of a disaster.
|
||||
Disaster Recovery is a process for securing business continuity in the event of a disaster.
|
||||
The severity of the disaster may differ, as well as how to resolve it.
|
||||
However, the goal for a Disaster Recovery, or the Disaster Recovery Plan should always be to get to the state of business as usual as soon as possible.
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ The size of the organization as well as the grade of information technology adap
|
|||
|
||||
Defining these business needs can't be the sole work of the IT Department or an Operations Engineer.
|
||||
It needs attention from all levels of the organizational hierarchy.
|
||||
One method for identifying the needs might be interviews with collegues that work in the core business.
|
||||
One method for identifying the needs might be interviews with colleagues that work in the core business.
|
||||
|
||||
**Questions that need to be answered by every role in the core process(es):**
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ A blade is a server on a removable card which connects to a chassis for power, n
|
|||
The blade chassis is typically a rackmount unit, but sizes of this are usually much larger, using 8U or more depending on the number of blades the chassis supports.
|
||||
|
||||
Blades were originally hoped to solve server density issues, and some products have the ability to house four servers in only 2U of space.
|
||||
In recent years blades have been used to solve physical cable management issues in complex environemnts, since there are very few cables required to connect the systems to other pieces of infrastructure.
|
||||
In recent years blades have been used to solve physical cable management issues in complex environments, since there are very few cables required to connect the systems to other pieces of infrastructure.
|
||||
|
||||
SANs
|
||||
----
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ Apache
|
|||
|
||||
Apache has the ability to load balance using ``mod_proxy_balancer``, and ``mod_jk``.
|
||||
|
||||
Mod_poxy_balancer is purpose-built load balancing solution. It supports the HTTP, FTP,
|
||||
Mod_proxy_balancer is purpose-built load balancing solution. It supports the HTTP, FTP,
|
||||
and AJP protocols. There is basic support for sessions stickiness's, weighted round-robin,
|
||||
and can remove unhealthy backends from the balancing pool. It lacks support for customizable
|
||||
health checks, other TCP protocols. Support for AJP is provided by ``mod_proxy_ajp`` and support
|
||||
|
|
|
|||
|
|
@ -381,7 +381,7 @@ Setting it up and make it show pretty graphs
|
|||
---------------------------------------------
|
||||
|
||||
StatsD is a simple daemon listening for metrics. The first
|
||||
implemtation was done by Etsy, and is written for `node.js
|
||||
implementation was done by Etsy, and is written for `node.js
|
||||
<http://nodejs.org>`_. but other implementation exists (`Python
|
||||
<https://github.com/sivy/py-statsd>`_, `Ruby
|
||||
<https://github.com/fetep/ruby-statsdserver>`_, `C
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ Once each device has chosen its least-cost port, or Root Port (RP), it calculate
|
|||
By doing this, each switch obtains a Designated Port (DP), or a port on which it should expect to accept traffic to forward through its RP.
|
||||
Upon calculating these values, all other paths to the root device are disabled- marking them as Blocked Ports (BP).
|
||||
|
||||
A major benefit to using STP to prevent network loops is that network administrators can intentionally connect redundant paths for fault tollerance without worry of causing an infinite loop during normal operation.
|
||||
A major benefit to using STP to prevent network loops is that network administrators can intentionally connect redundant paths for fault tolerance without worry of causing an infinite loop during normal operation.
|
||||
Should a path in a broadcast domain fail, each participating switch will recalculate the DP and RP, modifying the status of BPs if necessary.
|
||||
This has the effect of repairing the broken path by routing traffic through segments around the failure.
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ to install it again:
|
|||
|
||||
bash-4.0$ yum install dstat
|
||||
|
||||
To upgrade all packages that have newer versions avaliable, run:
|
||||
To upgrade all packages that have newer versions available, run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
|
@ -126,7 +126,7 @@ sources on next install or upgrade operation.
|
|||
Querying the RPM database
|
||||
-------------------------
|
||||
|
||||
Ocassionally you will want to find out specific information regarding installed
|
||||
Occasionally you will want to find out specific information regarding installed
|
||||
packages. The ``-q`` option to the ``rpm`` command comes in handy here. Let's
|
||||
take a look at a few examples:
|
||||
|
||||
|
|
@ -270,7 +270,7 @@ or:
|
|||
Querying the dpkg database
|
||||
--------------------------
|
||||
|
||||
Ocassionally you will want to find out specific information regarding installed
|
||||
Occasionally you will want to find out specific information regarding installed
|
||||
packages. The ``dpkg-query`` command has many options to help. Let's
|
||||
take a look at a few examples:
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ Programming 101
|
|||
Shell scripting basics
|
||||
======================
|
||||
|
||||
Specifying the interpeter
|
||||
Specifying the interpreter
|
||||
-------------------------
|
||||
Shell scripts will typically start with ``#!/bin/sh`` or ``#!/bin/bash``. This line, `affectionally known by various names including hashbang and shebang <http://en.wikipedia.org/wiki/Shebang_(Unix)>`_, is treated as a directive to run the rest of the script with the given interpreter.
|
||||
This directive, combined with setting the execute bit via ``chmod`` tells the system that the file is meant to be executed, rather than simply a file containing text.
|
||||
|
|
@ -149,7 +149,7 @@ To actually add these two numbers, the operation needed is a little different.
|
|||
|
||||
echo ${result}
|
||||
|
||||
Here, the ``$(( ))`` tells bash that anything that goes inside these double parentheses needs to be evaluated as an arithmentic operation.
|
||||
Here, the ``$(( ))`` tells bash that anything that goes inside these double parentheses needs to be evaluated as an arithmetic operation.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ Even the simplest of Ruby code will use this principle:
|
|||
> "michael".capitalize
|
||||
=> Michael
|
||||
|
||||
Strictly speaking, there will be cases where the above statment is not true in Ruby.
|
||||
Strictly speaking, there will be cases where the above statement is not true in Ruby.
|
||||
For example, in Ruby, functions are not first class objects.
|
||||
In some languages like Javascript and Python, functions are first class objects.
|
||||
In these languages, a function can be treated like an object, i.e. they have attributes, they can be referenced and passed as parameters etc.
|
||||
|
|
@ -406,7 +406,7 @@ and even in conditionals:
|
|||
.. code-block:: python
|
||||
|
||||
if not ((2 < 3) or (3 > 4)):
|
||||
print "Neither statment is true"
|
||||
print "Neither statement is true"
|
||||
|
||||
Variables
|
||||
---------
|
||||
|
|
@ -558,7 +558,7 @@ Functions
|
|||
---------
|
||||
Functions in Python work exactly like they do in other languages.
|
||||
Each function takes input arguments and returns a value.
|
||||
The only difference is syntax, you define functions with the keyword ``def``, and don't use cruly braces like in Java, C, C++ and C#.
|
||||
The only difference is syntax, you define functions with the keyword ``def``, and don't use curly braces like in Java, C, C++ and C#.
|
||||
Instead, function blocks are separated using indentation.
|
||||
|
||||
.. code-block:: python
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ ps
|
|||
--
|
||||
|
||||
``ps`` shows the processes currently running on the system.
|
||||
``ps`` takes many arguments but some good recipies are ``ps aux`` to see all processes from a user standpoint, whether they have a tty or not.
|
||||
``ps`` takes many arguments but some good recipes are ``ps aux`` to see all processes from a user standpoint, whether they have a tty or not.
|
||||
Also good is ``ps -lfU <username>`` to see all processes owned by ``<username>`` in long format.
|
||||
``ps`` has output formatting with the ``-o`` switch and works well with ``grep``.
|
||||
``pgrep`` combines ``ps`` and ``grep`` into one command.
|
||||
|
|
@ -23,7 +23,7 @@ Also good is ``ps -lfU <username>`` to see all processes owned by ``<username>``
|
|||
opsschool 5424 1.1 0.2 247360 10448 pts/0 Sl+ 17:01 0:00 vim shell_tools_101.rst
|
||||
opsschool 5499 0.0 0.0 13584 936 pts/5 S+ 17:01 0:00 grep --color=auto vim
|
||||
|
||||
Note that the ``grep`` command also shows up in the proccess table.
|
||||
Note that the ``grep`` command also shows up in the process table.
|
||||
|
||||
top
|
||||
---
|
||||
|
|
@ -68,7 +68,7 @@ find
|
|||
``find`` is for finding files on the system.
|
||||
``find .`` recursively walks the entire filesystem tree below the current working directory and prints out each file by its relative path.
|
||||
``find . -name 'opsschool'`` again recursively walks the entire filesystem tree, but only prints out files named ``opsschool``.
|
||||
``find . -name 'opschool' -type d`` prints out only directories and ``-type f`` prints out only regular files.
|
||||
``find . -name 'opsschool' -type d`` prints out only directories and ``-type f`` prints out only regular files.
|
||||
The ``-name`` filter also accepts wildcards.
|
||||
``find . -name '*.html'`` will print out all files ending in ``.html``.
|
||||
As you become more skilled at Unix/Linux, use the find command often, as it becomes more and more useful with experience.
|
||||
|
|
@ -133,7 +133,7 @@ You can also pass a directory name to the ``ls`` command and it will list the co
|
|||
bin etc games include lib libexec sbin share src
|
||||
|
||||
There are a number of options that can be passed to the ls command to control both what is output and how it's formatted.
|
||||
Files and directories that begin with a '.' are refered to as hidden files.
|
||||
Files and directories that begin with a '.' are referred to as hidden files.
|
||||
Two of the more useful options are: ``-a`` and ``-l``:
|
||||
|
||||
- ``ls -a`` will list these hidden files and directories.
|
||||
|
|
@ -206,7 +206,7 @@ Most system administrators are comfortable with the 'basics' of their core comma
|
|||
mount
|
||||
-----
|
||||
The ``mount`` command is used to mount filesystems.
|
||||
For example, mounting an ext4 filesystem that resides on the :file:`/dev/sda2` partiton could be done as follows: ``mount -t ext4 /dev/sda2 /mnt``
|
||||
For example, mounting an ext4 filesystem that resides on the :file:`/dev/sda2` partition could be done as follows: ``mount -t ext4 /dev/sda2 /mnt``
|
||||
In this example the "-t" switch tells the ``mount`` command that the filesystem type is ext4.
|
||||
|
||||
When passed no arguments the ``mount`` command lists the filesystems that are currently mounted:
|
||||
|
|
@ -223,7 +223,7 @@ When passed no arguments the ``mount`` command lists the filesystems that are cu
|
|||
|
||||
The ``mount`` command will also consult :file:`/etc/fstab` and if it's able to and use the entries and options it finds there.
|
||||
If an entry for /home exists in /etc/fstab one would be able to simply issue the command ``mount /home``.
|
||||
This command would mount whatever parition is found that is associated with the :file:`/home` entry in /etc/fstab, and use any options that happen to be present.
|
||||
This command would mount whatever partition is found that is associated with the :file:`/home` entry in /etc/fstab, and use any options that happen to be present.
|
||||
|
||||
Items to you wish to mount don't necessarily have to be a partition on a disk to be mounted either.
|
||||
Mounting an ISO file, an image of a optical disk, is especially handy: ``mount -o loop -t iso9660 /home/luser/installer.iso /mnt/cdrom``
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Business Acumen in Operations
|
|||
|
||||
What is business acumen? Business acumen as a leadership competency simply
|
||||
defined as a general understanding of business principles that leads to an
|
||||
organization's success. While operations profssionals do not need to be senior
|
||||
organization's success. While operations professionals do not need to be senior
|
||||
executives, development of business acumen as applied to operations can help to
|
||||
bridge the gap between the organization's senior leadership and the operations
|
||||
team. Business acumen as applied to operations works on multiple levels. In
|
||||
|
|
|
|||
|
|
@ -577,7 +577,7 @@ SSH connections work by sending a stream of data back and forth between the clie
|
|||
and server. This stream can be broken in various ways, such as the connection
|
||||
timing out due to inactivity, or the client machine suspending state and shutting
|
||||
down network devices. The Mosh protocol is based on UDP packets compared to the SSH
|
||||
procotol that uses TCP packets. Mosh is the first application to use the Stateless
|
||||
protocol that uses TCP packets. Mosh is the first application to use the Stateless
|
||||
Syncronization Protocol. Instead of a stream of data between the server and client
|
||||
that makes up a session over SSH, Mosh works by keeping a mirrored copy of the
|
||||
session on the client and server and syncronizing the changes between them.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ text editors in this space: ``vi`` and ``emacs``
|
|||
|
||||
Both of these editors, ``vi`` and ``emacs``, are command-line utilities that you run from a
|
||||
terminal window. This means that you can also run them on remote machines over an ``ssh`` connection.
|
||||
While there are graphical versions of these tools availabile (``gvim`` and ``xemacs``), many
|
||||
While there are graphical versions of these tools available (``gvim`` and ``xemacs``), many
|
||||
administrators prefer the text-only versions, as it creates a uniform experience whether they
|
||||
are working on their own local machine, or a remote one being accessed over the network.
|
||||
Additionally, avoiding use of the mouse means your hands stay on the home row of the keyboard,
|
||||
|
|
@ -38,14 +38,14 @@ text/context in the file.
|
|||
``vi`` basics
|
||||
=============
|
||||
|
||||
``vi`` was created as an extension to ``ex`` (a sucessor to ``ed``). When
|
||||
``vi`` was created as an extension to ``ex`` (a successor to ``ed``). When
|
||||
"modern" terminals (e.g. electronic displays, not teletypes) became common, it
|
||||
made sense to use a "visual" editing mode, where you could see the context of
|
||||
the line you were editing. From ``ed``, you would enter "visual" mode by
|
||||
running ``:vi`` -- thus VI was born.
|
||||
|
||||
Since then, ``vi`` has been written and re-written many, many times. But inside, you
|
||||
will still find good ol' ``ed``. In ``Text Edting 201``, you will see how you can
|
||||
will still find good ol' ``ed``. In ``Text Editing 201``, you will see how you can
|
||||
still access the very powerful ``ed`` features by using the colon (``:``) command.
|
||||
|
||||
There are many versions of ``vi`` out there, but the most popular is ``vim`` (VI iMproved).
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ and tested. Focus on the procedure to the exclusion of everything else.
|
|||
|
||||
That said, not every situation will have an associated procedure. These
|
||||
situations call for their own procedures. Try to create a procedure for
|
||||
every situation that doesn't alreay have one. This diligence pays off
|
||||
every situation that doesn't already have one. This diligence pays off
|
||||
over time, as history tends to repeat itself. In addition to this, a
|
||||
procedure for situations lacking a procedure provides a safety net when
|
||||
everything else fails. This will differ from one organization to the
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user