Friday, 5 May 2017

[Linux] Từ super user đến Sysadmin

(Hay một định nghĩa về "Linux Sysadmin")

Bạn có thể dùng hệ điều hành nhân Linux (Ubuntu, Fedora...) OSX được 5 năm, nhưng điều đó không biến bạn thành "Sysadmin".
Bạn có thể biết apt/yum chạy thế nào, dpkg làm gì, bạn biết compile kernel, upgrade kernel, làm đủ trò trên máy tính của bạn, gõ các dòng lệnh, viết bash nhoay nhoáy, nhưng điều đó không biến bạn thành sysadmin.
Bạn là một Linux Super user!



Hệ thống hỏi đáp quốc tế StackExchange có hẳn 1 trang tên là "Super User", nơi dành cho các super user:

Super User is a question and answer site for computer enthusiasts and power users.

Và một trang riêng dành cho các "Sysadmin":


Server Fault is a question and answer site for system and network administrators. 

Hai "danh hiệu" này chia sẻ nhiều kỹ năng chung, nhưng không phải là một.
Các kỹ năng chung:
- Cài đặt, vận hành OS: cài đặt package, kernel, quản lý các file trên hệ thống...
- Viết bash script
- Thành thạo command line
- Biết về network cơ bản (cấu hình network interface), troubleshoot network
- Đọc system/service log, troubleshoot

Super User thường ám chỉ việc chỉ liên quan đến xử lý thao tác trên phần cứng/ phần mềm của 1 máy.
Sysadmin thường vận hành cách "service" và trên nhiều máy.

Để từ Super User thành Sysadmin (thường nói tới các sysadmin làm thuê cho các doanh nghiệp), bạn cần:
- Biết cài đặt và vận hành các hệ thống phục vụ doanh nghiệp - những hệ thống bạn ít/ hiếm khi phải làm nếu dùng 1 mình: web server, mail server, file sharing, hệ thống chat nội bộ, hệ thống quản lý công việc, hệ thống monitor, hệ thống logging tập trung, hệ thống tích hợp liên tục (CI), hệ thống quản lý mã nguồn (GitLab...) ...
- Nắm rõ network hoạt động thế nào giữa nhiều máy trong hệ thống: troubleshoot network, VPN, DHCP server, DNS server, firewall ...
- Nắm rõ cách vận hành nhiều máy cùng lúc: sử dụng các công cụ quản lý hàng loạt như SaltStack hay Ansible
- Sử dụng các hệ thống ảo hoá hay container: VMware, KVM, và docker, docker swarm, K8s...
- Cài đặt vận hành các cluster: database cluster ...
- Biết cách triển khai HA / Load Balancing: haproxy, NGINX reverse, ...

Vì vậy, để từ 1 super user trở thành Sysadmin, bạn cần tự mình tạo môi trường để luyện tập các kỹ năng trên, và tốt nhất là đi mua vài ba cái máy ảo, cài đặt các hệ thống nói trên rồi luyện tập hàng ngày.
Chi phí để mua 1 server 1 GB trên DigitalOcean là 10$, với 2 server 1GB tức 20$ (~ 500k VND), đủ để bạn nghịch ngợm đủ trò.
Cài đặt máy ảo trên máy tính của bạn không phải lựa chọn tốt nhất vì:
- Tốn tài nguyên trên máy
- Chậm - mạng của bạn tất nhiên khó có thể nhanh bằng mạng của DigitalOcean, ổ cứng của bạn có thể không nhanh bằng SSD của các hệ thống cloud.
- Bạn không có được kỹ năng sử dụng Cloud - một kỹ năng bắt buộc của Sysadmin thời "cloud".

500.000/tháng không phải là mức học phí đắt, cho một môn học kiếm ra nhiều tiền. Nếu tiết kiệm hơn, chọn 2 server 512 MB RAM, cũng chỉ ~ 200k/ tháng.

PS: sử dụng link đăng ký DigitalOcean nói trên là ủng hộ tác giả bài viết, bạn không ủng hộ thì tác giả vẫn viết thôi 😎
Bạn có thể sử dụng các loại cloud khác như Linode, AWS ... nhưng ở đây tôi chỉ giới thiệu DO do đã sử dụng DO lâu năm, và nó rẻ, tốt.

Đăng ký lớp học làm Linux Sysadmin tại: https://pymivn.github.io/sysad101/
Nhập mã FAMILUG để được giảm 1 triệu đồng.
Hết.
HVN at http://www.familug.org/ and http://pymi.vn

Đăng ký học #Python 3 từ con số 0 tại https://pymi.vn/ - trung tâm đào tạo lập trình viên Python số 1 Việt Nam.

Nhập email vào http://invite.pymi.vn/ để nhận thư mời tham gia forum hỏi đáp Python, Django, Golang, Linux ...