Hướng dẫn chi tiết cách tạo SWAP cho VPS Linux
Swap là bộ nhớ ảo trên Linux. Bạn có thể tạo swap cho VPS Linux dễ dàng với các bước hướng dẫn chi tiết dưới đây của Mắt Bão.
MỤC LỤC:
Bạn có biết rằng Swap là bộ nhớ ảo trên Linux
Swap là bộ nhớ ảo trên hệ điều hành Linux. Nó sử dụng tài nguyên của ổ cứng để làm bộ nhớ ảo chạy các ứng dụng. Swap giúp RAM của hệ thống được giải phóng và dùng cho những mục đích khác. Trong bài viết này, Mắt Bão sẽ hướng dẫn bạn cách tạo Swap file cho VPS Linux.
1. Swap – Tại sao phải dùng Swap?
Swap hay còn được gọi là RAM ảo được sử dụng để hỗ trợ lưu trữ dữ liệu khi bộ nhớ vật lý (RAM) đã đầy. Đôi khi SWAP cũng được dùng song song để tăng dung lượng bộ nhớ đệm.
Swap là khái niệm bộ nhớ ảo trên hệ điều hành Linux. Nếu server không được tạo swap thì khi hết RAM hệ thống sẽ stop các ứng dụng như MySQL. Và khi đó web sẽ không chạy được. Tốc độ của ổ cứng không thể nhanh bằng RAM. Do đó, việc tạo swap chỉ là để dự phòng cho trường hợp hết RAM.
Swap là bộ nhớ ảo trên hệ điều hành Linux
Nếu tình trạng hết RAM xảy ra liên tục, bạn hãy tối ưu lại server hoặc nâng cấp RAM. Ngoài ra, việc tạo swap chỉ nên làm nếu dịch vụ VPS của bạn dùng SSD hoặc RAID-10. Bạn không cần tạo swap cho VPS sử dụng công nghệ ảo hóa OpenVZ. Lý do là vì các OpenVZ VPS thường được hệ thống tự động kích hoạt swap sẵn.
2. Kiểm tra swap trên hệ thống
- Trước tiên, hãy đăng nhập vào VPS qua SSH bằng ZOC Terminal. Sau đó, bạn cần check xem hệ thống đã được kích hoạt swap chưa bằng cách chạy lệnh: free -m
Kết quả các thông số bằng 0 nghĩa là VPS chưa được tạo swap
Nếu các thông số của swap bằng 0 như hình trên thì nghĩa là VPS chưa được tạo swap.
- Tiếp đến, bạn cần kiểm tra dung lượng ổ cứng còn trống bằng cách dùng lệnh: df -h
Dung lượng ổ cứng còn trống là 18Gb
Nhìn vào hình trên, tại dòng highlight màu xanh, bạn có thể thấy dung lượng còn trống là 18Gb. Từ số liệu này, bạn có thể tính xem nên tạo swap bao nhiêu là đủ.
3. Tạo swap cho VPS
Bước 1:
Để tạo swap cho VPS Linux, ta dùng lệnh sau:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k
Lệnh này sẽ tạo swap có dung lượng 1Gb.
Để tạo swap với dung lượng khác, hãy thay count=1024k bằng con số bất kỳ mà bạn muốn. Ví dụ: swap dung lượng 2Gb sẽ có count=2048k.
Lưu ý: Dung lượng tối đa của swap chỉ nên gấp đôi dung lượng RAM vật lý.
Lệnh này tạo ra swap có dung lượng 1Gb
Bước 2:
Tiếp đến, tiến hành kiểm tra lại xem swap được tạo có xảy ra lỗi gì không bằng lệnh:
ls -lh /swapfile
Nếu kết quả trả về như hình bên dưới có nghĩa là mọi việc đều ổn.
Kiểm tra lỗi swap
Bước 3:
Định dạng lại cho file swap bằng lệnh:
sudo mkswap /swapfile
Ta được kết quả trả về như hình bên dưới:
Định dạng lại file swap
Bước 4:
Sau khi đã có file swap, bạn có thể kích hoạt hệ thống để sử dụng file này bằng lệnh:
swapon /swapfile
Bước 5:
Để biết chắc file swap đã được kích hoạt trên VPS, bạn có thể kiểm tra tình trạng bằng lệnh:
free –m
Ta được kết quả trả về như sau:
Kiểm tra tình trạng swap
Bước 6:
Chmod quyền truy cập cho file này bằng lệnh:
chown root:root /swapfile
sudo chmod 600 /swapfile
Bước 7:
Nếu muốn swap tự động kích hoạt khi reboot lại VPS, hãy chạy lệnh sau:
echo /swapfile none swap defaults 0 0 >> /etc/fstab
4. Cấu hình tham số swappiness
Tham số swappiness sẽ cho biết thời điểm nào sẽ sử dụng swap. Nó có giá trị từ 0 – 100 ( tính bằng %). Để giúp bạn hiểu hơn về chỉ số này, dưới đây là một vài ví dụ:
- swappiness = 0: có nghĩa là sử dụng swap khi RAM được dùng hết.
- swappiness = 10: có nghĩa là sử dụng swap khi RAM còn 10%.
- swappiness = 50: có nghĩa là sử dụng swap khi RAM còn 50%.
- swappiness = 100: có nghĩa là swap được sử dụng đồng thời với RAM.
Tốc độ xử lý của RAM cao hơn nhiều so với Swap. Do đó, hãy đặt giá trị swappiness gần với 0 để tận dụng tối đa sức mạnh của RAM. Giá trị tốt nhất nên đạt là 10.
Bước 1:
Để kiểm tra giá trị hiện tại của swappiness bạn dùng lệnh:
cat /proc/sys/vm/swappiness
Kết quả trả về sẽ tùy thuộc vào hệ điều hành mà bạn đang dùng (CentOS, Ubuntu,…).
Bước 2:
Để thay đổi giá trị của swappiness bạn dùng lệnh:
sudo sysctl vm.swappiness=10
Lệnh trên giúp thay đổi giá trị của swappiness là 10. Nếu muốn swappiness có giá trị khác, bạn có thể thay 10 bằng con số khác (từ 1 – 100).
Bước 3:
Dùng lại lệnh sau để kiểm tra xem đã đúng chưa:
cat /proc/sys/vm/swappiness
Bước 4:
Để giữ nguyên thông số này sau mỗi lần reboot lại VPS, hãy điều chỉnh tham số vm.swappiness ở cuối file/etc/sysctl.conf. Nếu không tìm thấy bạn hãy tự thêm vào.
Để sửa file/etc/sysctl.conf, sử dụng lệnh sau:
nano /etc/sysctl.conf
Tiếp đến, tìm dòng chữ vm.swappiness và đổi sang giá trị mong muốn. Nếu chưa có thì bạn có thể thêm vào cuối file dòng lệnh:
vm.swappiness=10
Nhấn Ctrl + O để lưu, Enter và Ctrl + X để thoát.
Điều chỉnh tham số vm.swappiness ở cuối file/etc/sysctl.conf để swappiness giữ nguyên giá trị khi server reboot
Bước 5:
Khởi động lại VPS và kiểm tra lại kết quả bằng lệnh:
free -m
cat /proc/sys/vm/swappiness
Khởi động lại VPS
5. Thay đổi dung lượng file swap trong VPS
Khi đã tạo được swap cho VPS Linux và muốn thay đổi dung lượng, hãy làm theo các bước sau:
Bước 1:
Tắt swap bằng lệnh:
swapoff /swapfile
Bước 2:
Xóa swap bằng lệnh:
rm -f /swapfile
Bước 3:
Tạo swap với dung lượng mới.
Ví dụ, với lệnh bên dưới, bạn có thể tạo được swap 2Gb (2048k)
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2048k
Bước 4:
Tạo phân vùng swap bằng lệnh:
mkswap /swapfile
Bước 5:
Kích hoạt swap bằng lệnh:
swapon /swapfile
Bước 6:
Chmod file swap bằng lệnh:
chown root:root /swapfile
chmod 600 /swapfile
Bước 7:
Kiểm tra file swap bằng lệnh:
free -m
Khi thay đổi dung lượng swap, các cài đặt từ trước như tự động kích hoạt, thông số Swappiness vẫn được giữ nguyên. Do đó, bạn không cần phải thao tác gì thêm.
Lời kết
Với những hướng dẫn chi tiết trên đây, hy vọng bạn đã biết cách để tạo swap cho VPS Linux. Nếu có nhu cầu thuê máy chủ VPS hay muốn nhận thêm sự hỗ trợ kỹ thuật, có thể liên hệ với Mắt Bão qua Hotline: 1900 1830 (24/7). Chúc bạn thành công!
Nguồn Mắt Bão