Lệnh mount trong Linux — Cách gắn thiết bị vào hệ thống

Bạn đã bao giờ rơi vào tình huống đang quản trị một hệ thống VPS mà bỗng nhiên một ổ đĩa cứng mới được gắn thêm vào, hay một phân vùng dữ liệu quan trọng lại không hiển thị trong hệ thống chưa nhỉ? Đây chính là lúc bạn cần đến sức mạnh của lệnh mount. Thực chất, mount là một công cụ thiết yếu giúp gắn các thiết bị lưu trữ vào cấu trúc cây thư mục của hệ điều hành. Vậy mount là gì và làm thế nào để chúng ta có thể kết nối dữ liệu một cách an toàn nhất? Trong vai trò một Senior System Admin, tôi đã vô cùng thường xuyên sử dụng lệnh mount Linux này để mở rộng dung lượng lưu trữ cho máy chủ hoặc khôi phục dữ liệu từ các ổ đĩa cứu hộ trong những tình huống khẩn cấp. Tất nhiên, việc nắm vững cách dùng mount sẽ giúp bạn làm chủ hoàn toàn việc cách mount ổ đĩa vào hệ thống một cách mượt mà và chính xác nhất, đúng không nào?

Cần chuẩn bị gì trước khi dùng lệnh mount?

  • Quyền người dùng: Yêu cầu quyền quản trị cao nhất (root) hoặc sử dụng tiền tố sudo để thực thi lệnh.
  • Hệ điều hành hỗ trợ: Hoạt động trên hầu hết các bản phân phối Linux (Ubuntu, Debian, CentOS, RHEL, Fedora...) và các hệ điều hành dựa trên Unix.
  • Thiết bị gắn kết: Cần xác định chính xác phân vùng thiết bị (ví dụ: /dev/sdb1) hoặc tệp tin hình ảnh (file image) cần được mount.
  • Hệ thống tệp (File system): Thiết bị cần được định dạng với một hệ thống tệp tương thích (như ext4, xfs, vfat, ntfs) và kernel phải hỗ trợ driver cho hệ thống tệp đó.

Cú pháp lệnh mount là gì?

Lệnh mount hỗ trợ nhiều dạng cú pháp khác nhau tùy thuộc vào hệ thống tệp và thiết bị trên Linux.

mount [OPTIONS] DEVICE DIRECTORY
mount [OPTIONS] -t TYPE DEVICE DIRECTORY
mount [OPTIONS] -a
# Lệnh mount

Các tùy chọn của lệnh mount là gì?

Lệnh mount cung cấp nhiều tùy chọn để kiểm soát cách gắn kết hệ thống tệp, bao gồm các chế độ gắn kết, quyền truy cập, và các thông số kỹ thuật khác.

Tùy chọn ngắn Tùy chọn dài Mô tả
-a --all mount -a gắn kết tất cả các hệ thống tệp được liệt kê trong tệp /etc/fstab.
-r --read-only mount -r gắn kết hệ thống tệp ở chế độ chỉ đọc, không cho phép ghi dữ liệu.
-w --rw mount -w gắn kết hệ thống tệp ở chế độ đọc-ghi (mặc định).
-t --types mount -t TYPE chỉ định kiểu hệ thống tệp (ví dụ: ext4, ntfs, vfat).
-o --options mount -o OPTIONS cung cấp danh sách các tùy chọn gắn kết được phân tách bằng dấu phẩy (ví dụ: noexec, nosuid, nodev).
-n --no-mtab mount -n gắn kết hệ thống tệp mà không cập nhật tệp /etc/mtab.
-L --label mount -L LABEL gắn kết hệ thống tệp theo nhãn (label) của nó thay vì theo tên thiết bị.
-U --uuid mount -U UUID gắn kết hệ thống tệp theo UUID thay vì theo tên thiết bị.
-B --bind mount -B gắn kết một thư mục vào điểm gắn khác mà không cần điểm gắn kết riêng.
-R --rbind mount -R gắn kết đệ quy một thư mục và tất cả các thư mục con của nó.
--make-shared mount --make-shared chia sẻ các thay đổi gắn kết với các namespace khác.
--make-private mount --make-private làm cho các thay đổi gắn kết riêng tư cho namespace hiện tại.
-v --verbose mount -v hiển thị thông tin chi tiết về quá trình gắn kết.
--list mount --list liệt kê tất cả các hệ thống tệp được gắn kết hiện tại.

xem thêm: Disk and File System Utilities

Lệnh mount được sử dụng như thế nào trong thực tế?

Phần này trình bày các kịch bản gắn kết thiết bị lưu trữ vào hệ thống tệp trong các môi trường quản trị hệ thống thực tế.

mount là gì? [Gắn thiết bị vào thư mục mặc định]

sudo mount /dev/sdb1 /mnt
/mnt

Lệnh thực hiện gắn phân vùng /dev/sdb1 vào điểm gắn kết /mnt. Trong thực tế, đây là bước đầu tiên để truy cập dữ liệu từ một ổ cứng rời hoặc phân vùng mới được thêm vào hệ thống.

mount -t là gì? [Chỉ định định dạng hệ thống tệp]

sudo mount -t ntfs /dev/sdc1 /media/usb
/media/usb

Tham số -t cho phép xác định cụ thể loại hệ thống tệp là NTFS. Trên môi trường production, việc chỉ định rõ loại định dạng giúp hệ điều hành tránh nhầm lẫn và tăng tốc độ nhận diện thiết bị.

mount -a là gì? [Gắn tất cả thiết bị theo cấu hình]

sudo mount -a

Lệnh này đọc tệp /etc/fstab và thực hiện gắn tất cả các thiết bị được cấu hình sẵn. Trong thực tế, sysadmin thường sử dụng lệnh này sau khi chỉnh sửa file fstab để kiểm tra lỗi cấu hình trước khi khởi động lại hệ thống.

mount -o remount là gì? [Thay đổi tùy chọn khi đang chạy]

sudo mount -o remount,rw /
/

Tham số -o remount cho phép thay đổi trạng thái của hệ thống tệp mà không cần ngắt kết nối. Trong các trường hợp khẩn cấp khi phân vùng hệ thống bị chuyển sang chế độ chỉ đọc (read-only), lệnh này giúp chuyển đổi nhanh sang chế độ đọc-ghi (rw) để sửa lỗi.

mount kết hợp với các tùy chọn nâng cao là gì? [Gắn thiết bị với quyền kiểm soát]

sudo mount -o loop,ro image.iso /mnt/iso
/mnt/iso

Lệnh sử dụng tùy chọn loop để gắn một tệp tin ảnh (image file) và chế độ ro (read-only) để ngăn chặn việc ghi dữ liệu. Trong các kịch bản automation hoặc deploy, cách tiếp cận này đảm bảo tính toàn vẹn của tệp nguồn khi cần truy xuất nội dung bên trong.

Tại sao lệnh mount không hoạt động hoặc báo lỗi?

Dưới đây là các tình huống lỗi phổ biến phát sinh khi thực hiện gắn kết thiết bị vào hệ thống tệp trong quá trình quản trị Linux.

Lỗi thiếu quyền quản trị (Permission denied)

mount /dev/sdb1 /mnt/data
mount: /mnt/data: permission denied

Lệnh mount yêu cầu đặc quyền root để can thiệp vào cấu trúc hệ thống tệp.

Lỗi thiết bị không tồn tại hoặc sai tên thiết bị

mount /dev/sdc1 /mnt/backup
mount: /dev/sdc1: cannot find in /dev/

Hệ thống không tìm thấy thiết bị tại đường dẫn được cung cấp, thường do tên thiết bị bị thay đổi hoặc chưa được nhận diện.

Lỗi điểm gắn kết không tồn tại

mount /dev/sdb1 /mnt/non_existent_folder
mount: /mnt/non_existent_folder: mount point does not exist

Thư mục dùng làm điểm gắn kết (mount point) chưa được tạo trên hệ thống tệp hiện tại.

Lỗi sai định dạng hệ thống tệp

mount /dev/sdb1 /mnt/data
mount: /dev/sdb1: wrong fs type, bad option, bad superblock on /dev/sdb1, or missing codepage or helper program, or wrong \encoding

Hệ thống không thể tự động nhận diện định dạng phân vùng hoặc thiếu các gói driver hỗ trợ hệ thống tệp đó (ví dụ: ntfs-3g cho NTFS).

Thiết bị đang được sử dụng bởi một tiến trình khác

mount /dev/sdb1 /mnt/data
mount: /dev/sdb1 is already mounted or in use

Thiết bị đã được gắn kết vào một thư mục khác hoặc đang bị chiếm dụng bởi một tiến trình đọc/ghi dữ liệu.

Quy trình thực tế sử dụng mount trong quản trị hệ thống lưu trữ Linux?

Trong kịch bản triển khai một máy chủ cơ sở dữ liệu, lệnh mount được sử dụng như một phần của quy trình chuẩn bị phân vùng ổ cứng mới để lưu trữ dữ liệu.

Bước 1: Kiểm tra danh sách các thiết bị lưu trữ hiện có

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 256G  0 disk 
└─sda1        8:1    0 256G  0 part 
sdb           8:16   0 500G  0 disk 
└─sdb1        8:17   0 500G  0 part 

Lệnh này giúp xác định tên thiết bị (ví dụ: sdb1) và dung lượng thực tế của ổ cứng trước khi thực hiện gắn kết.

Bước 2: Tạo điểm gắn kết (Mount Point) trên hệ thống tệp

sudo mkdir -p /mnt/data

Lệnh này thiết lập một thư mục trống đóng vai trò là điểm truy cập vào phân vùng lưu trữ mới.

sudo mount /dev/sdb1 /mnt/data
[success]

Lệnh mount cho phép bạn kết nối thiết bị vật lý sdb1 vào thư mục /mnt/data để bắt đầu ghi dữ liệu.

Bước 4: Xác nhận trạng thái gắn kết thành công

df -h | grep /mnt/data
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       500G   24K  500G   1% /mnt/data

Kết quả hiển thị xác nhận phân vùng đã được mount thành công và hiển thị dung lượng khả dụng của thiết bị.

Việc sử dụng lệnh mount trên VPS đòi hỏi sự chính xác về tham số để tránh lỗi hệ thống. Trong các trường hợp cấu hình tệp /etc/fstab sai cú pháp, hệ thống VPS có thể gặp lỗi không khởi động được sau khi reboot. Khi thực hiện mount các ổ đĩa ngoài hoặc partition mới, người quản trị cần kiểm tra kỹ điểm gắn kết (mount point) đã tồn tại hay chưa bằng lệnh mkdir. Một lỗi phổ biến khi mount các phân vùng Windows (NTFS) trên VPS Linux là thiếu driver ntfs-3g, dẫn đến việc chỉ cho phép đọc (read-only) mà không thể ghi dữ liệu. Ví dụ, lệnh mount -t ntfs-3g /dev/sdb1 /mnt/data cho phép quyền ghi đầy đủ. Ngoài ra, việc sử dụng tùy chọn noexec trong lệnh mount sẽ ngăn chặn việc thực thi các file script trực tiếp từ phân vùng đó, gây khó khăn khi chạy các tiến trình deploy tự động.

Những câu hỏi thường gặp về lệnh mount?

Dưới đây là tổng hợp các thắc mắc phổ biến nhất khi người dùng thực hiện thao tác gắn kết thiết bị vào hệ thống tệp tin.

Làm thế nào để kiểm tra các thiết bị đang được mount?

Bạn có thể sử dụng lệnh mount mà không kèm tham số để liệt kê tất cả các thiết bị đang được gắn kết vào hệ thống.

mount
/dev/sda1 on / type ext4 (rw,relatime)

Cách mount một thiết bị USB vào một thư mục cụ thể?

Để mount một phân vùng, bạn cần chỉ định thiết bị nguồn và điểm gắn kết (mount point) đã được tạo sẵn.

sudo mount /dev/sdb1 /mnt/usb

Làm thế nào để ngắt kết nối (unmount) một thiết bị?

Sử dụng lệnh umount để ngắt kết nối thiết bị khỏi hệ thống tệp tin một cách an toàn.

sudo umount /mnt/usb

Làm sao để mount thiết bị ở chế độ chỉ đọc (read-only)?

Tham số -o ro cho phép bạn gắn kết thiết bị mà không thể thực hiện các thao tác ghi dữ liệu.

sudo mount -o ro /dev/sdb1 /mnt/usb

Tại sao gặp lỗi "target is busy" khi dùng lệnh umount?

Lỗi này xảy ra khi có một tiến trình hoặc một terminal đang truy cập vào thư mục gắn kết. Bạn cần thoát khỏi thư mục đó hoặc đóng các ứng dụng đang sử dụng thiết bị.

cd /
sudo umount /mnt/usb

Làm thế nào để tự động mount thiết bị khi khởi động hệ thống?

Bạn cần cấu hình thông tin thiết bị vào tệp tin /etc/fstab để hệ thống thực hiện việc gắn kết tự động.

# Thêm dòng sau vào /etc/fstab
/dev/sdb1  /mnt/usb  ext4  defaults  0  2

Cách mount phân vùng Windows (NTFS) trên Linux?

Bạn cần cài đặt gói hỗ trợ ntfs-3g để có thể đọc và ghi dữ liệu trên định dạng NTFS.

sudo mount -t ntfs-3g /dev/sdb2 /mnt/windows

Lệnh mount là công cụ thiết yếu giúp bạn gắn các thiết bị lưu trữ hoặc hệ thống tệp vào cây thư mục của Linux để bắt đầu truy cập dữ liệu. Bạn có thể sử dụng tham số -t để chỉ định định dạng hệ thống tệp như ext4 hay ntfs, cũng như tùy chọn -o để cấu hình các quyền truy cập cụ thể, giúp việc quản lý thiết bị trở nên vô cùng linh hoạt, đúng không nhỉ? Việc nắm vững cách điều phối các phân vùng sẽ giúp công việc quản trị hệ thống của bạn trở nên mượt mà và chuyên nghiệp hơn rất nhiều. Chúc bạn thành công!