CyStack logo
  • Sản phẩm & Dịch vụ
  • Giải pháp
  • Bảng giá
  • Công ty
  • Tài liệu
Vi

vi

Trang chủHướng dẫnHướng dẫn phân vùng và định dạng thiết bị lưu trữ trong Linux

Hướng dẫn phân vùng và định dạng thiết bị lưu trữ trong Linux

CyStack blog 8 phút để đọc
CyStack blog06/10/2025
Locker Avatar

Chris Pham

Technical Writer

Locker logo social
Reading Time: 8 minutes

Chuẩn bị một ổ đĩa mới để sử dụng trên hệ thống Linux là một quá trình khá đơn giản. Có nhiều công cụ, định dạng hệ thống tệp (filesystem) và sơ đồ phân vùng khác nhau có thể làm thay đổi quá trình này nếu bạn có nhu cầu đặc thù, nhưng những nguyên tắc cơ bản thì vẫn giống nhau.

phân vùng và định dạng thiết bị lưu trữ trong Linux

Hướng dẫn này sẽ bao gồm các bước sau:

  1. Xác định ổ đĩa mới trên hệ thống.
  2. Tạo một phân vùng duy nhất bao phủ toàn bộ ổ đĩa (hầu hết các hệ điều hành đều mong đợi một bố cục phân vùng, ngay cả khi chỉ có một hệ thống tệp duy nhất).
  3. Định dạng phân vùng với hệ thống tệp Ext4 (mặc định trong hầu hết các bản phân phối Linux hiện đại).
  4. Gắn kết (mount) và thiết lập tự động gắn kết (auto-mount) hệ thống tệp khi khởi động.

Bước 1 – Cài đặt Parted

Để phân vùng ổ đĩa, bạn sẽ sử dụng tiện ích parted. Phần lớn các lệnh cần thiết để làm việc với hệ thống tệp mức thấp đều có sẵn mặc định trên Linux. Trong số đó, parted ****(dùng để tạo phân vùng) là một trong những ngoại lệ hiếm hoi không phải lúc nào cũng được cài sẵn.

Nếu bạn đang sử dụng máy chủ Ubuntu hoặc Debian và chưa cài đặt parted, bạn có thể cài bằng lệnh sau:

$ sudo apt update
$ sudo apt install parted

Nếu bạn đang sử dụng máy chủ RHEL, Rocky Linux hoặc Fedora, bạn có thể cài đặt nó bằng cách gõ lệnh:

$ sudo dnf install parted

Mọi lệnh khác được sử dụng trong hướng dẫn này đều đã được cài đặt sẵn, vì vậy bạn có thể chuyển sang bước tiếp theo.

Bước 2 – Xác định ổ đĩa mới trên hệ thống

Trước khi thiết lập ổ đĩa, bạn cần có khả năng xác định chính xác nó trên máy chủ.

Nếu đây là một ổ đĩa hoàn toàn mới, một cách để nhận diện nó trên máy chủ là kiểm tra sự vắng mặt của sơ đồ phân vùng. Nếu bạn yêu cầu parted liệt kê bố cục phân vùng của các ổ đĩa, nó sẽ báo lỗi đối với bất kỳ ổ đĩa nào không có sơ đồ phân vùng hợp lệ. Điều này có thể được sử dụng để giúp nhận diện ổ đĩa mới:

$ sudo parted -l | grep Error

Bạn sẽ thấy một lỗi unrecognized disk label (nhãn đĩa không nhận dạng được) đối với ổ đĩa mới chưa được phân vùng:

Output
Error: /dev/sda: unrecognized disk label

Bạn cũng có thể sử dụng lệnh lsblk và tìm một ổ đĩa có dung lượng phù hợp nhưng không có phân vùng nào đi kèm:

$ lsblk
Output
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk 
vda    253:0    0    20G  0 disk 
└─vda1 253:1    0    20G  0 part /

Lưu ý: Hãy nhớ kiểm tra lsblk mỗi khi bạn kết nối lại vào máy chủ trước khi thực hiện thay đổi. Các định danh ổ đĩa như /dev/sd*/dev/hd* không nhất thiết sẽ giữ nguyên giữa các lần khởi động, điều đó có nghĩa là có nguy cơ phân vùng hoặc định dạng nhầm ổ đĩa nếu bạn không xác minh chính xác định danh ổ đĩa.

Hãy cân nhắc sử dụng các định danh ổ đĩa bền vững hơn, chẳng hạn như: /dev/disk/by-uuid, /dev/disk/by-label, hoặc /dev/disk/by-id. Xem thêm bài viết Giới thiệu về khái niệm và thuật ngữ lưu trữ trong Linux để biết thêm thông tin chi tiết.

Khi bạn đã biết tên mà kernel gán cho ổ đĩa của mình, bạn có thể tiến hành phân vùng cho ổ đĩa đó.

Bước 3 – Phân vùng ổ đĩa mới

Như đã đề cập trong phần giới thiệu, trong hướng dẫn này bạn sẽ tạo một phân vùng duy nhất bao phủ toàn bộ ổ đĩa.

Chọn chuẩn phân vùng

Để thực hiện điều này, trước tiên bạn cần chỉ định chuẩn phân vùng sẽ sử dụng. Có hai tùy chọn: GPT và MBR. GPT là chuẩn hiện đại hơn. MBR lại được hỗ trợ rộng rãi hơn trên các hệ điều hành cũ. Đối với một máy chủ đám mây thông thường, GPT là lựa chọn tốt hơn. Để chọn chuẩn GPT, hãy truyền ổ đĩa mà bạn đã xác định vào lệnh parted với tham số mklabel gpt:

$ sudo parted /dev/sda mklabel gpt

Để sử dụng định dạng MBR, hãy dùng lệnh mklabel msdos:

$ sudo parted /dev/sda mklabel msdos

Tạo phân vùng mới

Sau khi đã chọn định dạng, bạn có thể tạo một phân vùng bao phủ toàn bộ ổ đĩa bằng cách sử dụng lệnh parted -a:

$ sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%

Bạn có thể phân tích lệnh này như sau:

  • parted -a opt: chạy tiện ích parted, thiết lập kiểu căn chỉnh mặc định tối ưu.
  • /dev/sda: là ổ đĩa mà bạn muốn phân vùng.
  • mkpart primary ext4: tạo một phân vùng độc lập (có thể khởi động, không mở rộng từ phân vùng khác) và sử dụng hệ thống tệp ext4.
  • 0% 100%: nghĩa là phân vùng này sẽ trải dài từ đầu đến cuối của ổ đĩa.

Để biết thêm thông tin chi tiết, hãy tham khảo trang manual của parted.

Nếu bạn kiểm tra bằng lsblk, bạn sẽ thấy phân vùng mới đã được tạo:

$ lsblk
Output
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk 
└─sda1   8:1    0   100G  0 part 
vda    253:0    0    20G  0 disk 
└─vda1 253:1    0    20G  0 part /

Bây giờ bạn đã tạo được một phân vùng mới, nhưng nó vẫn chưa được khởi tạo thành một hệ thống tệp. Sự khác biệt giữa hai bước này có phần mang tính quy ước, và đặc trưng cho cách mà hệ thống tệp Linux hoạt động, nhưng trên thực tế chúng vẫn là hai bước riêng biệt.

Bước 4 – Tạo hệ thống tệp (Filesystem) trên phân vùng mới

Bây giờ bạn đã có một phân vùng, bạn có thể khởi tạo nó thành hệ thống tệp Ext4. Ext4 không phải là tùy chọn duy nhất, nhưng nó là lựa chọn đơn giản nhất cho một ổ Linux độc lập. Windows sử dụng các hệ thống tệp như NTFSexFAT, nhưng chúng có hỗ trợ hạn chế trên các nền tảng khác (nghĩa là đôi khi chỉ có thể đọc, không thể ghi, và không thể dùng làm ổ khởi động cho các hệ điều hành khác). macOS sử dụng HFS+APFS, với những hạn chế tương tự. Ngoài ra còn có các hệ thống tệp Linux mới hơn Ext4, chẳng hạn như ZFSBTRFS, nhưng chúng yêu cầu cấu hình khác và thường phù hợp hơn cho mảng nhiều ổ đĩa (multi-disk arrays).

Để khởi tạo một hệ thống tệp Ext4, hãy sử dụng tiện ích mkfs.ext4. Bạn có thể thêm nhãn (label) cho phân vùng bằng cờ -L. Hãy chọn một tên giúp bạn dễ dàng nhận diện ổ đĩa này: Lưu ý: Hãy đảm bảo rằng bạn cung cấp đường dẫn đến phân vùng, không phải toàn bộ ổ đĩa. Trong Linux, các ổ đĩa có tên như sda, sdb, hda, v.v. Các phân vùng trên những ổ đĩa này sẽ có thêm một số ở cuối tên. Vì vậy, bạn nên sử dụng sda1 thay vì sda.

$ sudo mkfs.ext4 -L datapartition /dev/sda1

Nếu bạn muốn thay đổi nhãn (label) của phân vùng sau này, bạn có thể sử dụng lệnh e2label:

$ sudo e2label /dev/sda1 newlabel

Bạn có thể xem tất cả các cách khác nhau để xác định phân vùng của mình bằng lsblk. Bạn sẽ thấy tên, nhãn (label), và UUID của phân vùng.

Một số phiên bản của lsblk sẽ hiển thị tất cả thông tin này với tham số --fs:

$ sudo lsblk --fs

Bạn cũng có thể chỉ định chúng thủ công với lsblk -o theo sau là các tùy chọn tương ứng:

$ sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT

Bạn sẽ nhận được đầu ra như thế này. Phần được đánh dấu cho thấy các phương pháp khác nhau mà bạn có thể dùng để tham chiếu đến hệ thống tập tin mới:

Output
NAME   FSTYPE LABEL         UUID                                 MOUNTPOINT
sda                                                              
└─sda1 ext4   datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda 
vda                                                              
└─vda1 ext4   DOROOT        050e1e34-39e6-4072-a03e-ae0bf90ba13a /

Hãy ghi chú lại đầu ra này, vì bạn sẽ sử dụng nó khi mount (gắn kết) hệ thống tập tin trong bước tiếp theo.

Bước 5 – Mount hệ thống tập tin mới

Bây giờ, bạn có thể mount hệ thống tập tin để sử dụng.

Theo Filesystem Hierarchy Standard, nên dùng thư mục /mnt hoặc một thư mục con trong đó cho các hệ thống tập tin được mount tạm thời (như ổ đĩa rời). Tiêu chuẩn này không đưa ra khuyến nghị về vị trí mount cho bộ nhớ lưu trữ lâu dài, vì vậy bạn có thể chọn sơ đồ mount theo ý muốn. Trong hướng dẫn này, bạn sẽ mount ổ đĩa vào thư mục /mnt/data. Tạo thư mục đó bằng lệnh mkdir:

$ sudo mkdir -p /mnt/data

Mount hệ thống tập tin tạm thời

Bạn có thể mount hệ thống tập tin tạm thời bằng cách gõ lệnh:

$ sudo mount -o defaults /dev/sda1 /mnt/data

Mount hệ thống tập tin tự động khi khởi động

Để mount hệ thống tập tin tự động mỗi khi máy chủ khởi động, bạn sẽ thêm một mục vào file /etc/fstab. File này chứa thông tin về tất cả các ổ đĩa gắn kết vĩnh viễn hoặc thường xuyên được mount trong hệ thống của bạn. Mở file này bằng nano hoặc trình soạn thảo văn bản bạn yêu thích:

$ sudo nano /etc/fstab

Ở bước trước, bạn đã sử dụng lệnh sudo lsblk --fs để hiển thị các định danh cho hệ thống tập tin của mình. Bạn có thể dùng bất kỳ định danh nào trong số này trong file cấu hình. Ví dụ dưới đây sử dụng nhãn (label) của phân vùng, nhưng bạn cũng có thể thấy các dòng lệnh sẽ trông như thế nào khi dùng hai định danh còn lại trong các dòng được ghi chú (commented out):

/etc/fstab
. . .
## Use one of the identifiers you found to reference the correct partition
# /dev/sda1 /mnt/data ext4 defaults 0 2
# UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2
LABEL=datapartition /mnt/data ext4 defaults 0 2

Ngoài phần LABEL=datapartition, các tùy chọn này hoạt động như sau:

  • /mnt/data: là đường dẫn nơi ổ đĩa được mount.
  • ext4: cho biết đây là phân vùng định dạng Ext4.
  • defaults: có nghĩa là ổ này sẽ được mount với các tùy chọn mặc định, ví dụ như hỗ trợ đọc–ghi (read-write).
  • 0 2: chỉ ra rằng hệ thống tập tin sẽ được kiểm tra (validate) bởi máy cục bộ trong trường hợp có lỗi, nhưng với mức ưu tiên thứ 2, sau phân vùng root (/). Lưu ý: Bạn có thể tìm hiểu về các trường khác nhau trong file /etc/fstab bằng cách xem trang hướng dẫn (man page) của nó. Để biết thông tin về các tùy chọn mount có sẵn cho một loại hệ thống tập tin cụ thể, hãy xem trang hướng dẫn tương ứng bằng lệnh man [filesystem] (ví dụ: man ext4).

Lưu và đóng file sau khi bạn hoàn tất. Nếu bạn đang sử dụng nano, hãy nhấn Ctrl+X, sau đó khi được hỏi xác nhận thì nhấn Y rồi nhấn Enter.

Nếu trước đó bạn chưa mount hệ thống tập tin, bây giờ bạn có thể mount nó bằng lệnh mount -a:

sudo mount -a

Kiểm tra Mount

Sau khi bạn đã mount ổ đĩa, chúng ta nên kiểm tra để đảm bảo rằng hệ thống tập tin có thể truy cập được.

Bạn có thể kiểm tra xem ổ đĩa có khả dụng trong kết quả đầu ra từ lệnh df hay không. Đôi khi, df sẽ bao gồm thông tin không cần thiết về hệ thống tệp tạm thời được gọi là tmpfs trong kết quả đầu ra của df, bạn có thể loại trừ thông tin này bằng cách thêm -x tmpfs:

$ df -h -x tmpfs
Output
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.3G   18G   7% /
/dev/sda1        99G   60M   94G   1% /mnt/data

Bạn cũng có thể kiểm tra xem ổ đĩa đã được mount với quyền đọc và ghi hay chưa bằng cách ghi vào một file thử nghiệm:

$ echo "success" | sudo tee /mnt/data/test_file

Đọc lại file để đảm bảo rằng thao tác ghi đã được thực hiện chính xác:

$ cat /mnt/data/test_file
Output
success

Bạn có thể xóa file sau khi đã xác nhận rằng hệ thống tập tin mới hoạt động chính xác:

$ sudo rm /mnt/data/test_file

Kết luận

Ổ đĩa mới của bạn hiện đã được phân vùng, định dạng, mount và sẵn sàng để sử dụng. Đây là quy trình tổng quát mà bạn có thể dùng để chuyển một ổ đĩa thô thành hệ thống tập tin mà Linux có thể dùng để lưu trữ. Có những phương pháp phức tạp hơn để phân vùng, định dạng và mount, có thể phù hợp hơn trong một số trường hợp, nhưng những bước trên là điểm khởi đầu tốt cho mục đích sử dụng chung.

Tiếp theo, bạn có thể muốn tìm hiểu cách sử dụng SSHFS để mount các ổ đĩa từ xa thông qua SSH.

0 Bình luận

Đăng nhập để thảo luận

Chuyên mục Hướng dẫn

Tổng hợp các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của CyStack sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.

Đăng ký nhận Newsletter

Nhận các nội dung hữu ích mới nhất