Thứ tư, 13/07/2016 | 00:00 GMT+7

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

Chuẩn bị một đĩa mới để sử dụng trên hệ thống Linux có thể nhanh chóng và dễ dàng. Có rất nhiều công cụ, định dạng hệ thống file và sơ đồ phân vùng có thể làm phức tạp quá trình nếu bạn có nhu cầu chuyên biệt, nhưng nếu bạn muốn cài đặt và chạy nhanh chóng, nó khá đơn giản.

Hướng dẫn này sẽ bao gồm quy trình sau:

  • Nhận dạng đĩa mới trên hệ thống.
  • Tạo một phân vùng duy nhất kéo dài 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 file )
  • Định dạng phân vùng bằng hệ thống file Ext4 (mặc định trong hầu hết các bản phân phối Linux hiện đại)
  • Gắn và cài đặt Tự động gắn hệ thống file khi khởi động

Cài đặt các công cụ

Để phân vùng ổ đĩa, ta sẽ sử dụng trình parted . Trong hầu hết các trường hợp, điều này sẽ được cài đặt trên server .

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

  • sudo apt-get update
  • sudo apt-get install parted

Nếu bạn đang sử dụng server CentOS hoặc Fedora, bạn có thể cài đặt nó bằng lệnh :

  • sudo yum install parted

Xác định đĩa mới trên hệ thống

Trước khi cài đặt ổ đĩa, ta cần xác định đúng cách nó trên server .

Nếu đây là một ổ đĩa hoàn toàn mới, cách dễ nhất để tìm nó trên server của bạn có thể là tìm sự vắng mặt của sơ đồ phân vùng. Nếu ta yêu cầu parted liệt kê bố cục phân vùng của các đĩa của ta , nó sẽ cho ta 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 dùng để giúp ta xác định đĩa mới:

  • sudo parted -l | grep Error

Bạn sẽ thấy lỗi unrecognized disk label mới, chưa được phân vùng:

Output
Error: /dev/sda: unrecognised disk label

Bạn cũng có thể sử dụng lệnh lsblk và tìm đĩa có kích thước chính xác không có phân vùng liên quan:

  • 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 /
Cảnh báo

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

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

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

Phân vùng ổ đĩa mới

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

Chọn tiêu chuẩn phân vùng

Để làm điều này, trước tiên ta cần xác định tiêu chuẩn phân vùng mà ta muốn sử dụng. GPT là tiêu chuẩn phân vùng hiện đại hơn, trong khi tiêu chuẩn MBR cung cấp hỗ trợ rộng rãi hơn giữa các hệ điều hành. Nếu bạn không có bất kỳ yêu cầu đặc biệt nào, có lẽ tốt hơn là sử dụng GPT tại thời điểm này.

Để chọn tiêu chuẩn GPT , hãy chuyển vào đĩa bạn đã xác định như sau:

  • sudo parted /dev/sda mklabel gpt

Nếu bạn muốn sử dụng định dạng MBR , hãy nhập định dạng này thay thế:

  • sudo parted /dev/sda mklabel msdos

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

Sau khi định dạng được chọn, bạn có thể tạo một phân vùng bao gồm toàn bộ ổ đĩa bằng lệnh :

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

Nếu ta kiểm tra lsblk , ta sẽ thấy phân vùng mới có sẵn:

  • 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 /

Tạo một hệ thống file trên phân vùng mới

Bây giờ ta đã có sẵn một phân vùng, ta có thể định dạng nó thành một hệ thống file Ext4. Để thực hiện việc này, hãy chuyển phân vùng tới tiện ích mkfs.ext4 .

Ta có thể thêm nhãn phân vùng bằng cách chuyển cờ -L . Chọn một tên sẽ giúp bạn xác định ổ đĩa cụ thể này:

Ghi chú
Đảm bảo rằng bạn chuyển vào phân vùng chứ 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 các đĩa này có một số được nối vào cuối. Vì vậy, ta muốn sử dụng thông tin như sda1 chứ không phải sda .

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

Nếu bạn muốn thay đổi nhãn 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 bạn bằng lsblk . Ta muốn tìm tên, nhãn và UUID của phân vùng.

Một số version của lsblk sẽ in tất cả thông tin này nếu ta nhập:

  • sudo lsblk --fs

Nếu version của bạn không hiển thị tất cả các trường thích hợp, bạn có thể yêu cầu chúng theo cách thủ công:

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

Bạn sẽ thấy thông tin như thế này. Đầu ra được đánh dấu cho biết các phương pháp khác nhau mà bạn có thể sử dụng để tham chiếu đến hệ thống file 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 /

Gắn hệ thống file mới

Bây giờ, ta có thể mount hệ thống file để sử dụng.

Tiêu chuẩn phân cấp hệ thống file khuyến nghị sử dụng /mnt hoặc một folder con bên dưới nó cho các hệ thống file được gắn tạm thời. Nó không đưa ra khuyến nghị về nơi lắp thêm bộ nhớ lâu dài, vì vậy bạn có thể chọn bất kỳ sơ đồ nào bạn muốn. Đối với hướng dẫn này, ta sẽ gắn ổ đĩa dưới /mnt/data .

Tạo folder bằng lệnh :

  • sudo mkdir -p /mnt/data

Gắn hệ thống file tạm thời

Bạn có thể tạm thời mount hệ thống file bằng lệnh :

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

Tự động gắn hệ thống file khi khởi động

Nếu bạn muốn tự động mount hệ thống file mỗi khi server khởi động, hãy điều chỉnh file /etc/fstab :

  • sudo nano /etc/fstab

Trước đó, ta đã phát hành sudo lsblk --fs để hiển thị ba mã định danh hệ thống file cho hệ thống file của ta . Ta có thể sử dụng bất kỳ cái nào trong số này trong file này. Ta đã sử dụng nhãn phân vùng bên dưới, nhưng bạn có thể thấy các dòng trông như thế nào bằng cách sử dụng hai số nhận dạng khác trong các dòng được chú thích:

/ 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 
Ghi chú

Bạn có thể tìm hiểu về các trường khác nhau trong file /etc/fstab bằng lệnh man fstab . Để biết thông tin về các tùy chọn mount có sẵn cho một loại hệ thống file cụ thể, hãy kiểm tra man [filesystem] (như man ext4 ). Hiện tại, các dòng mount ở trên sẽ giúp bạn bắt đầu.

Đối với SSD, tùy chọn discard đôi khi được thêm vào để bật TRIM liên tục. Có tranh luận về hiệu suất và tác động toàn vẹn của việc thực hiện TRIM liên tục theo cách này và hầu hết các bản phân phối bao gồm phương pháp thực hiện TRIM định kỳ như một phương pháp thay thế.

Lưu file khi bạn hoàn tất.

Nếu trước đây bạn không mount hệ thống file , bây giờ bạn có thể mount nó bằng lệnh :

sudo mount -a 

Kiểm tra Mount

Sau khi đã gắn ổ đĩa, ta nên kiểm tra đảm bảo rằng hệ thống file có thể truy cập được.

Ta có thể kiểm tra xem đĩa có sẵn trong kết quả hay không từ lệnh df :

  • df -h -x tmpfs -x devtmpfs
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 sẽ có thể lost+found folder lost+found trong folder /mnt/data , thường chỉ ra folder root của hệ thống file Ext *:

  • ls -l /mnt/data
Output
total 16 drwx------ 2 root root 16384 Jun 6 11:10 lost+found

Ta cũng có thể kiểm tra xem file được mount có khả năng đọc và ghi hay không bằng cách ghi vào file thử nghiệm:

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

Đọc lại file chỉ đảm bảo việc ghi được thực thi chính xác:

  • cat /mnt/data/test_file
Output
success

Bạn có thể xóa file sau khi đã xác minh hệ thống file mới đang hoạt động bình thường:

  • sudo rm /mnt/data/test_file

Kết luận

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


Tags:

Các tin liên quan

Cách thực hiện các tác vụ quản trị cơ bản cho thiết bị lưu trữ trong Linux
2016-07-13
Giới thiệu về thuật ngữ và khái niệm lưu trữ trong Linux
2016-07-13
Cách cấu hình BIND làm server DNS Mạng riêng trên Ubuntu 16.04
2016-05-09
cách cấu hình bind làm server lưu trữ hoặc chuyển tiếp DNS trên Ubuntu 16.04
2016-05-02
Cách cài đặt và cấu hình Postfix làm server SMTP chỉ gửi trên Ubuntu 16.04
2016-04-29
Cách lưu trữ server chia sẻ tệp bằng Pydio trên Ubuntu 14.04
2016-04-29
Thiết lập server ban đầu với Ubuntu 16.04
2016-04-21
Cách cài đặt Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 16.04
2016-04-21
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trong Ubuntu 16.04
2016-04-21
Cách cài đặt Linux, Nginx, MySQL, PHP ( LEMP) trong Ubuntu 16.04
2016-04-21