Home Quản trị Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho...

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPS

0
39

Bạn đang chạy một site trên VPS, lượng truy cập không nhiều nhưng  tỉnh thoảng vẫn bị lỗi Establishing a Database Connection. Lỗi đó cơ bản là do dịch vụ MySQL bị crash vì nguyên nhân hệ thống thiếu RAM. Để khắc phục hiện tượng này và làm cho VPS hoạt động ổn định hơn, việc cần làm là tạo swap cho VPS.

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPS

1- Swap là gì

Các hệ điều hành từ lâu đã có khái niệm bộ nhớ ảo, Linux gọi là Swap. Khi các ứng dụng cần bộ nhớ, hệ điều hành sẽ tự động cấp phát bộ nhớ còn thừa, khi bộ nhớ cạn kiệt nó sẽ dùng một phần ổ cứng làm bộ nhớ ảo để lưu trữ. Với chức năng đó, swap là rất quan trọng đảm bảo cho hoạt động ổn định của hệ thống, khắc phục hiện tượng các ứng dụng bị crash hoặc hệ thống bị treo do thiếu RAM. Tình trạng crash MySQL khi sử dụng VPS DigitalOcean là ví dụ tiêu biểu nhất cho vấn đề này.

Hạn chế lớn của swap đó là tốc độ truy xuất dữ liệu chậm do hệ thống đọc ghi dữ liệu trên ổ cứng thay vì trên RAM (Tốc độ truy cập đĩa chậm hơn từ 10 đến 1000 lần so với tốc độ truy cập RAM) , tuy nhiên với các hệ thống sử dụng ổ cứng SSD thì tốc độ cũng đã được cải thiện hơn rất nhiều.

Có 2 loại swap đó là: swap partitionswap file

  • swap partition là một phân vùng độc lập nằm trên đĩa cứng, chỉ có mục đích là hoán đổi (swapping), không có file nào khác nằm trên đó.
  • swap file là một file riêng biệt nằm trên hệ thống, nó có thể nằm giữa hệ thống của bạn và các file dữ liệu. Loại swap  này thường được sử dụng trên VPS.

Khi cài đặt hệ thống Linux, mặc định swap được tạo ra và sử dụng. Tuy nhiên, với các VPS thì swap thường không có sẵn, muốn sử dụng bạn phải tự tạo ra. Bài viết này sẽ hướng dẫn các bạn tạo swap, cấu hình để swap hoạt động hiệu quả nhất. Các ví dụ được thực hiện trên VPS DigitalOcean 512 MB, sử dụng CentOS 64 bit

2- Hướng dẫn cách tạo swap cho VPS

2.1- Kiểm tra xem VPS của bạn đã có swap chưa, dùng lệnh:

free

Nếu cho kết quả

Swap:            0          0          0

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPS

Thì swap chưa được tạo.

Bạn cũng có thể kiểm tra bằng lệnh:

swapon -s

Nếu ra kết quả như hình dưới thì swap chưa được tạo.

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPS

2.2- Tạo swapfile

Thực hiện lần lượt các câu lệnh dưới đây:

dd if=/dev/zero of=/swapfile bs=1024 count=1024k

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPSLệnh trên dành dung lượng 1Gb của ổ cứng để tạo swapfile. Bạn có thể thay 1024 bằng 512 hoặc 2048… để tạo swap dung lượng 512MB, 2Gb…

Theo khuyến cáo, dung lượng swap nên bằng hoặc gấp 2 lần dung lượng RAM. Ví dụ, nếu VPS của bạn có 512MB RAM thì swap nên có dung lượng từ 512MB đến 1Gb. Các VPS sử dụng ổ cứng SSD thường có dung lượng hạn chế, do đó các bạn nên tính toán sao đó cho hợp lý.

Tạo phân vùng swap

mkswap /swapfile

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPSKích hoạt swap

swapon /swapfile

2-3- Cấu hình cho swap tự kích hoạt khi khởi động VPS

Mở để chỉnh sửa file fstab bằng lệnh:

nano /etc/fstab

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPSThêm vào cuối nội dung file dòng:

/swapfile          swap            swap    defaults        0 0

Nhấn CTRL + O và Enter để lưu; CTRL + X để thoát khỏi trình soạn thảo nano.

Chú ý: Nếu bỏ qua bước này, swap sẽ không tự động chạy mỗi khi bạn khởi động lại VPS, bạn phải bật thủ công bằng lệnh swapon

2-4. CHMOD cho swap file

Thực hiện các lệnh:

chown root:root /swapfile
chmod 0600 /swapfile

Tới đây bạn đã tạo xong swap cho VPS. Có thể kiểm tra bằng lệnh free hoặc swapon -s hoặc bằng lệnh top - c để kiểm tra xem swap đã hoạt động chưa.

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPS

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPS

2-5. Cấu hình Swappiness

Swappiness là mức độ ưu tiên sử dụng swap, khi lượng RAM còn lại bằng giá trị của Swappiness (tính theo tỷ lệ phần trăm) thì swap sẽ được sử dụng. Swappiness có giá trị trong khoảng 1 – 100.

  • swappiness = 0: swap chỉ được sử dụng khi RAM được sử dụng hết
  • swappiness = 10:  swap được sử dụng khi RAM còn 10%.
  • swappiness = 60: giá trị mặc định
  • swappiness = 100:  swap được ưu tiên như là RAM.

Mặc định giá trị  swappiness là 60, tức là khi lượng RAM còn lại 60% thì swap được dùng đến.

Do tốc độ truy xuất của RAM cao hơn của ổ cứng nên nếu đặt mức ưu tiên sử dụng swap cao thì sẽ ảnh hưởng đến hiệu suất hoạt động của hệ thống. Nhiều ý kiến cho rằng nên đặt mức ưu tiên là 10 để tận dụng được khả năng của RAM.

– Để kiểm tra giá trị swappiness hiện tại của hệ thống, dùng lệnh:

cat /proc/sys/vm/swappiness

– Chỉnh sửa giá trị swappiness về 10

sysctl vm.swappiness=10

– Để tự động cấu hình swappiness=10 mỗi khi khởi động lại VPS, ta chỉnh sửa file  sysctl.conf

nano /etc/sysctl.conf

Tìm dòng

vm.swappiness

Thay thế giá trị của nó bằng 10

vm.swappiness=10

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPSNếu chưa có thì thêm dòng đó vào

Nhấn CTRL + O và Enter để lưu; CTRL + X để thoát khỏi nano.

2-6. Kiểm tra kết quả

Khởi động lại VPS, sau đó dùng các lệnh

swapon -s

cat /proc/sys/vm/swappiness

Để kiểm tra xem swap đã chạy như ý chưa.

Hướng dẫn tạo, cấu hình swap để tăng sự ổn định cho VPS

2.7- Xóa swap

Nếu muốn thay đổi dung lượng swap hoặc đơn giản là không muốn dùng swap nữa, bạn có thể xóa swap

Trước hết, tắt nó đi đã:

swapoff /swapfile

Và xóa bỏ swapfile, thế là xong:

rm -f /swapfile

Chúc các bạn thành công.

NO COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here