Bài 31: Dời phân vùng OS đến HDD hay USB stick

Việc sử dụng thẻ nhớ cho RPI có ưu điểm là nhỏ gọn, nhưng gặp phải ba trở ngại lớn.

  1. Tốc độ: thẻ nhớ chậm, cho dù dùng thẻ class 10 vẫn chậm hơn đáng kể so với ssd, hdd hay usb flash tốc độ cao.
  2. Dung lượng và giá: dung lượng thẻ nhớ khá hạn chế và thẻ nhớ dung lượng lớn như 128GB hay 256 GB giá còn quá cao.
  3. Độ bền: thẻ nhớ chóng hỏng nếu RPI thường chạy các ứng dụng truy xuất dữ liệu nhiều.

Vì vậy nếu có nhu cầu, chúng ta có thể nghĩ đến việc thay thế thẻ nhớ bằng SSD, HDD hay USB stick. Tuy nhiên vì RPI luôn khởi động từ thẻ nhớ nên chúng ta chỉ có thể di chuyển phân vùng OS và data sang phương tiện lưu trữ khác. Hệ thống của chúng ta sẽ rườm rà hơn: RPI với thẻ nhớ để khởi động, SSD/HDD/USB stick với các phân vùng cho OS và data chiếm một cổng usb và có thể cần được cấp nguồn riêng. Hệ thống như vậy thích hợp cho các hoạt động máy chủ trên RPI như file server, backup server, media server… hay dùng RPI để tải phim…

Chuyển OS  sang SSD/HDD/USB stick khá đơn giản, bao gồm các bước sau

  1. Trên SSD/HDD/USB stick tạo một phân vùng chứa OS (4-6GB) và một tạo phân vùng chứa dữ liệu chiếm hết phần còn lại bằng cách dùng diskpart  hay fdisk (xem Bài 25)
  2. Di chuyển các file OS sang phân vùng thứ nhất của HDD bằng cách dùng rsync (xem Bài 25)
  3. Biên tập lai file /boot/cmdline.txt trên thẻ nhớ để quá trình boot tiếp tục trên HDD
    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait
  4. Biên tập file /etc/fstab để RPI luôn luôn mount phân vùng OS và data trên SSD/HDD/USB stick bằng cách thêm các dòng
/dev/sda1   /      ext4   defaults   0   1
/dev/sda2   /mnt   ext4   defaults   0   0

Chú thích:

  • Tên thiết bị có thể thay bằng UUID
pi@RPI-21:/# blkid /dev/sda1
/dev/sda1: UUID="8fa6ce65-ee4a-4278-a4f7-63ba88520b50" TYPE="ext4"

Đổi khai báo trong fstab thành

UUID=8fa6ce65-ee4a-4278-a4f7-63ba88520b50   /   ext4   defaults   0   1
  • Có thể tạo swap partition trên SSD/HDD

1. Xóa swap file

swapoff -a
update-rc.d -f dphys-swapfile remove
rm /var/swap

2. Chỉ cần thêm một dòng vào /etc/fstab (giả sử partition dùng làm swap là /dev/sda3) rồi reboot

/dev/sda3   swap   swap   defaults   0   0

Hoặc tạo swap partition (giả sử partition dùng làm swap là /dev/sda3)

mkswap /dev/sda3
swapon

Leave a Comment

Filed under Software

Leave a Reply