Начните с самого низкого уровня
1. Устройства
Разводка/распиновка Ethernet-кабеля, кабели Ethernet 100 Мбит и гигабитные, оптоволоконные кабели, маршрутизаторы Cisco, маршрутизаторы Huawei, коммутаторы и т. д., включая некоторые настройки VLAN, а также изучение коммутаторов и маршрутизаторов. Обычно я советую, что учиться до CCNP достаточно. Что касается компьютерного железа, если вы сами собирали ПК, вы обычно хорошо в этом разбираетесь. Понимайте разницу между серверами и обычными ПК. Серверы бывают 1U, 2U или 4U. Затем нужно найти дата-центр для размещения сервера (colocation); стоимость определяется количеством линий, пропускной способностью и регионом дата-центра. Также следует знать, как зарегистрировать доменное имя, и желательно понимать, что такое ICP filing.
2. Канальный уровень
Речь о прохождении MAC-адресов, изучении коммутаторов и всем, что связано с локальными сетями.
3. Сетевой уровень
Понимайте недостатки межсоединения крупных китайских интернет-провайдеров — China Telecom, China Mobile, China Unicom и образовательной сети — и освойте инструменты захвата пакетов, такие как tcpdump и Wireshark, протокол TCP/IP и, конечно, множество протоколов маршрутизации.
4. Уровень кэширования
Узнайте о нескольких известных CDN-провайдерах в Китае.
Несколько открытых программных пакетов для кэширования
- 1.squid
- 2.varnish
- 3.Traffic Server
5. Системный уровень
Сначала идут три основные системы: Linux, Unix и Windows. На рынке эти три обычно используются в качестве серверных операционных систем. Linux — это мейнстрим современного интернета, поэтому в целом вам следует сосредоточиться на его изучении. Под Windows подразумевается Windows 2008 R2. Unix включает AIX и Free BSD. Здесь нет дискриминации платформ, потому что управление контроллером домена Windows также очень мощное. Однако из-за проблем с авторскими правами Windows и высокой стоимости большинство людей сосредотачиваются на изучении Linux, и интернет также склоняется к нему. AIX и Free BSD на самом деле похожи после изучения Linux, есть лишь незначительные различия. Заинтересованные друзья могут изучить историю взаимоотношений Linux и Unix.
6. Уровень базы данных
Что касается баз данных, я обычно предпочитаю MySQL, хотя у меня был некоторый опыт работы с Oracle. Если вы хорошо освоите одну, остальные не должны быть сложными. Что касается того, почему выбрать MySQL, то это потому, что его можно использовать в приложениях, а для более глубокого изучения вы можете разобраться в исходном коде. Есть также нереляционная база данных MongoDB.
7. Уровень контейнеров
Tomcat, Nginx, Apache, Redis, IIS — здесь особо нечего сказать. В зависимости от вашего языка выберите подходящий контейнер для запуска ваших приложений.
Рекомендуемые книги
Linux
- Во-первых, что касается системы, в мире Linux вы можете обратиться к курсу RHCE от Red Hat.
- Brother Bird's Linux Private Kitchen (обязательно к прочтению) (серверное издание посредственное; не выбирайте его)
- Linux System Administration Handbook (необязательно; большая книга)
- Pearson.Windows.Server.2008.Portable.Command.Guide
- Microsoft.Press.Windows.PowerShell.3.0.First.Steps
- Professional.IIS.7
Windows
Для Windows-серверов рекомендую несколько книг на английском языке
Базовые команды => написание пакетных скриптов => PowerShell (эквивалент BashShell в Linux) => контроллер домена
Сеть
Учебные материалы Cisco CCNP (обязательно купить; коммутаторы и маршрутизация)
Building High-Performance Web Sites (эту книгу обязательно стоит купить; для начинающих, особенно важна для специалистов по эксплуатации)
TCP/IP Illustrated, Volume 1 (обязательно к прочтению)
Building Highly Available Linux Servers (необязательно)
Скрипты
Shell (здесь нет рекомендаций; я сам не покупал книгу. Читать онлайн нормально, покупать книги тоже нормально. Свободно выбирайте на JD.com или China-Pub.)
Кроме Shell, что касается Python или Perl, я предлагаю вам выбрать самостоятельно. Я — Perl-программист, поэтому, конечно, я бы посоветовал вам выбрать Perl.
O'Reilly: Изучаем Perl (обязательно к прочтению)
Эффективное программирование на Perl (2-е издание) (необязательно)
Perl высшего порядка (необязательно)
Python
Базовое руководство по Python (обязательно к прочтению)
После понимания основ вы можете применить некоторые фреймворки, такие как Django и Tornado. Если хотите более глубокого понимания, конечно, смотрите исходный код. Если вам всё ещё интересно двигаться дальше и вы считаете, что хорошо знаете C, вы можете посмотреть исходный код виртуальной машины Python.
Скрипты регулярных выражений (принципы regex; regex необходим в Linux)
Сборник рецептов по регулярным выражениям (необязательно)
Искусство регулярных выражений (необязательно)
Базы данных
Высокопроизводительный MySQL (обязательно к прочтению)
MySQL: высокодоступность (обязательно к прочтению)
Эффективный MySQL: резервное копирование и восстановление (необязательно)
Искусство программирования Oracle Database 9i/10g/11g: Глубокое погружение в архитектуру базы данных, 2-е издание (читайте, если вы используете Oracle)
Мониторинг
Существует множество инструментов мониторинга. Вы можете поискать в интернете соответствующую информацию, например Cacti, bmon, nload, iftop, vnstat, iptraf и т. д.
Итог
CLI (интерфейс командной строки) — основа всей работы по эксплуатации. Знайте скрипты и умейте писать их без труда. Держите в голове примерный план диагностики. Новичкам стоит взять найденные в интернете скрипты «one-click XXX» в качестве примеров, а затем самостоятельно их улучшить, например: инициализация системы, настройка SSH, настройка параметров и т. д. Большое здание начинается с фундамента. Хотя вышеперечисленных книг много, их всё же весьма необходимо прочитать.
Рекомендую хороший отечественный форум по эксплуатации:http://bbs.linuxtone.org/