Resize swap partition (phân vùng)
Điều chỉnh swap có thể sẽ yêu cầu thay đổi nhiều các phân vùng. Vì vậy, cần phải backup disk lại trước các hành động này, để tránh mất dữ liệu trên disk.
Cách resize phân vùng swap
- Khởi động từ USB Linux Live:
- Tạo một USB Linux Live và khởi động vào Ubuntu Live (hoặc một bản phân phối Linux khác).
- Việc này giúp bạn có thể chỉnh sửa phân vùng trên ổ đĩa mà không gặp lỗi hệ thống đang sử dụng phân vùng đó.
- Mở GParted/Disks app:
- Trong môi trường Live, mở công cụ
GPartedhoặcDisks(công cụ quản lý phân vùng). - Tìm phân vùng swap hiện tại (thường sẽ được đánh dấu là
swaptrong GParted).
- Tắt swap (nếu đang bật):
- Nhấp chuột phải vào phân vùng swap và chọn “Swapoff” và “Unmount” để tắt phân vùng swap, nếu nó đang hoạt động.
- Chỉnh sửa kích thước phân vùng:
Nếu cần tăng swap, bạn sẽ phải lấy một phần size từ
ext4 partition. Cần kiểm tra size khả dụng trong ext4 để bắt đầu chuyển qua choswap partition.
- Convert: ext4 → unallocated
Vấn đề tiếp theo là
unallocated partmới này nằm phía sauext4 part. Như vậy, theo thứ tự thìswap partvàunallocated partnày không nằm kế nhau. Nên không thể kết hợp:
[swap] [ext4] [unallocated]- Move chỉ có thể dùng
Gparted, không thể dùngDisks(app)Một
unallocated partkhông thể di chuyển. Vì vậy, thay vì di chuyển nó, bạn hãy di chuyểnext4 partra sau nó. Và bạn sẽ cóswap partgần vớiunallocated part:
[swap] [unallocated] [ext4]
- Chọn
phân vùng swapvà chọn “Resize/Move” để thay đổi kích thước của nó. - Bạn có thể kéo để mở rộng hoặc thu nhỏ dung lượng theo mong muốn.
Thu nhỏ ext4 partition hiện tại để lấy size cho swap thì có ảnh hưởng data ko?
Thu nhỏ phân vùng ext4 để lấy dung lượng cho swap có thể thực hiện được, nhưng bạn cần cẩn thận để tránh mất dữ liệu. Nếu thực hiện đúng cách, dữ liệu sẽ không bị ảnh hưởng. Dưới đây là các lưu ý và hướng dẫn chi tiết:
Lưu ý quan trọng trước khi thu nhỏ phân vùng ext4:
-
Sao lưu dữ liệu quan trọng:
- Dù rủi ro thấp nếu làm đúng cách, nhưng việc chỉnh sửa phân vùng luôn tiềm ẩn nguy cơ. Hãy sao lưu dữ liệu quan trọng trước khi thực hiện.
-
Kiểm tra phân vùng ext4:
- Trước khi thu nhỏ, cần kiểm tra và sửa lỗi (nếu có) trên phân vùng ext4:Thay
sudo e2fsck -f /dev/sdXn/dev/sdXnbằng phân vùng ext4 của bạn (ví dụ:/dev/sda2).
- Trước khi thu nhỏ, cần kiểm tra và sửa lỗi (nếu có) trên phân vùng ext4:
-
Phân vùng trống tối thiểu:
- Đảm bảo rằng phân vùng ext4 còn đủ dung lượng trống. Bạn chỉ có thể thu nhỏ tới mức không làm ảnh hưởng đến dữ liệu hiện tại.
Các bước thu nhỏ ext4 để lấy dung lượng cho swap:
-
Tắt hệ thống và khởi động vào Linux Live USB:
- Không thể chỉnh sửa phân vùng đang được sử dụng. Sử dụng Linux Live để thực hiện thay đổi.
-
Mở GParted:
- Trong GParted, chọn phân vùng ext4.
-
Giảm kích thước phân vùng ext4:
- Nhấp chuột phải vào phân vùng ext4 và chọn “Resize/Move”.
- Kéo chuột để thu nhỏ dung lượng phân vùng và chừa khoảng trống chưa phân bổ (unallocated space) cho swap.
- Áp dụng thay đổi.
Lưu ý: Nếu ext4 đang đầy hoặc gần đầy, GParted sẽ không cho phép thu nhỏ. Hãy giải phóng dung lượng trước.
-
Tạo phân vùng swap mới từ khoảng trống chưa phân bổ:
- Chọn vùng trống chưa phân bổ và nhấp “New”.
- Chọn loại phân vùng là “linux-swap”.
- Áp dụng thay đổi.
-
Kích hoạt swap mới:
- Sau khi khởi động lại, kiểm tra UUID của phân vùng swap mới:
sudo blkid - Cập nhật
/etc/fstabvới UUID mới của phân vùng swap.
- Sau khi khởi động lại, kiểm tra UUID của phân vùng swap mới:
Có ảnh hưởng đến dữ liệu không?
Nếu làm đúng các bước trên, dữ liệu trên phân vùng ext4 không bị ảnh hưởng. Tuy nhiên:
- Nếu bạn tắt máy giữa chừng hoặc hệ thống mất điện, dữ liệu có thể bị lỗi.
- Thu nhỏ phân vùng quá nhiều mà không kiểm tra dung lượng trống có thể dẫn đến lỗi hệ thống.
Gợi ý:
Nếu không tự tin, bạn có thể:
- Sử dụng file swap thay vì phân vùng swap để đơn giản hơn.
- Sao lưu toàn bộ ổ đĩa trước khi thực hiện để giảm rủi ro.
- Áp dụng thay đổi:
- Nhấn vào biểu tượng “✓” để áp dụng thay đổi. GParted sẽ thực hiện thay đổi kích thước phân vùng.
Tạo lại `swap` (nếu khó resize, cần cập nhật UUID trong `/etc/fstab`)
Nếu việc Resize gặp khó khăn, bạn có thể xóa
swap partcũ, và tạo lạiswap partvới UUID mới.Swap partxóa sẽ ghép vào để tạo thànhunallocated partmới với đủ size.Nếu tạo lại swap part, bạn cần phải cập nhật UUID của
swap partmới trong file/etc/fstab
Hướng dẫn cập nhật `/etc/fstab`
-
Sau khi tạo swap mới, cập nhật UUID của phân vùng swap mới trong file
/etc/fstab:#$ sudo blkid sudo nano /etc/fstabĐể write được file linux khi boot, bạn cần lưu ý hướng dẫn sau:
Cách write file, khi boot từ ngoài linux -
Đảm bảo dòng swap mới giống:
UUID=<UUID_mới> none swap sw 0 0
- Sau khi hoàn tất và khởi động lại vào linux (Ubuntu), kiểm tra lại UUID của phân vùng swap mới bằng lệnh:hoặc
sudo blkidsudo swapon --show - Mở file
/etc/fstabvà xác nhận UUID của phân vùng swap đúng với UUID mới (nếu UUID có thay đổi sau khi resize).
Resize swap file (swap được tạo bằng file trực tiếp)
Resize swap file trực tiếp, không cần boot từ ngoài linux như swap partition
Khi thay đổi dung lượng swap trên Ubuntu thông qua một file swap, bạn không cần khởi động lại từ bên ngoài hoặc dùng các công cụ chỉnh sửa phân vùng như khi resize một phân vùng swap.
Các file swap có thể dễ dàng tạo, xóa và thay đổi kích thước trực tiếp trong hệ điều hành mà không cần khởi động lại hoặc gây gián đoạn hoạt động. Điều này giúp tiết kiệm thời gian và dễ dàng quản lý hơn so với phân vùng swap truyền thống.
Để resize swap memory trong Ubuntu, bạn có thể làm theo các bước sau:
Bước 1: Tắt swap hiện tại
-
Mở Terminal.
-
Kiểm tra swap đang hoạt động:
sudo swapon --showNếu có dòng hiển thị swap đang hoạt động, ghi lại đường dẫn file swap này để dùng lại ở các bước sau.
-
Tắt swap hiện tại:
sudo swapoff -a
Bước 2: Xóa file swap cũ (nếu cần)
Nếu swap hiện tại là một file (thường là /swapfile), bạn có thể xóa file đó để tạo file mới với kích thước khác.
sudo rm -f /swapfile
Bước 3: Tạo file swap mới
-
Tạo file mới với kích thước bạn muốn (ở đây là ví dụ tạo file 4G):
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096Thay
4096bằng kích thước mong muốn tính bằng MB. -
Đặt quyền cho file swap:
sudo chmod 600 /swapfile -
Thiết lập file thành swap:
sudo mkswap /swapfile
Bước 4: Bật lại swap
Kích hoạt swap với file mới:
sudo swapon /swapfile
Bước 5: Cập nhật file /etc/fstab
Đảm bảo file swap mới sẽ tự động kích hoạt sau khi khởi động lại bằng cách thêm dòng này vào cuối file /etc/fstab (hoặc sửa lại nếu đã có):
/swapfile none swap sw 0 0
Bước 6: Kiểm tra lại swap
Kiểm tra lại dung lượng swap để xác nhận thay đổi:
sudo swapon --show